Merge branch 'remove-warnings' into 'develop'

Remove warnings



See merge request !27
This commit is contained in:
Cedric Roux
2016-03-31 16:07:23 +02:00
102 changed files with 447 additions and 286 deletions
+4 -4
View File
@@ -9,13 +9,13 @@ RRC_Rel10=(
X2AP_Rel11_2=( X2AP_Rel11_2=(
"X2ap-CriticalityDiagnostics-IE-List.h" ae96308b37fcbcbf39da5012e42968135fc5f27b "fix_asn1.data/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff" "X2ap-CriticalityDiagnostics-IE-List.h" ae96308b37fcbcbf39da5012e42968135fc5f27b "fix_asn1.data/X2AP.rel11.2/X2ap-CriticalityDiagnostics-IE-List.h.diff"
"NativeInteger.c" 9f173e87daa1e7378618dbb060a10aae752d74be "fix_asn1.data/X2AP.rel11.2/NativeInteger.c.diff" "NativeInteger.c" 1a55f5402fd363318cf5444ffe1f67530dcf66ff "fix_asn1.data/X2AP.rel11.2/NativeInteger.c.diff"
"constr_SET_OF.c" 5c8765a1e0fc44a48e406d0aa7628004bf3aac2a "fix_asn1.data/X2AP.rel11.2/constr_SET_OF.c.diff" "constr_SET_OF.c" 808cbbdf19b118c0bdb04e3acf2cbe6e4133be2b "fix_asn1.data/X2AP.rel11.2/constr_SET_OF.c.diff"
) )
S1AP_Rel10_5=( S1AP_Rel10_5=(
"NativeInteger.c" 9f173e87daa1e7378618dbb060a10aae752d74be "fix_asn1.data/S1AP.rel10.5/NativeInteger.c.diff" "NativeInteger.c" 1a55f5402fd363318cf5444ffe1f67530dcf66ff "fix_asn1.data/S1AP.rel10.5/NativeInteger.c.diff"
"constr_SET_OF.c" 5c8765a1e0fc44a48e406d0aa7628004bf3aac2a "fix_asn1.data/S1AP.rel10.5/constr_SET_OF.c.diff" "constr_SET_OF.c" 808cbbdf19b118c0bdb04e3acf2cbe6e4133be2b "fix_asn1.data/S1AP.rel10.5/constr_SET_OF.c.diff"
) )
red_color="$(tput setaf 1)" red_color="$(tput setaf 1)"
@@ -177,7 +177,6 @@ hashtable_rc_t hashtable_dump_content (const hash_table_t * const hashtblP, char
{ {
hash_node_t *node = NULL; hash_node_t *node = NULL;
unsigned int i = 0; unsigned int i = 0;
unsigned int num_elements = 0;
if (hashtblP == NULL) { if (hashtblP == NULL) {
*remaining_bytes_in_buffer_pP = snprintf( *remaining_bytes_in_buffer_pP = snprintf(
buffer_pP, buffer_pP,
+2
View File
@@ -54,7 +54,9 @@ uint64_t vcd_mp_free;
#endif #endif
/*------------------------------------------------------------------------------*/ /*------------------------------------------------------------------------------*/
#ifndef CHARS_TO_UINT32
#define CHARS_TO_UINT32(c1, c2, c3, c4) (((c1) << 24) | ((c2) << 16) | ((c3) << 8) | (c4)) #define CHARS_TO_UINT32(c1, c2, c3, c4) (((c1) << 24) | ((c2) << 16) | ((c3) << 8) | (c4))
#endif
#define MEMORY_POOL_ITEM_INFO_NUMBER 2 #define MEMORY_POOL_ITEM_INFO_NUMBER 2
+5 -5
View File
@@ -128,8 +128,8 @@ void phy_config_sib2_eNB(uint8_t Mod_id,
{ {
LTE_DL_FRAME_PARMS *lte_frame_parms = &PHY_vars_eNB_g[Mod_id][CC_id]->lte_frame_parms; LTE_DL_FRAME_PARMS *lte_frame_parms = &PHY_vars_eNB_g[Mod_id][CC_id]->lte_frame_parms;
LTE_eNB_UE_stats *eNB_UE_stats = PHY_vars_eNB_g[Mod_id][CC_id]->eNB_UE_stats; //LTE_eNB_UE_stats *eNB_UE_stats = PHY_vars_eNB_g[Mod_id][CC_id]->eNB_UE_stats;
int32_t rx_total_gain_eNB_dB = PHY_vars_eNB_g[Mod_id][CC_id]->rx_total_gain_eNB_dB; //int32_t rx_total_gain_eNB_dB = PHY_vars_eNB_g[Mod_id][CC_id]->rx_total_gain_eNB_dB;
int i; int i;
LOG_D(PHY,"[eNB%d] CCid %d Frame %d: Applying radioResourceConfigCommon\n",Mod_id,CC_id,PHY_vars_eNB_g[Mod_id][CC_id]->proc[8].frame_tx); LOG_D(PHY,"[eNB%d] CCid %d Frame %d: Applying radioResourceConfigCommon\n",Mod_id,CC_id,PHY_vars_eNB_g[Mod_id][CC_id]->proc[8].frame_tx);
@@ -683,11 +683,11 @@ void phy_config_dedicated_scell_eNB(uint8_t Mod_id,
int CC_id) int CC_id)
{ {
PHY_VARS_eNB *phy_vars_eNB = PHY_vars_eNB_g[Mod_id][CC_id]; //PHY_VARS_eNB *phy_vars_eNB = PHY_vars_eNB_g[Mod_id][CC_id];
uint8_t UE_id = find_ue(rnti,PHY_vars_eNB_g[Mod_id][0]); uint8_t UE_id = find_ue(rnti,PHY_vars_eNB_g[Mod_id][0]);
struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10 = sCellToAddMod_r10->radioResourceConfigDedicatedSCell_r10->physicalConfigDedicatedSCell_r10; struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10 = sCellToAddMod_r10->radioResourceConfigDedicatedSCell_r10->physicalConfigDedicatedSCell_r10;
//struct RadioResourceConfigCommonSCell_r10 *physicalConfigCommonSCell_r10 = sCellToAddMod_r10->radioResourceConfigCommonSCell_r10; //struct RadioResourceConfigCommonSCell_r10 *physicalConfigCommonSCell_r10 = sCellToAddMod_r10->radioResourceConfigCommonSCell_r10;
PhysCellId_t physCellId_r10 = sCellToAddMod_r10->cellIdentification_r10->physCellId_r10; //PhysCellId_t physCellId_r10 = sCellToAddMod_r10->cellIdentification_r10->physCellId_r10;
ARFCN_ValueEUTRA_t dl_CarrierFreq_r10 = sCellToAddMod_r10->cellIdentification_r10->dl_CarrierFreq_r10; ARFCN_ValueEUTRA_t dl_CarrierFreq_r10 = sCellToAddMod_r10->cellIdentification_r10->dl_CarrierFreq_r10;
uint32_t carrier_freq_local; uint32_t carrier_freq_local;
@@ -733,7 +733,7 @@ void phy_config_dedicated_scell_eNB(uint8_t Mod_id,
} }
if (physicalConfigDedicatedSCell_r10) { if (physicalConfigDedicatedSCell_r10) {
#warning " phy_vars_eNB->physicalConfigDedicatedSCell_r10 does not exist in phy_vars_eNB" //#warning " phy_vars_eNB->physicalConfigDedicatedSCell_r10 does not exist in phy_vars_eNB"
// phy_vars_eNB->physicalConfigDedicatedSCell_r10[UE_id] = physicalConfigDedicatedSCell_r10; // phy_vars_eNB->physicalConfigDedicatedSCell_r10[UE_id] = physicalConfigDedicatedSCell_r10;
LOG_I(PHY,"[eNB %d] Frame %d: Configured phyConfigDedicatedSCell with CC_id %d for UE %d\n",Mod_id,/*phy_vars_eNB->frame*/0,CC_id,UE_id); LOG_I(PHY,"[eNB %d] Frame %d: Configured phyConfigDedicatedSCell with CC_id %d for UE %d\n",Mod_id,/*phy_vars_eNB->frame*/0,CC_id,UE_id);
} else { } else {
@@ -48,15 +48,15 @@ void lte_eNB_I0_measurements(PHY_VARS_eNB *phy_vars_eNB,
LTE_eNB_COMMON *eNB_common_vars = &phy_vars_eNB->lte_eNB_common_vars; LTE_eNB_COMMON *eNB_common_vars = &phy_vars_eNB->lte_eNB_common_vars;
LTE_DL_FRAME_PARMS *frame_parms = &phy_vars_eNB->lte_frame_parms; LTE_DL_FRAME_PARMS *frame_parms = &phy_vars_eNB->lte_frame_parms;
PHY_MEASUREMENTS_eNB *phy_measurements = &phy_vars_eNB->PHY_measurements_eNB[eNB_id]; PHY_MEASUREMENTS_eNB *phy_measurements = &phy_vars_eNB->PHY_measurements_eNB[eNB_id];
int32_t *rb_mask = phy_vars_eNB->rb_mask_ul; uint32_t *rb_mask = phy_vars_eNB->rb_mask_ul;
uint32_t aarx,rx_power_correction; uint32_t aarx /* ,rx_power_correction */;
uint32_t rb; uint32_t rb;
int32_t *ul_ch; int32_t *ul_ch;
int32_t n0_power_tot; int32_t n0_power_tot;
int len; int len;
int offset; int offset;
int Nsymb = (frame_parms->Ncp==NORMAL)?14:12; //int Nsymb = (frame_parms->Ncp==NORMAL)?14:12;
// noise measurements // noise measurements
// for the moment we measure the noise on the 7th OFDM symbol (in S subframe) // for the moment we measure the noise on the 7th OFDM symbol (in S subframe)
@@ -572,7 +572,7 @@ void lte_ue_measurements(PHY_VARS_UE *phy_vars_ue,
// skip the first 4 RE due to interpolation filter length of 5 (not possible to skip 5 due to 128i alignment, must be multiple of 128bit) // skip the first 4 RE due to interpolation filter length of 5 (not possible to skip 5 due to 128i alignment, must be multiple of 128bit)
#if defined(__x86_64__) || defined(__i386__) #if defined(__x86_64__) || defined(__i386__)
__m128i pmi128_re,pmi128_im,mmtmpPMI0,mmtmpPMI1,mmtmpPMI2,mmtmpPMI3; __m128i pmi128_re,pmi128_im,mmtmpPMI0,mmtmpPMI1 /* ,mmtmpPMI2,mmtmpPMI3 */ ;
dl_ch0_128 = (__m128i *)&phy_vars_ue->lte_ue_common_vars.dl_ch_estimates[eNB_id][aarx][4]; dl_ch0_128 = (__m128i *)&phy_vars_ue->lte_ue_common_vars.dl_ch_estimates[eNB_id][aarx][4];
dl_ch1_128 = (__m128i *)&phy_vars_ue->lte_ue_common_vars.dl_ch_estimates[eNB_id][2+aarx][4]; dl_ch1_128 = (__m128i *)&phy_vars_ue->lte_ue_common_vars.dl_ch_estimates[eNB_id][2+aarx][4];
@@ -44,6 +44,7 @@
#include "PHY/CODING/extern.h" #include "PHY/CODING/extern.h"
#include "PHY/CODING/lte_interleaver_inline.h" #include "PHY/CODING/lte_interleaver_inline.h"
#include "PHY/LTE_TRANSPORT/defs.h" #include "PHY/LTE_TRANSPORT/defs.h"
#include "SCHED/defs.h"
#include "defs.h" #include "defs.h"
#include "UTIL/LOG/vcd_signal_dumper.h" #include "UTIL/LOG/vcd_signal_dumper.h"
+6 -4
View File
@@ -65,10 +65,12 @@
//use msg in the real-time thread context //use msg in the real-time thread context
#define msg_nrt printf #define msg_nrt printf
//use msg_nrt in the non real-time context (for initialization, ...) //use msg_nrt in the non real-time context (for initialization, ...)
#ifdef __AVX2__ #ifndef malloc16
#define malloc16(x) memalign(32,x) # ifdef __AVX2__
#else # define malloc16(x) memalign(32,x)
#define malloc16(x) memalign(16,x) # else
# define malloc16(x) memalign(16,x)
# endif
#endif #endif
#define free16(y,x) free(y) #define free16(y,x) free(y)
#define bigmalloc malloc #define bigmalloc malloc
+3 -3
View File
@@ -54,11 +54,11 @@ void fill_dci(DCI_PDU *DCI_pdu, uint8_t sched_subframe, PHY_VARS_eNB *phy_vars_e
{ {
int i; int i;
uint8_t cooperation_flag = phy_vars_eNB->cooperation_flag; //uint8_t cooperation_flag = phy_vars_eNB->cooperation_flag;
uint8_t transmission_mode = phy_vars_eNB->transmission_mode[0]; uint8_t transmission_mode = phy_vars_eNB->transmission_mode[0];
uint32_t rballoc = 0x7FFF; uint32_t rballoc = 0x7FFF;
uint32_t rballoc2 = 0x000F; //uint32_t rballoc2 = 0x000F;
int subframe = phy_vars_eNB->proc[sched_subframe].subframe_tx; int subframe = phy_vars_eNB->proc[sched_subframe].subframe_tx;
LTE_eNB_DLSCH_t *DLSCH_ptr = phy_vars_eNB->dlsch_eNB[0][0]; LTE_eNB_DLSCH_t *DLSCH_ptr = phy_vars_eNB->dlsch_eNB[0][0];
@@ -585,7 +585,7 @@ void fill_dci_emos(DCI_PDU *DCI_pdu, uint8_t subframe, PHY_VARS_eNB *phy_vars_eN
{ {
int i; int i;
uint8_t cooperation_flag = phy_vars_eNB->cooperation_flag; //uint8_t cooperation_flag = phy_vars_eNB->cooperation_flag;
uint8_t transmission_mode = phy_vars_eNB->transmission_mode[0]; uint8_t transmission_mode = phy_vars_eNB->transmission_mode[0];
//uint32_t rballoc = 0x00F0; //uint32_t rballoc = 0x00F0;
+4
View File
@@ -612,6 +612,7 @@ void phy_eNB_lte_check_measurement_thresholds(instance_t instanceP, ral_threshol
#endif #endif
unsigned int taus(void);
void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_eNB,uint8_t abstraction_flag, void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_eNB,uint8_t abstraction_flag,
relaying_type_t r_type,PHY_VARS_RN *phy_vars_rn) relaying_type_t r_type,PHY_VARS_RN *phy_vars_rn)
@@ -1822,6 +1823,7 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
stop_meas(&phy_vars_eNB->phy_proc_tx); stop_meas(&phy_vars_eNB->phy_proc_tx);
(void)re_allocated; /* remove gcc warning "set but not used" */
} }
void process_Msg3(PHY_VARS_eNB *phy_vars_eNB,uint8_t sched_subframe,uint8_t UE_id, uint8_t harq_pid) void process_Msg3(PHY_VARS_eNB *phy_vars_eNB,uint8_t sched_subframe,uint8_t UE_id, uint8_t harq_pid)
@@ -2493,6 +2495,7 @@ void phy_procedures_eNB_RX(const unsigned char sched_subframe,PHY_VARS_eNB *phy_
} }
sect_id = 0; sect_id = 0;
(void)sect_id; /* remove gcc warning "set but not used" */
/* /*
for (UE_id=0;UE_id<NUMBER_OF_UE_MAX;UE_id++) { for (UE_id=0;UE_id<NUMBER_OF_UE_MAX;UE_id++) {
@@ -3604,6 +3607,7 @@ void phy_procedures_eNB_RX(const unsigned char sched_subframe,PHY_VARS_eNB *phy_
} // loop i=0 ... NUMBER_OF_UE_MAX-1 } // loop i=0 ... NUMBER_OF_UE_MAX-1
(void)pusch_active; /* remove gcc warning "set but not used" */
// if (pusch_active == 0) { // if (pusch_active == 0) {
if (abstraction_flag == 0) { if (abstraction_flag == 0) {
// LOG_D(PHY,"[eNB] Frame %d, subframe %d Doing I0_measurements\n", // LOG_D(PHY,"[eNB] Frame %d, subframe %d Doing I0_measurements\n",
+2
View File
@@ -902,6 +902,8 @@ void phy_procedures_UE_TX(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t abstra
} }
*/ */
unsigned int taus(void);
for (i=0; i<input_buffer_length; i++) for (i=0; i<input_buffer_length; i++)
ulsch_input_buffer[i]= (uint8_t)(taus()&0xff); ulsch_input_buffer[i]= (uint8_t)(taus()&0xff);
+5 -5
View File
@@ -46,16 +46,16 @@ int8_t pucch_power_cntl(PHY_VARS_UE *phy_vars_ue,uint8_t subframe,uint8_t eNB_id
{ {
int8_t Po_PUCCH; int8_t Po_PUCCH;
uint8_t harq_pid; //uint8_t harq_pid;
// P_pucch = P_opucch+ PL + h(nCQI,nHARQ) + delta_pucchF(pucch_fmt) + g(i)) // P_pucch = P_opucch+ PL + h(nCQI,nHARQ) + delta_pucchF(pucch_fmt) + g(i))
// //
if ((pucch_fmt == pucch_format1a) || //if ((pucch_fmt == pucch_format1a) ||
(pucch_fmt == pucch_format1b)) { // Update g_pucch based on TPC/delta_PUCCH received in PDCCH for this process // (pucch_fmt == pucch_format1b)) { // Update g_pucch based on TPC/delta_PUCCH received in PDCCH for this process
harq_pid = phy_vars_ue->dlsch_ue[eNB_id][0]->harq_ack[subframe].harq_id; //harq_pid = phy_vars_ue->dlsch_ue[eNB_id][0]->harq_ack[subframe].harq_id;
//this is now done in dci_tools //this is now done in dci_tools
//phy_vars_ue->g_pucch[eNB_id] += phy_vars_ue->dlsch_ue[eNB_id][0]->harq_processes[harq_pid]->delta_PUCCH; //phy_vars_ue->g_pucch[eNB_id] += phy_vars_ue->dlsch_ue[eNB_id][0]->harq_processes[harq_pid]->delta_PUCCH;
} //}
Po_PUCCH = get_PL(phy_vars_ue->Mod_id,phy_vars_ue->CC_id,eNB_id)+ Po_PUCCH = get_PL(phy_vars_ue->Mod_id,phy_vars_ue->CC_id,eNB_id)+
phy_vars_ue->lte_frame_parms.ul_power_control_config_common.p0_NominalPUCCH+ phy_vars_ue->lte_frame_parms.ul_power_control_config_common.p0_NominalPUCCH+
+1 -1
View File
@@ -81,7 +81,7 @@ int16_t get_hundred_times_delta_IF_eNB(PHY_VARS_eNB *phy_vars_eNB,uint8_t UE_id,
//(phy_vars_eNB->ulsch_eNB[UE_id]->harq_processes[harq_pid]->control_only == 1) ? phy_vars_eNB->ulsch_eNB[UE_id]->beta_offset_cqi_times8:8; //(phy_vars_eNB->ulsch_eNB[UE_id]->harq_processes[harq_pid]->control_only == 1) ? phy_vars_eNB->ulsch_eNB[UE_id]->beta_offset_cqi_times8:8;
DevAssert( UE_id < NUMBER_OF_UE_MAX ); DevAssert( UE_id < NUMBER_OF_UE_MAX );
#warning "This condition happens sometimes. Need more investigation" // navid //#warning "This condition happens sometimes. Need more investigation" // navid
//DevAssert( MPR_x100/6 < 100 ); //DevAssert( MPR_x100/6 < 100 );
if (phy_vars_eNB->ul_power_control_dedicated[UE_id].deltaMCS_Enabled == 1) { if (phy_vars_eNB->ul_power_control_dedicated[UE_id].deltaMCS_Enabled == 1) {
@@ -288,7 +288,7 @@ int emu_transport_handle_ue_info(bypass_msg_header_t *messg,
n_ue, total_header+total_tbs,total_header,total_tbs); n_ue, total_header+total_tbs,total_header,total_tbs);
} }
#warning "CC id should be adjusted, set to zero for the moment" //#warning "CC id should be adjusted, set to zero for the moment"
memcpy(&UE_transport_info[n_ue][CC_id], UE_info, total_header + total_tbs); memcpy(&UE_transport_info[n_ue][CC_id], UE_info, total_header + total_tbs);
/* Go to the next UE info */ /* Go to the next UE info */
@@ -291,7 +291,6 @@ void fill_phy_enb_vars(unsigned int enb_id, uint8_t CC_id,unsigned int next_slot
LTE_eNB_DLSCH_t *dlsch_eNB; LTE_eNB_DLSCH_t *dlsch_eNB;
unsigned short ue_id; unsigned short ue_id;
uint8_t nb_total_dci; uint8_t nb_total_dci;
int i;
// eNB // eNB
// PBCH : copy payload // PBCH : copy payload
+3 -1
View File
@@ -220,7 +220,7 @@ int main(int argc, char **argv)
uint8_t N_RB_DL=25,osf=1; uint8_t N_RB_DL=25,osf=1;
frame_t frame_type = FDD; frame_t frame_type = FDD;
int xforms=0; int xforms=0;
FD_lte_phy_scope_ue *form_ue; FD_lte_phy_scope_ue *form_ue = NULL;
char title[255]; char title[255];
uint32_t DLSCH_RB_ALLOC = 0x1fff; uint32_t DLSCH_RB_ALLOC = 0x1fff;
int numCCE=0; int numCCE=0;
@@ -2624,6 +2624,8 @@ PMI_FEEDBACK:
num_pdcch_symbols, num_pdcch_symbols,
PHY_vars_eNB->dlsch_eNB[k][0], PHY_vars_eNB->dlsch_eNB[k][0],
PHY_vars_eNB->dlsch_eNB[k][1]); PHY_vars_eNB->dlsch_eNB[k][1]);
/* avoid gcc warnings */
(void)re_allocated;
stop_meas(&PHY_vars_eNB->dlsch_modulation_stats); stop_meas(&PHY_vars_eNB->dlsch_modulation_stats);
/* /*
+4 -4
View File
@@ -583,10 +583,10 @@ int main(int argc, char **argv)
mcs,N_RB_DL,mcs,N_RB_DL,errs[0], mcs,N_RB_DL,mcs,N_RB_DL,errs[0],
mcs,N_RB_DL,mcs,N_RB_DL,trials); mcs,N_RB_DL,mcs,N_RB_DL,trials);
else else
fprintf(fd,"SNR_awgn_%d = [SNR_awgn_%d %d]; errs_mch_awgn_%d =[errs_mch_awgn_%f %d]; mch_trials_awgn_%d =[mch_trials_awgn_%d %d];\n", fprintf(fd,"SNR_awgn_%d = [SNR_awgn_%d %f]; errs_mch_awgn_%d =[errs_mch_awgn_%d %d]; mch_trials_awgn_%d =[mch_trials_awgn_%d %d];\n",
mcs,N_RB_DL,mcs,N_RB_DL,SNR, N_RB_DL,N_RB_DL,SNR,
mcs,N_RB_DL,mcs,N_RB_DL,errs[0], N_RB_DL,N_RB_DL,errs[0],
mcs,N_RB_DL,mcs,N_RB_DL,trials); N_RB_DL,N_RB_DL,trials);
fflush(fd); fflush(fd);
+10 -7
View File
@@ -80,9 +80,9 @@ int main(int argc, char **argv)
unsigned char pbch_pdu[6]; unsigned char pbch_pdu[6];
// int sync_pos, sync_pos_slot; // int sync_pos, sync_pos_slot;
// FILE *rx_frame_file; // FILE *rx_frame_file;
FILE *output_fd; FILE *output_fd = NULL;
uint8_t write_output_file=0; uint8_t write_output_file=0;
int result; //int result;
int freq_offset; int freq_offset;
// int subframe_offset; // int subframe_offset;
// char fname[40], vname[40]; // char fname[40], vname[40];
@@ -91,8 +91,8 @@ int main(int argc, char **argv)
uint16_t Nid_cell=0; uint16_t Nid_cell=0;
int n_frames=1; int n_frames=1;
channel_desc_t *eNB2UE,*eNB2UE1,*eNB2UE2; channel_desc_t *eNB2UE,*eNB2UE1 = NULL,*eNB2UE2 = NULL;
uint32_t nsymb,tx_lev,tx_lev1,tx_lev2; uint32_t nsymb,tx_lev,tx_lev1 = 0,tx_lev2 = 0;
uint8_t extended_prefix_flag=0; uint8_t extended_prefix_flag=0;
int8_t interf1=-21,interf2=-21; int8_t interf1=-21,interf2=-21;
LTE_DL_FRAME_PARMS *frame_parms; LTE_DL_FRAME_PARMS *frame_parms;
@@ -104,12 +104,12 @@ int main(int argc, char **argv)
char input_val_str[50],input_val_str2[50]; char input_val_str[50],input_val_str2[50];
// double input_val1,input_val2; // double input_val1,input_val2;
// uint16_t amask=0; // uint16_t amask=0;
uint8_t frame_mod4,num_pdcch_symbols; uint8_t frame_mod4,num_pdcch_symbols = 0;
uint16_t NB_RB=25; uint16_t NB_RB=25;
SCM_t channel_model=AWGN;//Rayleigh1_anticorr; SCM_t channel_model=AWGN;//Rayleigh1_anticorr;
DCI_ALLOC_t dci_alloc[8]; //DCI_ALLOC_t dci_alloc[8];
uint8_t abstraction_flag=0;//,calibration_flag=0; uint8_t abstraction_flag=0;//,calibration_flag=0;
double pbch_sinr; double pbch_sinr;
int pbch_tx_ant; int pbch_tx_ant;
@@ -782,7 +782,10 @@ int main(int argc, char **argv)
i=0; i=0;
while (!feof(input_fd)) { while (!feof(input_fd)) {
fscanf(input_fd,"%s %s",input_val_str,input_val_str2);//&input_val1,&input_val2); if (fscanf(input_fd,"%s %s",input_val_str,input_val_str2) != 2) { //&input_val1,&input_val2);
printf("%s:%d:%s: error with fscanf, exiting\n", __FILE__, __LINE__, __FUNCTION__);
exit(1);
}
if ((i%4)==0) { if ((i%4)==0) {
((short*)txdata[0])[i/2] = (short)((1<<15)*strtod(input_val_str,NULL)); ((short*)txdata[0])[i/2] = (short)((1<<15)*strtod(input_val_str,NULL));
+8 -3
View File
@@ -67,9 +67,9 @@ DCI_PDU *get_dci(LTE_DL_FRAME_PARMS *lte_frame_parms,uint8_t log2L, uint8_t log2
uint32_t UL_alloc_pdu[2]; uint32_t UL_alloc_pdu[2];
int i; int i;
int dci_length_bytes,dci_length; int dci_length_bytes=0,dci_length=0;
int BCCH_pdu_size_bits, BCCH_pdu_size_bytes; int BCCH_pdu_size_bits=0, BCCH_pdu_size_bytes=0;
int UL_pdu_size_bits, UL_pdu_size_bytes; int UL_pdu_size_bits=0, UL_pdu_size_bytes=0;
int mcs = 3; int mcs = 3;
DCI_pdu.Num_ue_spec_dci = 0; DCI_pdu.Num_ue_spec_dci = 0;
@@ -789,6 +789,11 @@ int main(int argc, char **argv)
while (!feof(input_fd)) { while (!feof(input_fd)) {
ret=fscanf(input_fd,"%s %s",input_val_str,input_val_str2);//&input_val1,&input_val2); ret=fscanf(input_fd,"%s %s",input_val_str,input_val_str2);//&input_val1,&input_val2);
if (ret != 2) {
printf("%s:%d:%s: fscanf error, exiting\n", __FILE__, __LINE__, __FUNCTION__);
exit(1);
}
if ((i%4)==0) { if ((i%4)==0) {
((short*)txdata[0])[i/2] = (short)((1<<15)*strtod(input_val_str,NULL)); ((short*)txdata[0])[i/2] = (short)((1<<15)*strtod(input_val_str,NULL));
((short*)txdata[0])[(i/2)+1] = (short)((1<<15)*strtod(input_val_str2,NULL)); ((short*)txdata[0])[(i/2)+1] = (short)((1<<15)*strtod(input_val_str2,NULL));
+15 -9
View File
@@ -58,6 +58,8 @@ PHY_VARS_UE *PHY_vars_UE;
extern uint16_t prach_root_sequence_map0_3[838]; extern uint16_t prach_root_sequence_map0_3[838];
void dump_prach_config(LTE_DL_FRAME_PARMS *frame_parms,uint8_t subframe);
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
@@ -74,7 +76,7 @@ int main(int argc, char **argv)
int **txdata; int **txdata;
double **s_re,**s_im,**r_re,**r_im; double **s_re,**s_im,**r_re,**r_im;
double iqim=0.0; double iqim=0.0;
int trial, ntrials=1; int trial; //, ntrials=1;
uint8_t transmission_mode = 1,n_tx=1,n_rx=1; uint8_t transmission_mode = 1,n_tx=1,n_rx=1;
uint16_t Nid_cell=0; uint16_t Nid_cell=0;
@@ -82,7 +84,7 @@ int main(int argc, char **argv)
uint8_t hs_flag=0; uint8_t hs_flag=0;
int n_frames=1; int n_frames=1;
channel_desc_t *UE2eNB; channel_desc_t *UE2eNB;
uint32_t nsymb,tx_lev,tx_lev_dB; uint32_t nsymb,tx_lev; //,tx_lev_dB;
uint8_t extended_prefix_flag=0; uint8_t extended_prefix_flag=0;
// int8_t interf1=-19,interf2=-19; // int8_t interf1=-19,interf2=-19;
LTE_DL_FRAME_PARMS *frame_parms; LTE_DL_FRAME_PARMS *frame_parms;
@@ -101,8 +103,8 @@ int main(int argc, char **argv)
uint16_t preamble_energy_list[64],preamble_tx=99,preamble_delay_list[64]; uint16_t preamble_energy_list[64],preamble_tx=99,preamble_delay_list[64];
uint16_t preamble_max,preamble_energy_max; uint16_t preamble_max,preamble_energy_max;
PRACH_RESOURCES_t prach_resources; PRACH_RESOURCES_t prach_resources;
uint8_t prach_fmt; //uint8_t prach_fmt;
int N_ZC; //int N_ZC;
int delay = 0; int delay = 0;
double delay_avg=0; double delay_avg=0;
double ue_speed = 0; double ue_speed = 0;
@@ -126,7 +128,8 @@ int main(int argc, char **argv)
case 'a': case 'a':
printf("Running AWGN simulation\n"); printf("Running AWGN simulation\n");
awgn_flag = 1; awgn_flag = 1;
ntrials=1; /* ntrials not used later, no need to set */
//ntrials=1;
break; break;
case 'd': case 'd':
@@ -404,9 +407,11 @@ int main(int argc, char **argv)
PHY_vars_eNB->lte_frame_parms.prach_config_common.prach_ConfigInfo.highSpeedFlag=hs_flag; PHY_vars_eNB->lte_frame_parms.prach_config_common.prach_ConfigInfo.highSpeedFlag=hs_flag;
PHY_vars_eNB->lte_frame_parms.prach_config_common.prach_ConfigInfo.prach_FreqOffset=0; PHY_vars_eNB->lte_frame_parms.prach_config_common.prach_ConfigInfo.prach_FreqOffset=0;
prach_fmt = get_prach_fmt(PHY_vars_eNB->lte_frame_parms.prach_config_common.prach_ConfigInfo.prach_ConfigIndex, /* N_ZC not used later, so prach_fmt is also useless, don't set */
PHY_vars_eNB->lte_frame_parms.frame_type); //prach_fmt = get_prach_fmt(PHY_vars_eNB->lte_frame_parms.prach_config_common.prach_ConfigInfo.prach_ConfigIndex,
N_ZC = (prach_fmt <4)?839:139; // PHY_vars_eNB->lte_frame_parms.frame_type);
/* N_ZC not used later, no need to set */
//N_ZC = (prach_fmt <4)?839:139;
compute_prach_seq(&PHY_vars_eNB->lte_frame_parms.prach_config_common,PHY_vars_eNB->lte_frame_parms.frame_type,PHY_vars_eNB->X_u); compute_prach_seq(&PHY_vars_eNB->lte_frame_parms.prach_config_common,PHY_vars_eNB->lte_frame_parms.frame_type,PHY_vars_eNB->X_u);
@@ -430,7 +435,8 @@ int main(int argc, char **argv)
subframe, subframe,
0); //Nf 0); //Nf
tx_lev_dB = (unsigned int) dB_fixed(tx_lev); /* tx_lev_dB not used later, no need to set */
//tx_lev_dB = (unsigned int) dB_fixed(tx_lev);
write_output("txsig0_new.m","txs0", &txdata[0][subframe*frame_parms->samples_per_tti],frame_parms->samples_per_tti,1,1); write_output("txsig0_new.m","txs0", &txdata[0][subframe*frame_parms->samples_per_tti],frame_parms->samples_per_tti,1,1);
//write_output("txsig1.m","txs1", txdata[1],FRAME_LENGTH_COMPLEX_SAMPLES,1,1); //write_output("txsig1.m","txs1", txdata[1],FRAME_LENGTH_COMPLEX_SAMPLES,1,1);
+7 -1
View File
@@ -41,7 +41,13 @@
#if !defined (msg) #if !defined (msg)
# define msg(aRGS...) LOG_D(PHY, ##aRGS) # define msg(aRGS...) LOG_D(PHY, ##aRGS)
#endif #endif
#define malloc16(x) memalign(16,x) //malloc(x) #ifndef malloc16
# ifdef __AVX2__
# define malloc16(x) memalign(32,x)
# else
# define malloc16(x) memalign(16,x)
# endif
#endif
#define free16(y,x) free(y) #define free16(y,x) free(y)
#define bigmalloc malloc #define bigmalloc malloc
#define bigmalloc16 malloc16 #define bigmalloc16 malloc16
+6
View File
@@ -285,6 +285,9 @@ void *eNB_app_task(void *args_p)
instance_t instance; instance_t instance;
int result; int result;
/* for no gcc warnings */
(void)instance;
itti_mark_task_ready (TASK_ENB_APP); itti_mark_task_ready (TASK_ENB_APP);
# if defined(ENABLE_USE_MME) # if defined(ENABLE_USE_MME)
@@ -420,5 +423,8 @@ void *eNB_app_task(void *args_p)
#endif #endif
/* for no gcc warnings */
(void)enb_properties_p;
return NULL; return NULL;
} }
+6 -2
View File
@@ -562,9 +562,9 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
const char* pusch_alpha = NULL; const char* pusch_alpha = NULL;
libconfig_int pucch_p0_Nominal = 0; libconfig_int pucch_p0_Nominal = 0;
libconfig_int msg3_delta_Preamble = 0; libconfig_int msg3_delta_Preamble = 0;
libconfig_int ul_CyclicPrefixLength = 0; //libconfig_int ul_CyclicPrefixLength = 0;
const char* pucch_deltaF_Format1 = NULL; const char* pucch_deltaF_Format1 = NULL;
const char* pucch_deltaF_Format1a = NULL; //const char* pucch_deltaF_Format1a = NULL;
const char* pucch_deltaF_Format1b = NULL; const char* pucch_deltaF_Format1b = NULL;
const char* pucch_deltaF_Format2 = NULL; const char* pucch_deltaF_Format2 = NULL;
const char* pucch_deltaF_Format2a = NULL; const char* pucch_deltaF_Format2a = NULL;
@@ -649,6 +649,10 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
char* osa_log_level = NULL; char* osa_log_level = NULL;
char* osa_log_verbosity = NULL; char* osa_log_verbosity = NULL;
/* for no gcc warnings */
(void)astring;
(void)my_int;
memset((char*) (enb_properties.properties), 0 , MAX_ENB * sizeof(Enb_properties_t *)); memset((char*) (enb_properties.properties), 0 , MAX_ENB * sizeof(Enb_properties_t *));
memset((char*)active_enb, 0 , MAX_ENB * sizeof(char*)); memset((char*)active_enb, 0 , MAX_ENB * sizeof(char*));
+1 -1
View File
@@ -275,7 +275,7 @@ rrc_mac_config_req(
if (eNB_flagP==1) { if (eNB_flagP==1) {
mac_xface->phy_config_dedicated_scell_eNB(Mod_id,UE_RNTI(Mod_id,UE_id),sCellToAddMod_r10,1); mac_xface->phy_config_dedicated_scell_eNB(Mod_id,UE_RNTI(Mod_id,UE_id),sCellToAddMod_r10,1);
} else { } else {
#warning "phy_config_dedicated_scell_ue is empty" //#warning "phy_config_dedicated_scell_ue is empty"
mac_xface->phy_config_dedicated_scell_ue(Mod_id,eNB_index,sCellToAddMod_r10,1); mac_xface->phy_config_dedicated_scell_ue(Mod_id,eNB_index,sCellToAddMod_r10,1);
UE_mac_inst[Mod_id].physicalConfigDedicatedSCell_r10 = sCellToAddMod_r10->radioResourceConfigDedicatedSCell_r10->physicalConfigDedicatedSCell_r10; // using SCell index 0 UE_mac_inst[Mod_id].physicalConfigDedicatedSCell_r10 = sCellToAddMod_r10->radioResourceConfigDedicatedSCell_r10->physicalConfigDedicatedSCell_r10; // using SCell index 0
} }
+1 -1
View File
@@ -86,7 +86,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
int mbsfn_status[MAX_NUM_CCs]; int mbsfn_status[MAX_NUM_CCs];
protocol_ctxt_t ctxt; protocol_ctxt_t ctxt;
#ifdef EXMIMO #ifdef EXMIMO
int ret; //int ret;
#endif #endif
#if defined(ENABLE_ITTI) #if defined(ENABLE_ITTI)
MessageDef *msg_p; MessageDef *msg_p;
+2 -2
View File
@@ -85,9 +85,9 @@ schedule_SI(
int CC_id; int CC_id;
eNB_MAC_INST *eNB = &eNB_mac_inst[module_idP]; eNB_MAC_INST *eNB = &eNB_mac_inst[module_idP];
uint8_t *vrb_map; uint8_t *vrb_map;
int first_rb; int first_rb = -1;
int rballoc[MAX_NUM_CCs]; int rballoc[MAX_NUM_CCs];
int sizeof1A_bytes,sizeof1A_bits; int sizeof1A_bytes,sizeof1A_bits = -1;
DCI_PDU *DCI_pdu; DCI_PDU *DCI_pdu;
start_meas(&eNB->schedule_si); start_meas(&eNB->schedule_si);
+6 -6
View File
@@ -1125,7 +1125,7 @@ schedule_ue_spec(
if (frame_parms[CC_id]->frame_type == TDD) { if (frame_parms[CC_id]->frame_type == TDD) {
UE_list->UE_template[CC_id][UE_id].DAI++; UE_list->UE_template[CC_id][UE_id].DAI++;
// printf("DAI update: subframeP %d: UE %d, DAI %d\n",subframeP,UE_id,UE_list->UE_template[CC_id][UE_id].DAI); // printf("DAI update: subframeP %d: UE %d, DAI %d\n",subframeP,UE_id,UE_list->UE_template[CC_id][UE_id].DAI);
#warning only for 5MHz channel //#warning only for 5MHz channel
update_ul_dci(module_idP,CC_id,rnti,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);
} }
@@ -1488,23 +1488,23 @@ fill_DLSCH_dci(
// loop over all allocated UEs and compute frequency allocations for PDSCH // loop over all allocated UEs and compute frequency allocations for PDSCH
int UE_id = -1; int UE_id = -1;
uint8_t first_rb,nb_rb=3; uint8_t /* first_rb, */ nb_rb=3;
rnti_t rnti; rnti_t rnti;
unsigned char *vrb_map; //unsigned char *vrb_map;
uint8_t rballoc_sub[25]; uint8_t rballoc_sub[25];
//uint8_t number_of_subbands=13; //uint8_t number_of_subbands=13;
unsigned char round; //unsigned char round;
unsigned char harq_pid; unsigned char harq_pid;
void *DLSCH_dci=NULL; void *DLSCH_dci=NULL;
DCI_PDU *DCI_pdu; DCI_PDU *DCI_pdu;
int i; int i;
void *BCCH_alloc_pdu; //void *BCCH_alloc_pdu;
int size_bits,size_bytes; int size_bits,size_bytes;
int CC_id; int CC_id;
eNB_MAC_INST *eNB =&eNB_mac_inst[module_idP]; eNB_MAC_INST *eNB =&eNB_mac_inst[module_idP];
UE_list_t *UE_list = &eNB->UE_list; UE_list_t *UE_list = &eNB->UE_list;
RA_TEMPLATE *RA_template; //RA_TEMPLATE *RA_template;
start_meas(&eNB->fill_DLSCH_dci); start_meas(&eNB->fill_DLSCH_dci);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_FILL_DLSCH_DCI,VCD_FUNCTION_IN); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_FILL_DLSCH_DCI,VCD_FUNCTION_IN);
+1 -1
View File
@@ -666,7 +666,7 @@ MCH_PDU *get_mch_sdu(module_id_t module_idP, int CC_id, frame_t frameP, sub_fram
{ {
// eNB_mac_inst[module_idP].MCH_pdu.mcs=0; // eNB_mac_inst[module_idP].MCH_pdu.mcs=0;
//LOG_D(MAC," MCH_pdu.mcs is %d\n", eNB_mac_inst[module_idP].MCH_pdu.mcs); //LOG_D(MAC," MCH_pdu.mcs is %d\n", eNB_mac_inst[module_idP].MCH_pdu.mcs);
#warning "MCH pdu should take the CC_id index" //#warning "MCH pdu should take the CC_id index"
return(&eNB_mac_inst[module_idP].common_channels[CC_id].MCH_pdu); return(&eNB_mac_inst[module_idP].common_channels[CC_id].MCH_pdu);
} }
@@ -1082,7 +1082,7 @@ boolean_t CCE_allocation_infeasible(int module_idP,
DCI_PDU *DCI_pdu = &eNB_mac_inst[module_idP].common_channels[CC_idP].DCI_pdu; DCI_PDU *DCI_pdu = &eNB_mac_inst[module_idP].common_channels[CC_idP].DCI_pdu;
DCI_ALLOC_t *dci_alloc; //DCI_ALLOC_t *dci_alloc;
int ret; int ret;
boolean_t res=FALSE; boolean_t res=FALSE;
+4 -4
View File
@@ -748,10 +748,10 @@ void dlsch_scheduler_pre_processor_reset (int module_idP,
UE_list_t *UE_list=&eNB_mac_inst[module_idP].UE_list; UE_list_t *UE_list=&eNB_mac_inst[module_idP].UE_list;
UE_sched_ctrl *ue_sched_ctl = &UE_list->UE_sched_ctrl[UE_id]; UE_sched_ctrl *ue_sched_ctl = &UE_list->UE_sched_ctrl[UE_id];
rnti_t rnti = UE_RNTI(module_idP,UE_id); rnti_t rnti = UE_RNTI(module_idP,UE_id);
uint8_t *vrb_map = &eNB_mac_inst[module_idP].common_channels[CC_id].vrb_map; uint8_t *vrb_map = eNB_mac_inst[module_idP].common_channels[CC_id].vrb_map;
int RBGsize = PHY_vars_eNB_g[module_idP][CC_id]->lte_frame_parms.N_RB_DL/N_RBG; int RBGsize = PHY_vars_eNB_g[module_idP][CC_id]->lte_frame_parms.N_RB_DL/N_RBG;
#ifdef SF05_LIMIT #ifdef SF05_LIMIT
int subframe05_limit=0; //int subframe05_limit=0;
int sf05_upper=-1,sf05_lower=-1; int sf05_upper=-1,sf05_lower=-1;
#endif #endif
LTE_eNB_UE_stats *eNB_UE_stats = mac_xface->get_eNB_UE_stats(module_idP,CC_id,rnti); LTE_eNB_UE_stats *eNB_UE_stats = mac_xface->get_eNB_UE_stats(module_idP,CC_id,rnti);
@@ -1085,7 +1085,7 @@ void ulsch_scheduler_pre_processor(module_id_t module_idP,
void store_ulsch_buffer(module_id_t module_idP, int frameP, sub_frame_t subframeP) void store_ulsch_buffer(module_id_t module_idP, int frameP, sub_frame_t subframeP)
{ {
int UE_id,pCC_id,lcgid; int UE_id, /* pCC_id, */ lcgid;
UE_list_t *UE_list = &eNB_mac_inst[module_idP].UE_list; UE_list_t *UE_list = &eNB_mac_inst[module_idP].UE_list;
UE_TEMPLATE *UE_template; UE_TEMPLATE *UE_template;
@@ -1231,7 +1231,7 @@ void sort_ue_ul (module_id_t module_idP,int frameP, sub_frame_t subframeP)
int UE_id1,UE_id2; int UE_id1,UE_id2;
int pCCid1,pCCid2; int pCCid1,pCCid2;
int round1,round2; int round1,round2;
int i=0,ii=0,j=0; int i=0,ii=0;
rnti_t rnti1,rnti2; rnti_t rnti1,rnti2;
UE_list_t *UE_list = &eNB_mac_inst[module_idP].UE_list; UE_list_t *UE_list = &eNB_mac_inst[module_idP].UE_list;
+1
View File
@@ -777,6 +777,7 @@ rrc_get_estimated_ue_distance(
const int CC_idP, const int CC_idP,
const uint8_t loc_typeP); const uint8_t loc_typeP);
void fill_dci(DCI_PDU *DCI_pdu, uint8_t sched_subframe, PHY_VARS_eNB *phy_vars_eNB);
#endif #endif
/** @}*/ /** @}*/
+6 -1
View File
@@ -152,6 +152,9 @@ void get_prach_resources(module_id_t module_idP,
} }
} }
/* TODO: gcc warns if this variable is not always set, let's put -1 for no more warning */
messageSizeGroupA = -1;
if (!rach_ConfigCommon->preambleInfo.preamblesGroupAConfig) { if (!rach_ConfigCommon->preambleInfo.preamblesGroupAConfig) {
noGroupB = 1; noGroupB = 1;
} else { } else {
@@ -171,6 +174,8 @@ void get_prach_resources(module_id_t module_idP,
break; break;
} }
/* TODO: what value to use as default? */
messagePowerOffsetGroupB = -9999;
switch (rach_ConfigCommon->preambleInfo.preamblesGroupAConfig->messagePowerOffsetGroupB) { switch (rach_ConfigCommon->preambleInfo.preamblesGroupAConfig->messagePowerOffsetGroupB) {
case 0: case 0:
messagePowerOffsetGroupB = -9999; messagePowerOffsetGroupB = -9999;
@@ -495,7 +500,7 @@ PRACH_RESOURCES_t *ue_get_rach(module_id_t module_idP,int CC_id,frame_t frameP,
UE_mac_inst[module_idP].RA_PREAMBLE_TRANSMISSION_COUNTER++; UE_mac_inst[module_idP].RA_PREAMBLE_TRANSMISSION_COUNTER++;
UE_mac_inst[module_idP].RA_prach_resources.ra_PREAMBLE_RECEIVED_TARGET_POWER += UE_mac_inst[module_idP].RA_prach_resources.ra_PREAMBLE_RECEIVED_TARGET_POWER +=
(rach_ConfigCommon->powerRampingParameters.powerRampingStep<<1); // 2dB increments in ASN.1 definition (rach_ConfigCommon->powerRampingParameters.powerRampingStep<<1); // 2dB increments in ASN.1 definition
int preambleTransMax; int preambleTransMax = -1;
switch (rach_ConfigCommon->ra_SupervisionInfo.preambleTransMax) { switch (rach_ConfigCommon->ra_SupervisionInfo.preambleTransMax) {
case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3: case RACH_ConfigCommon__ra_SupervisionInfo__preambleTransMax_n3:
preambleTransMax = 3; preambleTransMax = 3;
+4 -2
View File
@@ -692,7 +692,7 @@ pdcp_data_ind(
#if defined(USER_MODE) && defined(OAI_EMU) #if defined(USER_MODE) && defined(OAI_EMU)
if (oai_emulation.info.otg_enabled == 1) { if (oai_emulation.info.otg_enabled == 1) {
unsigned int dst_instance; //unsigned int dst_instance;
int ctime; int ctime;
if ((pdcp_p->rlc_mode == RLC_MODE_AM)&&(MBMS_flagP==0) ) { if ((pdcp_p->rlc_mode == RLC_MODE_AM)&&(MBMS_flagP==0) ) {
@@ -1032,6 +1032,8 @@ pdcp_remove_UE(
} }
(void)h_rc; /* remove gcc warning "set but not used" */
return 1; return 1;
} }
@@ -1486,7 +1488,7 @@ pdcp_config_req_asn1 (
case CONFIG_ACTION_REMOVE: case CONFIG_ACTION_REMOVE:
DevAssert(pdcp_pP != NULL); DevAssert(pdcp_pP != NULL);
#warning "TODO pdcp_module_id_to_rnti" //#warning "TODO pdcp_module_id_to_rnti"
//pdcp_module_id_to_rnti[ctxt_pP.module_id ][dst_id] = NOT_A_RNTI; //pdcp_module_id_to_rnti[ctxt_pP.module_id ][dst_id] = NOT_A_RNTI;
LOG_D(PDCP, PROTOCOL_PDCP_CTXT_FMT" CONFIG_ACTION_REMOVE LCID %d RBID %d configured\n", LOG_D(PDCP, PROTOCOL_PDCP_CTXT_FMT" CONFIG_ACTION_REMOVE LCID %d RBID %d configured\n",
PROTOCOL_PDCP_CTXT_ARGS(ctxt_pP,pdcp_pP), PROTOCOL_PDCP_CTXT_ARGS(ctxt_pP,pdcp_pP),
+4 -2
View File
@@ -313,6 +313,8 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const ctxt_pP)
hash_key_t key = HASHTABLE_NOT_A_KEY_VALUE; hash_key_t key = HASHTABLE_NOT_A_KEY_VALUE;
hashtable_rc_t h_rc; hashtable_rc_t h_rc;
struct pdcp_netlink_element_s* data_p = NULL; struct pdcp_netlink_element_s* data_p = NULL;
/* avoid gcc warnings */
(void)data_p;
module_id_t ue_id = 0; module_id_t ue_id = 0;
pdcp_t* pdcp_p = NULL; pdcp_t* pdcp_p = NULL;
# if defined(PDCP_USE_NETLINK_QUEUES) # if defined(PDCP_USE_NETLINK_QUEUES)
@@ -492,7 +494,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const ctxt_pP)
pdcp_read_header_g.inst + oai_emulation.info.first_enb_local;*/ pdcp_read_header_g.inst + oai_emulation.info.first_enb_local;*/
#else // OAI_EMU #else // OAI_EMU
pdcp_read_header_g.inst = 0; pdcp_read_header_g.inst = 0;
#warning "TO DO CORRCT VALUES FOR ue mod id, enb mod id" //#warning "TO DO CORRCT VALUES FOR ue mod id, enb mod id"
ctxt.frame = ctxt_cpy.frame; ctxt.frame = ctxt_cpy.frame;
ctxt.enb_flag = ctxt_cpy.enb_flag; ctxt.enb_flag = ctxt_cpy.enb_flag;
@@ -565,7 +567,7 @@ int pdcp_fifo_read_input_sdus (const protocol_ctxt_t* const ctxt_pP)
} }
} else { // rb_id =0, thus interpreated as broadcast and transported as multiple unicast } else { // rb_id =0, thus interpreated as broadcast and transported as multiple unicast
// is a broadcast packet, we have to send this packet on all default RABS of all connected UEs // is a broadcast packet, we have to send this packet on all default RABS of all connected UEs
#warning CODE TO BE REVIEWED, ONLY WORK FOR SIMPLE TOPOLOGY CASES //#warning CODE TO BE REVIEWED, ONLY WORK FOR SIMPLE TOPOLOGY CASES
for (ue_id = 0; ue_id < NB_UE_INST; ue_id++) { for (ue_id = 0; ue_id < NB_UE_INST; ue_id++) {
if (oai_emulation.info.eNB_ue_module_id_to_rnti[ctxt_cpy.module_id][ue_id] != NOT_A_RNTI) { if (oai_emulation.info.eNB_ue_module_id_to_rnti[ctxt_cpy.module_id][ue_id] != NOT_A_RNTI) {
ctxt.rnti = oai_emulation.info.eNB_ue_module_id_to_rnti[ctxt_cpy.module_id][ue_id]; ctxt.rnti = oai_emulation.info.eNB_ue_module_id_to_rnti[ctxt_cpy.module_id][ue_id];
+15
View File
@@ -599,6 +599,7 @@ rlc_am_mac_status_indication (
rlc_sn_t sn_end = (rlc->vt_a - 1) & RLC_AM_SN_MASK; rlc_sn_t sn_end = (rlc->vt_a - 1) & RLC_AM_SN_MASK;
int found_pdu = 0; int found_pdu = 0;
rlc_sn_t found_pdu_sn = 0; // avoid warning rlc_sn_t found_pdu_sn = 0; // avoid warning
(void)found_pdu_sn; /* avoid gcc warning "set but not used" */
while (sn != sn_end) { while (sn != sn_end) {
@@ -681,6 +682,12 @@ rlc_am_mac_data_request (
MessageDef *msg_p; MessageDef *msg_p;
# endif # endif
int octet_index, index; int octet_index, index;
/* for no gcc warnings */
(void)num_nack;
(void)message_string;
(void)message_string_size;
(void)octet_index;
(void)index;
#endif #endif
list_init (&data_req.data, NULL); list_init (&data_req.data, NULL);
@@ -915,8 +922,16 @@ rlc_am_mac_data_indication (
MessageDef *msg_p; MessageDef *msg_p;
# endif # endif
int octet_index, index; int octet_index, index;
/* for no gcc warnings */
(void)num_nack;
(void)message_string;
(void)message_string_size;
(void)octet_index;
(void)index;
#endif #endif
(void)l_rlc_p; /* avoid gcc warning "unused variable" */
#if TRACE_RLC_AM_PDU || MESSAGE_CHART_GENERATOR #if TRACE_RLC_AM_PDU || MESSAGE_CHART_GENERATOR
if (data_indP.data.nb_elements > 0) { if (data_indP.data.nb_elements > 0) {
+2 -2
View File
@@ -57,7 +57,7 @@ rlc_am_init(
pthread_mutex_init(&rlc_pP->lock_input_sdus, NULL); pthread_mutex_init(&rlc_pP->lock_input_sdus, NULL);
rlc_pP->input_sdus = calloc(1, RLC_AM_SDU_CONTROL_BUFFER_SIZE*sizeof(rlc_am_tx_sdu_management_t)); rlc_pP->input_sdus = calloc(1, RLC_AM_SDU_CONTROL_BUFFER_SIZE*sizeof(rlc_am_tx_sdu_management_t));
#warning "cast the rlc retrans buffer to uint32" //#warning "cast the rlc retrans buffer to uint32"
// rlc_pP->pdu_retrans_buffer = calloc(1, (uint16_t)((unsigned int)RLC_AM_PDU_RETRANSMISSION_BUFFER_SIZE*(unsigned int)sizeof(rlc_am_tx_data_pdu_management_t))); // rlc_pP->pdu_retrans_buffer = calloc(1, (uint16_t)((unsigned int)RLC_AM_PDU_RETRANSMISSION_BUFFER_SIZE*(unsigned int)sizeof(rlc_am_tx_data_pdu_management_t)));
rlc_pP->pdu_retrans_buffer = calloc(1, (uint32_t)((unsigned int)RLC_AM_PDU_RETRANSMISSION_BUFFER_SIZE*(unsigned int)sizeof( rlc_pP->pdu_retrans_buffer = calloc(1, (uint32_t)((unsigned int)RLC_AM_PDU_RETRANSMISSION_BUFFER_SIZE*(unsigned int)sizeof(
rlc_am_tx_data_pdu_management_t))); rlc_am_tx_data_pdu_management_t)));
@@ -114,7 +114,7 @@ rlc_am_reestablish(
LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[AM REESTABLISH] RE-INIT STATE VARIABLES, BUFFERS, LISTS\n", LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[AM REESTABLISH] RE-INIT STATE VARIABLES, BUFFERS, LISTS\n",
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP)); PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP));
#warning TODO when possible reassemble RLC SDUs from any byte segments of AMD PDUs with SN inf VR(MR) //#warning TODO when possible reassemble RLC SDUs from any byte segments of AMD PDUs with SN inf VR(MR)
list2_free(&rlc_pP->receiver_buffer); list2_free(&rlc_pP->receiver_buffer);
list_free(&rlc_pP->pdus_to_mac_layer); list_free(&rlc_pP->pdus_to_mac_layer);
@@ -516,7 +516,7 @@ void rlc_am_segment_10 (
pdu_tb_req_p->data_ptr = (unsigned char*)pdu_p; pdu_tb_req_p->data_ptr = (unsigned char*)pdu_p;
pdu_tb_req_p->tb_size = data_pdu_size - pdu_remaining_size; pdu_tb_req_p->tb_size = data_pdu_size - pdu_remaining_size;
#warning "why 3000: changed to RLC_SDU_MAX_SIZE " //#warning "why 3000: changed to RLC_SDU_MAX_SIZE "
assert(pdu_tb_req_p->tb_size < RLC_SDU_MAX_SIZE ); assert(pdu_tb_req_p->tb_size < RLC_SDU_MAX_SIZE );
rlc_am_pdu_polling(ctxt_pP, rlc_pP, pdu_p, pdu_mngt_p->payload_size); rlc_am_pdu_polling(ctxt_pP, rlc_pP, pdu_p, pdu_mngt_p->payload_size);
+1 -1
View File
@@ -745,7 +745,7 @@ rlc_um_data_req (const protocol_ctxt_t* const ctxt_pP, void *rlc_pP, mem_block_t
/* /*
* Print every single octet in hexadecimal form * Print every single octet in hexadecimal form
*/ */
message_string_size += sprintf(&message_string[message_string_size], " %02x", (uint8_t*)(&sdu_pP->data[data_offset])[octet_index]); message_string_size += sprintf(&message_string[message_string_size], " %02x", ((uint8_t*)(&sdu_pP->data[data_offset]))[octet_index]);
/* /*
* Align newline and pipes according to the octets in groups of 2 * Align newline and pipes according to the octets in groups of 2
*/ */
+3
View File
@@ -602,6 +602,9 @@ rlc_module_init (void)
int k; int k;
module_id_t module_id1; module_id_t module_id1;
/* for no gcc warnings */
(void)k;
LOG_D(RLC, "MODULE INIT\n"); LOG_D(RLC, "MODULE INIT\n");
rlc_rrc_data_ind = NULL; rlc_rrc_data_ind = NULL;
rlc_rrc_data_conf = NULL; rlc_rrc_data_conf = NULL;
+10 -2
View File
@@ -87,6 +87,11 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t * const ctxt_pP
#endif #endif
/* for no gcc warnings */
(void)rlc_union_p;
(void)key;
(void)h_rc;
LOG_D(RLC, PROTOCOL_CTXT_FMT" CONFIG REQ ASN1 \n", LOG_D(RLC, PROTOCOL_CTXT_FMT" CONFIG REQ ASN1 \n",
PROTOCOL_CTXT_ARGS(ctxt_pP)); PROTOCOL_CTXT_ARGS(ctxt_pP));
@@ -196,7 +201,7 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t * const ctxt_pP
break; break;
case SRB_ToAddMod__rlc_Config_PR_defaultValue: case SRB_ToAddMod__rlc_Config_PR_defaultValue:
#warning TO DO SRB_ToAddMod__rlc_Config_PR_defaultValue //#warning TO DO SRB_ToAddMod__rlc_Config_PR_defaultValue
if (rrc_rlc_add_rlc (ctxt_pP, SRB_FLAG_YES, MBMS_FLAG_NO, rb_id, lc_id, RLC_MODE_UM) != NULL) { if (rrc_rlc_add_rlc (ctxt_pP, SRB_FLAG_YES, MBMS_FLAG_NO, rb_id, lc_id, RLC_MODE_UM) != NULL) {
config_req_rlc_um_asn1( config_req_rlc_um_asn1(
ctxt_pP, ctxt_pP,
@@ -463,6 +468,9 @@ rlc_op_status_t rrc_rlc_remove_rlc (
#endif #endif
/* for no gcc warnings */
(void)lcid;
#ifdef Rel10 #ifdef Rel10
if (MBMS_flagP == TRUE) { if (MBMS_flagP == TRUE) {
@@ -634,7 +642,7 @@ rlc_op_status_t rrc_rlc_config_req (
const rlc_info_t rlc_infoP) const rlc_info_t rlc_infoP)
{ {
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
rlc_op_status_t status; //rlc_op_status_t status;
LOG_D(RLC, PROTOCOL_CTXT_FMT" CONFIG_REQ for RAB %u\n", LOG_D(RLC, PROTOCOL_CTXT_FMT" CONFIG_REQ for RAB %u\n",
PROTOCOL_CTXT_ARGS(ctxt_pP), PROTOCOL_CTXT_ARGS(ctxt_pP),
+3 -3
View File
@@ -74,7 +74,7 @@ int dump_eNB_l2_stats(char *buffer, int length)
int eNB_id,UE_id,number_of_cards; int eNB_id,UE_id,number_of_cards;
int len= length; int len= length;
int CC_id=0; int CC_id=0;
int i,j; int i;
protocol_ctxt_t ctxt; protocol_ctxt_t ctxt;
rlc_op_status_t rlc_status; rlc_op_status_t rlc_status;
unsigned int stat_rlc_mode; unsigned int stat_rlc_mode;
@@ -150,7 +150,7 @@ int dump_eNB_l2_stats(char *buffer, int length)
eNB->eNB_stats[CC_id].dlsch_pdus_tx, eNB->eNB_stats[CC_id].dlsch_pdus_tx,
eNB->eNB_stats[CC_id].total_dlsch_pdus_tx); eNB->eNB_stats[CC_id].total_dlsch_pdus_tx);
len += sprintf(&buffer[len],"ULSCH bitrate (TTI %u, avg %u) kbps, Received bytes (TTI %u, total %u), Received PDU (TTI %u, total %lu) \n", len += sprintf(&buffer[len],"ULSCH bitrate (TTI %u, avg %u) kbps, Received bytes (TTI %u, total %u), Received PDU (TTI %lu, total %u) \n",
eNB->eNB_stats[CC_id].ulsch_bitrate, eNB->eNB_stats[CC_id].ulsch_bitrate,
eNB->eNB_stats[CC_id].total_ulsch_bitrate, eNB->eNB_stats[CC_id].total_ulsch_bitrate,
eNB->eNB_stats[CC_id].ulsch_bytes_rx, eNB->eNB_stats[CC_id].ulsch_bytes_rx,
@@ -201,7 +201,7 @@ int dump_eNB_l2_stats(char *buffer, int length)
UE_list->eNB_UE_stats[CC_id][UE_id].avg_overhead_bytes UE_list->eNB_UE_stats[CC_id][UE_id].avg_overhead_bytes
); );
len += sprintf(&buffer[len],"[MAC] UE %d (ULSCH), Status %d, RNTI %x : rx power (normalized %d, target %d), MCS (pre %d, post %d), RB (rx %d, retx %d, total %d), Current TBS %d \n", len += sprintf(&buffer[len],"[MAC] UE %d (ULSCH), Status %s, RNTI %x : rx power (normalized %d, target %d), MCS (pre %d, post %d), RB (rx %d, retx %d, total %d), Current TBS %d \n",
UE_id, UE_id,
map_int_to_str(rrc_status_names, UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status), map_int_to_str(rrc_status_names, UE_list->eNB_UE_stats[CC_id][UE_id].rrc_status),
UE_list->eNB_UE_stats[CC_id][UE_id].crnti, UE_list->eNB_UE_stats[CC_id][UE_id].crnti,
+8 -3
View File
@@ -241,19 +241,24 @@ typedef struct {
uint16_t (*get_nCCE_max)(module_id_t Mod_id,uint8_t CC_id,int num_pdcch_symbols,int subframe); uint16_t (*get_nCCE_max)(module_id_t Mod_id,uint8_t CC_id,int num_pdcch_symbols,int subframe);
int (*get_nCCE_offset)(unsigned char L, int nCCE, int common_dci, unsigned short rnti, unsigned char subframe); int (*get_nCCE_offset)(int *CCE_table,
const unsigned char L,
const int nCCE,
const int common_dci,
const unsigned short rnti,
const unsigned char subframe);
/// Function to retrieve number of PRB in an rb_alloc /// Function to retrieve number of PRB in an rb_alloc
uint32_t (*get_nb_rb)(uint8_t ra_header, uint32_t rb_alloc, int n_rb_dl); uint32_t (*get_nb_rb)(uint8_t ra_header, uint32_t rb_alloc, int n_rb_dl);
/// Function to convert VRB to PRB for distributed allocation /// Function to convert VRB to PRB for distributed allocation
int (*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);
/// Function to retrieve transmission mode for UE /// Function to retrieve transmission mode for UE
uint8_t (*get_transmission_mode)(module_id_t Mod_id,uint8_t CC_id,rnti_t rnti); uint8_t (*get_transmission_mode)(module_id_t Mod_id,uint8_t CC_id,rnti_t rnti);
/// Function to retrieve rb_alloc bitmap from dci rballoc field and VRB type /// Function to retrieve rb_alloc bitmap from dci rballoc field and VRB type
uint32_t (*get_rballoc)(uint8_t vrb_type, uint16_t rb_alloc_dci); uint32_t (*get_rballoc)(vrb_t vrb_type, uint16_t rb_alloc_dci);
/// Function for UE MAC to retrieve current PHY connectivity mode (PRACH,RA_RESPONSE,PUSCH) /// Function for UE MAC to retrieve current PHY connectivity mode (PRACH,RA_RESPONSE,PUSCH)
UE_MODE_t (*get_ue_mode)(module_id_t Mod_id, uint8_t CC_id,uint8_t eNB_index); UE_MODE_t (*get_ue_mode)(module_id_t Mod_id, uint8_t CC_id,uint8_t eNB_index);
+6 -2
View File
@@ -355,6 +355,10 @@ mac_rrc_lite_data_ind(
SRB_INFO *Srb_info; SRB_INFO *Srb_info;
protocol_ctxt_t ctxt; protocol_ctxt_t ctxt;
sdu_size_t sdu_size = 0; sdu_size_t sdu_size = 0;
/* for no gcc warnings */
(void)sdu_size;
/* /*
int si_window; int si_window;
*/ */
@@ -389,7 +393,7 @@ mac_rrc_lite_data_ind(
itti_send_msg_to_task (TASK_RRC_UE, ctxt.instance, message_p); itti_send_msg_to_task (TASK_RRC_UE, ctxt.instance, message_p);
} }
#else #else
decode_BCCH_DLSCH_Message(&ctxt,eNB_indexP,sduP,sdu_lenP, 0, 0); decode_BCCH_DLSCH_Message(&ctxt,eNB_indexP,(uint8_t*)sduP,sdu_lenP, 0, 0);
#endif #endif
} }
@@ -634,7 +638,7 @@ rrc_lite_data_ind(
buffer_pP, buffer_pP,
sdu_sizeP); sdu_sizeP);
} else { } else {
#warning "LG put 0 to arg4 that is eNB index" //#warning "LG put 0 to arg4 that is eNB index"
rrc_ue_decode_dcch( rrc_ue_decode_dcch(
ctxt_pP, ctxt_pP,
DCCH_index, DCCH_index,
+18 -3
View File
@@ -141,7 +141,9 @@ static uint8_t check_trigger_meas_event(
Q_OffsetRange_t ofn, Q_OffsetRange_t ocn, Hysteresis_t hys, Q_OffsetRange_t ofn, Q_OffsetRange_t ocn, Hysteresis_t hys,
Q_OffsetRange_t ofs, Q_OffsetRange_t ocs, long a3_offset, TimeToTrigger_t ttt); Q_OffsetRange_t ofs, Q_OffsetRange_t ocs, long a3_offset, TimeToTrigger_t ttt);
#ifdef Rel10
static void decode_MBSFNAreaConfiguration(module_id_t module_idP, uint8_t eNB_index, frame_t frameP,uint8_t mbsfn_sync_area); static void decode_MBSFNAreaConfiguration(module_id_t module_idP, uint8_t eNB_index, frame_t frameP,uint8_t mbsfn_sync_area);
#endif
@@ -151,10 +153,13 @@ static void decode_MBSFNAreaConfiguration(module_id_t module_idP, uint8_t eNB_in
/*------------------------------------------------------------------------------*/ /*------------------------------------------------------------------------------*/
/* to avoid gcc warnings when compiling with certain options */
#if defined(ENABLE_USE_MME) || ENABLE_RAL
static Rrc_State_t rrc_get_state (module_id_t ue_mod_idP) static Rrc_State_t rrc_get_state (module_id_t ue_mod_idP)
{ {
return UE_rrc_inst[ue_mod_idP].RrcState; return UE_rrc_inst[ue_mod_idP].RrcState;
} }
#endif
static Rrc_Sub_State_t rrc_get_sub_state (module_id_t ue_mod_idP) static Rrc_Sub_State_t rrc_get_sub_state (module_id_t ue_mod_idP)
{ {
@@ -261,6 +266,7 @@ static void init_SI_UE( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_
#ifdef Rel10 #ifdef Rel10
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
#if 0
static void init_MCCH_UE(module_id_t ue_mod_idP, uint8_t eNB_index) static void init_MCCH_UE(module_id_t ue_mod_idP, uint8_t eNB_index)
{ {
int i; int i;
@@ -274,6 +280,7 @@ static void init_MCCH_UE(module_id_t ue_mod_idP, uint8_t eNB_index)
} }
} }
#endif #endif
#endif
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
static void openair_rrc_lite_ue_init_security( const protocol_ctxt_t* const ctxt_pP ) static void openair_rrc_lite_ue_init_security( const protocol_ctxt_t* const ctxt_pP )
@@ -697,6 +704,10 @@ rrc_ue_establish_drb(
// add descriptor from RRC PDU // add descriptor from RRC PDU
#ifdef PDCP_USE_NETLINK #ifdef PDCP_USE_NETLINK
int oip_ifup=0,ip_addr_offset3=0,ip_addr_offset4=0; int oip_ifup=0,ip_addr_offset3=0,ip_addr_offset4=0;
/* avoid gcc warnings */
(void)oip_ifup;
(void)ip_addr_offset3;
(void)ip_addr_offset4;
#endif #endif
LOG_I(RRC,"[UE %d] Frame %d: processing RRCConnectionReconfiguration: reconfiguring DRB %ld/LCID %d\n", LOG_I(RRC,"[UE %d] Frame %d: processing RRCConnectionReconfiguration: reconfiguring DRB %ld/LCID %d\n",
@@ -1296,7 +1307,7 @@ rrc_ue_process_radioResourceConfigDedicated(
UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index]->cellAccessRelatedInfo.cellIdentity.buf[1], UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index]->cellAccessRelatedInfo.cellIdentity.buf[1],
UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index]->cellAccessRelatedInfo.cellIdentity.buf[2], UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index]->cellAccessRelatedInfo.cellIdentity.buf[2],
UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index]->cellAccessRelatedInfo.cellIdentity.buf[3]); UE_rrc_inst[ctxt_pP->module_id].sib1[eNB_index]->cellAccessRelatedInfo.cellIdentity.buf[3]);
# endif OAI_EMU # endif /* OAI_EMU */
#endif #endif
} }
@@ -2266,6 +2277,9 @@ static const char* SIB2preambleTransMax( long value )
case 10: case 10:
return "n200"; return "n200";
} }
/* unreachable but gcc warns... */
return "ERR";
} }
static const char* SIB2ra_ResponseWindowSize( long value ) static const char* SIB2ra_ResponseWindowSize( long value )
{ {
@@ -3061,9 +3075,10 @@ uint64_t arfcn_to_freq(long arfcn) {
return((uint64_t)3400000000 + ((arfcn-41590)*100000)); return((uint64_t)3400000000 + ((arfcn-41590)*100000));
else if (arfcn <45590) // Band 43 else if (arfcn <45590) // Band 43
return((uint64_t)3600000000 + ((arfcn-43950)*100000)); return((uint64_t)3600000000 + ((arfcn-43950)*100000));
else else {
LOG_E(RRC,"Unknown EARFCN %d\n",arfcn); LOG_E(RRC,"Unknown EARFCN %d\n",arfcn);
exit(1);
}
} }
static void dump_sib5( SystemInformationBlockType5_t *sib5 ) static void dump_sib5( SystemInformationBlockType5_t *sib5 )
{ {
+7 -1
View File
@@ -253,6 +253,9 @@ openair_rrc_top_init(
OAI_UECapability_t *UECap = NULL; OAI_UECapability_t *UECap = NULL;
int CC_id; int CC_id;
/* for no gcc warnings */
(void)CC_id;
LOG_D(RRC, "[OPENAIR][INIT] Init function start: NB_UE_INST=%d, NB_eNB_INST=%d\n", NB_UE_INST, NB_eNB_INST); LOG_D(RRC, "[OPENAIR][INIT] Init function start: NB_UE_INST=%d, NB_eNB_INST=%d\n", NB_UE_INST, NB_eNB_INST);
if (NB_UE_INST > 0) { if (NB_UE_INST > 0) {
@@ -411,7 +414,7 @@ rrc_rx_tx(
) )
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
{ {
uint8_t UE_id; //uint8_t UE_id;
int32_t current_timestamp_ms, ref_timestamp_ms; int32_t current_timestamp_ms, ref_timestamp_ms;
struct timeval ts; struct timeval ts;
#ifdef LOCALIZATION #ifdef LOCALIZATION
@@ -547,6 +550,9 @@ rrc_rx_tx(
} }
#endif #endif
(void)ts; /* remove gcc warning "unused variable" */
(void)ref_timestamp_ms; /* remove gcc warning "unused variable" */
(void)current_timestamp_ms; /* remove gcc warning "unused variable" */
} }
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_RX_TX,VCD_FUNCTION_OUT); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_RRC_RX_TX,VCD_FUNCTION_OUT);
+23 -11
View File
@@ -796,6 +796,8 @@ rrc_eNB_free_UE(
protocol_ctxt_t ctxt; protocol_ctxt_t ctxt;
#if !defined(ENABLE_USE_MME) #if !defined(ENABLE_USE_MME)
module_id_t ue_module_id; module_id_t ue_module_id;
/* avoid gcc warnings */
(void)ue_module_id;
#endif #endif
AssertFatal(enb_mod_idP < NB_eNB_INST, "eNB inst invalid (%d/%d) for UE %x!", enb_mod_idP, NB_eNB_INST, rntiP); AssertFatal(enb_mod_idP < NB_eNB_INST, "eNB inst invalid (%d/%d) for UE %x!", enb_mod_idP, NB_eNB_INST, rntiP);
ue_context_p = rrc_eNB_get_ue_context( ue_context_p = rrc_eNB_get_ue_context(
@@ -1131,8 +1133,8 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(
int i; int i;
// configure SRB1/SRB2, PhysicalConfigDedicated, MAC_MainConfig for UE // configure SRB1/SRB2, PhysicalConfigDedicated, MAC_MainConfig for UE
eNB_RRC_INST* rrc_inst = &eNB_rrc_inst[ctxt_pP->module_id]; //eNB_RRC_INST* rrc_inst = &eNB_rrc_inst[ctxt_pP->module_id];
struct PhysicalConfigDedicated** physicalConfigDedicated = &ue_context_pP->ue_context.physicalConfigDedicated; //struct PhysicalConfigDedicated** physicalConfigDedicated = &ue_context_pP->ue_context.physicalConfigDedicated;
struct SRB_ToAddMod *SRB2_config = NULL; struct SRB_ToAddMod *SRB2_config = NULL;
struct SRB_ToAddMod__rlc_Config *SRB2_rlc_config = NULL; struct SRB_ToAddMod__rlc_Config *SRB2_rlc_config = NULL;
@@ -1163,7 +1165,7 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(
#if Rel10 #if Rel10
long *sr_ProhibitTimer_r9 = NULL; long *sr_ProhibitTimer_r9 = NULL;
// uint8_t sCellIndexToAdd = rrc_find_free_SCell_index(enb_mod_idP, ue_mod_idP, 1); // uint8_t sCellIndexToAdd = rrc_find_free_SCell_index(enb_mod_idP, ue_mod_idP, 1);
uint8_t sCellIndexToAdd = 0; //uint8_t sCellIndexToAdd = 0;
#endif #endif
long *logicalchannelgroup, *logicalchannelgroup_drb; long *logicalchannelgroup, *logicalchannelgroup_drb;
@@ -1176,6 +1178,8 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(
CellsToAddModList_t *CellsToAddModList = NULL; CellsToAddModList_t *CellsToAddModList = NULL;
struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList *dedicatedInfoNASList = NULL; struct RRCConnectionReconfiguration_r8_IEs__dedicatedInfoNASList *dedicatedInfoNASList = NULL;
DedicatedInfoNAS_t *dedicatedInfoNas = NULL; DedicatedInfoNAS_t *dedicatedInfoNas = NULL;
/* for no gcc warnings */
(void)dedicatedInfoNas;
C_RNTI_t *cba_RNTI = NULL; C_RNTI_t *cba_RNTI = NULL;
#ifdef CBA #ifdef CBA
@@ -1288,6 +1292,10 @@ rrc_eNB_generate_defaultRRCConnectionReconfiguration(
DRB_pdcp_config->rlc_AM = NULL; DRB_pdcp_config->rlc_AM = NULL;
DRB_pdcp_config->rlc_UM = NULL; DRB_pdcp_config->rlc_UM = NULL;
/* avoid gcc warnings */
(void)PDCP_rlc_AM;
(void)PDCP_rlc_UM;
#ifdef RRC_DEFAULT_RAB_IS_AM // EXMIMO_IOT #ifdef RRC_DEFAULT_RAB_IS_AM // EXMIMO_IOT
PDCP_rlc_AM = CALLOC(1, sizeof(*PDCP_rlc_AM)); PDCP_rlc_AM = CALLOC(1, sizeof(*PDCP_rlc_AM));
DRB_pdcp_config->rlc_AM = PDCP_rlc_AM; DRB_pdcp_config->rlc_AM = PDCP_rlc_AM;
@@ -2097,8 +2105,8 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
QuantityConfig_t *quantityConfig; QuantityConfig_t *quantityConfig;
MobilityControlInfo_t *mobilityInfo; MobilityControlInfo_t *mobilityInfo;
// HandoverCommand_t handoverCommand; // HandoverCommand_t handoverCommand;
uint8_t sourceModId = //uint8_t sourceModId =
get_adjacent_cell_mod_id(ue_context_pP->ue_context.handover_info->as_context.reestablishmentInfo->sourcePhysCellId); // get_adjacent_cell_mod_id(ue_context_pP->ue_context.handover_info->as_context.reestablishmentInfo->sourcePhysCellId);
#if Rel10 #if Rel10
long *sr_ProhibitTimer_r9; long *sr_ProhibitTimer_r9;
#endif #endif
@@ -2945,7 +2953,7 @@ rrc_eNB_generate_RRCConnectionReconfiguration_handover(
handoverCommand.criticalExtensions.choice.c1.choice.handoverCommand_r8.handoverCommandMessage.buf = buffer; handoverCommand.criticalExtensions.choice.c1.choice.handoverCommand_r8.handoverCommandMessage.buf = buffer;
handoverCommand.criticalExtensions.choice.c1.choice.handoverCommand_r8.handoverCommandMessage.size = size; handoverCommand.criticalExtensions.choice.c1.choice.handoverCommand_r8.handoverCommandMessage.size = size;
*/ */
#warning "COMPILATION PROBLEM" //#warning "COMPILATION PROBLEM"
#ifdef PROBLEM_COMPILATION_RESOLVED #ifdef PROBLEM_COMPILATION_RESOLVED
if (sourceModId != 0xFF) { if (sourceModId != 0xFF) {
@@ -3003,6 +3011,10 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
int oip_ifup = 0; int oip_ifup = 0;
int dest_ip_offset = 0; int dest_ip_offset = 0;
module_id_t ue_module_id = -1; module_id_t ue_module_id = -1;
/* avoid gcc warnings */
(void)oip_ifup;
(void)dest_ip_offset;
(void)ue_module_id;
#endif #endif
uint8_t *kRRCenc = NULL; uint8_t *kRRCenc = NULL;
@@ -3010,7 +3022,7 @@ rrc_eNB_process_RRCConnectionReconfigurationComplete(
uint8_t *kUPenc = NULL; uint8_t *kUPenc = NULL;
DRB_ToAddModList_t* DRB_configList = ue_context_pP->ue_context.DRB_configList; DRB_ToAddModList_t* DRB_configList = ue_context_pP->ue_context.DRB_configList;
SRB_ToAddModList_t* SRB_configList = ue_context_pP->ue_context.SRB_configList; //SRB_ToAddModList_t* SRB_configList = ue_context_pP->ue_context.SRB_configList;
#if defined(ENABLE_SECURITY) #if defined(ENABLE_SECURITY)
@@ -3700,7 +3712,7 @@ rrc_eNB_decode_ccch(
* the current one must be removed from MAC/PHY (zombie UE) * the current one must be removed from MAC/PHY (zombie UE)
*/ */
if ((ue_context_p = rrc_eNB_ue_context_random_exist(ctxt_pP, random_value))) { if ((ue_context_p = rrc_eNB_ue_context_random_exist(ctxt_pP, random_value))) {
#warning "TODO: random_exist: remove UE from MAC/PHY (how?)" //#warning "TODO: random_exist: remove UE from MAC/PHY (how?)"
// AssertFatal(0 == 1, "TODO: remove UE from MAC/PHY (how?)"); // AssertFatal(0 == 1, "TODO: remove UE from MAC/PHY (how?)");
ue_context_p = NULL; ue_context_p = NULL;
} else { } else {
@@ -3713,7 +3725,7 @@ rrc_eNB_decode_ccch(
m_tmsi_t m_tmsi = BIT_STRING_to_uint32(&s_TMSI.m_TMSI); m_tmsi_t m_tmsi = BIT_STRING_to_uint32(&s_TMSI.m_TMSI);
random_value = (((uint64_t)mme_code) << 32) | m_tmsi; random_value = (((uint64_t)mme_code) << 32) | m_tmsi;
if ((ue_context_p = rrc_eNB_ue_context_stmsi_exist(ctxt_pP, mme_code, m_tmsi))) { if ((ue_context_p = rrc_eNB_ue_context_stmsi_exist(ctxt_pP, mme_code, m_tmsi))) {
#warning "TODO: stmsi_exist: remove UE from MAC/PHY (how?)" //#warning "TODO: stmsi_exist: remove UE from MAC/PHY (how?)"
// AssertFatal(0 == 1, "TODO: remove UE from MAC/PHY (how?)"); // AssertFatal(0 == 1, "TODO: remove UE from MAC/PHY (how?)");
ue_context_p = NULL; ue_context_p = NULL;
} else { } else {
@@ -4175,7 +4187,7 @@ rrc_eNB_decode_dcch(
// cancel the security mode in PDCP // cancel the security mode in PDCP
// followup with the remaining procedure // followup with the remaining procedure
#warning "LG Removed rrc_eNB_generate_UECapabilityEnquiry after receiving securityModeFailure" //#warning "LG Removed rrc_eNB_generate_UECapabilityEnquiry after receiving securityModeFailure"
rrc_eNB_generate_UECapabilityEnquiry(ctxt_pP, ue_context_p); rrc_eNB_generate_UECapabilityEnquiry(ctxt_pP, ue_context_p);
break; break;
@@ -4443,7 +4455,7 @@ rrc_enb_task(
//SPECTRA: Add the RRC connection reconfiguration with Second cell configuration //SPECTRA: Add the RRC connection reconfiguration with Second cell configuration
case RRC_RAL_CONNECTION_RECONFIGURATION_REQ: case RRC_RAL_CONNECTION_RECONFIGURATION_REQ:
// ue_mod_id = 0; /* TODO force ue_mod_id to first UE, NAS UE not virtualized yet */ // ue_mod_id = 0; /* TODO force ue_mod_id to first UE, NAS UE not virtualized yet */
#warning "TODO GET RIGHT RNTI" //#warning "TODO GET RIGHT RNTI"
PROTOCOL_CTXT_SET_BY_INSTANCE(&ctxt, PROTOCOL_CTXT_SET_BY_INSTANCE(&ctxt,
instance, instance,
ENB_FLAG_YES, ENB_FLAG_YES,
+1
View File
@@ -86,6 +86,7 @@ rrc_eNB_process_GTPV1U_CREATE_TUNNEL_RESP(
create_tunnel_resp_pP->num_tunnels, create_tunnel_resp_pP->num_tunnels,
ue_context_p->ue_context.enb_gtp_ebi[0], ue_context_p->ue_context.enb_gtp_ebi[0],
ue_context_p->ue_context.enb_gtp_teid[0]); ue_context_p->ue_context.enb_gtp_teid[0]);
(void)rnti; /* avoid gcc warning "set but not used" */
return 0; return 0;
} else { } else {
return -1; return -1;
+8 -4
View File
@@ -60,6 +60,9 @@
#endif #endif
#include "msc.h" #include "msc.h"
#include "gtpv1u_eNB_task.h"
#include "RRC/LITE/rrc_eNB_GTPV1U.h"
/* Value to indicate an invalid UE initial id */ /* Value to indicate an invalid UE initial id */
static const uint16_t UE_INITIAL_ID_INVALID = 0; static const uint16_t UE_INITIAL_ID_INVALID = 0;
@@ -233,7 +236,7 @@ rrc_eNB_get_ue_context_from_s1ap_ids(
static e_SecurityAlgorithmConfig__cipheringAlgorithm rrc_eNB_select_ciphering(uint16_t algorithms) static e_SecurityAlgorithmConfig__cipheringAlgorithm rrc_eNB_select_ciphering(uint16_t algorithms)
{ {
#warning "Forced return SecurityAlgorithmConfig__cipheringAlgorithm_eea0, to be deleted in future" //#warning "Forced return SecurityAlgorithmConfig__cipheringAlgorithm_eea0, to be deleted in future"
return SecurityAlgorithmConfig__cipheringAlgorithm_eea0; return SecurityAlgorithmConfig__cipheringAlgorithm_eea0;
if (algorithms & S1AP_ENCRYPTION_EEA2_MASK) { if (algorithms & S1AP_ENCRYPTION_EEA2_MASK) {
@@ -392,6 +395,7 @@ rrc_pdcp_config_security(
#define DEBUG_SECURITY 1 #define DEBUG_SECURITY 1
#if defined (DEBUG_SECURITY) #if defined (DEBUG_SECURITY)
#undef msg
#define msg printf #define msg printf
if (print_keys ==1 ) { if (print_keys ==1 ) {
@@ -671,7 +675,7 @@ rrc_eNB_send_S1AP_NAS_FIRST_REQ(
if (rrcConnectionSetupComplete->registeredMME != NULL) { if (rrcConnectionSetupComplete->registeredMME != NULL) {
/* Fill GUMMEI */ /* Fill GUMMEI */
struct RegisteredMME *r_mme = rrcConnectionSetupComplete->registeredMME; struct RegisteredMME *r_mme = rrcConnectionSetupComplete->registeredMME;
int selected_plmn_identity = rrcConnectionSetupComplete->selectedPLMN_Identity; //int selected_plmn_identity = rrcConnectionSetupComplete->selectedPLMN_Identity;
S1AP_NAS_FIRST_REQ (message_p).ue_identity.presenceMask |= UE_IDENTITIES_gummei; S1AP_NAS_FIRST_REQ (message_p).ue_identity.presenceMask |= UE_IDENTITIES_gummei;
@@ -858,7 +862,7 @@ int rrc_eNB_process_S1AP_INITIAL_CONTEXT_SETUP_REQ(MessageDef *msg_p, const char
{ {
uint16_t ue_initial_id; uint16_t ue_initial_id;
uint32_t eNB_ue_s1ap_id; uint32_t eNB_ue_s1ap_id;
MessageDef *message_gtpv1u_p = NULL; //MessageDef *message_gtpv1u_p = NULL;
gtpv1u_enb_create_tunnel_req_t create_tunnel_req; gtpv1u_enb_create_tunnel_req_t create_tunnel_req;
gtpv1u_enb_create_tunnel_resp_t create_tunnel_resp; gtpv1u_enb_create_tunnel_resp_t create_tunnel_resp;
@@ -1169,7 +1173,7 @@ int rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_COMMAND (MessageDef *msg_p, const ch
*/ */
{ {
int e_rab; int e_rab;
int mod_id = 0; //int mod_id = 0;
MessageDef *msg_delete_tunnels_p = NULL; MessageDef *msg_delete_tunnels_p = NULL;
MSC_LOG_TX_MESSAGE( MSC_LOG_TX_MESSAGE(
+2
View File
@@ -63,6 +63,8 @@ rrc_eNB_S1AP_compare_ue_ids(
struct rrc_ue_s1ap_ids_s* c2_pP struct rrc_ue_s1ap_ids_s* c2_pP
); );
struct rrc_rnti_tree_s;
RB_PROTOTYPE(rrc_rnti_tree_s, rrc_ue_s1ap_ids_s, entries, rrc_eNB_S1AP_compare_ue_ids); RB_PROTOTYPE(rrc_rnti_tree_s, rrc_ue_s1ap_ids_s, entries, rrc_eNB_S1AP_compare_ue_ids);
struct rrc_ue_s1ap_ids_s* struct rrc_ue_s1ap_ids_s*
+10 -4
View File
@@ -88,18 +88,24 @@ struct LogicalChannelConfig__ul_SpecificParameters LCSRB2 = {3,
}; };
#ifdef Rel10
struct LogicalChannelConfig__ext1 logicalChannelSR_Mask_r9_ext1 = {
logicalChannelSR_Mask_r9: &logicalChannelSR_Mask_r9
};
#endif
// These are the default SRB configurations from 36.331 (Chapter 9, p. 176-179 in v8.6) // These are the default SRB configurations from 36.331 (Chapter 9, p. 176-179 in v8.6)
LogicalChannelConfig_t SRB1_logicalChannelConfig_defaultValue = {&LCSRB1 LogicalChannelConfig_t SRB1_logicalChannelConfig_defaultValue = {ul_SpecificParameters: &LCSRB1
#ifdef Rel10 #ifdef Rel10
, ,
&logicalChannelSR_Mask_r9 ext1: &logicalChannelSR_Mask_r9_ext1
#endif #endif
}; };
LogicalChannelConfig_t SRB2_logicalChannelConfig_defaultValue = {&LCSRB2 LogicalChannelConfig_t SRB2_logicalChannelConfig_defaultValue = {ul_SpecificParameters: &LCSRB2
#ifdef Rel10 #ifdef Rel10
, ,
&logicalChannelSR_Mask_r9 ext1: &logicalChannelSR_Mask_r9_ext1
#endif #endif
}; };
@@ -48,7 +48,7 @@ int lfds611_freelist_new( struct lfds611_freelist_state **fs, lfds611_atom_t num
/****************************************************************************/ /****************************************************************************/
#pragma warning( disable : 4100 ) //#pragma warning( disable : 4100 )
void lfds611_freelist_use( struct lfds611_freelist_state *fs ) void lfds611_freelist_use( struct lfds611_freelist_state *fs )
{ {
@@ -59,7 +59,7 @@ void lfds611_freelist_use( struct lfds611_freelist_state *fs )
return; return;
} }
#pragma warning( default : 4100 ) //#pragma warning( default : 4100 )
@@ -41,7 +41,7 @@ void lfds611_queue_delete( struct lfds611_queue_state *qs, void (*user_data_dele
/****************************************************************************/ /****************************************************************************/
#pragma warning( disable : 4100 ) //#pragma warning( disable : 4100 )
void lfds611_queue_internal_freelist_delete_function( void *user_data, void *user_state ) void lfds611_queue_internal_freelist_delete_function( void *user_data, void *user_state )
{ {
@@ -53,5 +53,5 @@ void lfds611_queue_internal_freelist_delete_function( void *user_data, void *use
return; return;
} }
#pragma warning( default : 4100 ) //#pragma warning( default : 4100 )
@@ -46,7 +46,7 @@ int lfds611_queue_new( struct lfds611_queue_state **qs, lfds611_atom_t number_el
/****************************************************************************/ /****************************************************************************/
#pragma warning( disable : 4100 ) //#pragma warning( disable : 4100 )
void lfds611_queue_use( struct lfds611_queue_state *qs ) void lfds611_queue_use( struct lfds611_queue_state *qs )
{ {
@@ -57,14 +57,14 @@ void lfds611_queue_use( struct lfds611_queue_state *qs )
return; return;
} }
#pragma warning( default : 4100 ) //#pragma warning( default : 4100 )
/****************************************************************************/ /****************************************************************************/
#pragma warning( disable : 4100 ) //#pragma warning( disable : 4100 )
int lfds611_queue_internal_freelist_init_function( void **user_data, void *user_state ) int lfds611_queue_internal_freelist_init_function( void **user_data, void *user_state )
{ {
@@ -82,7 +82,7 @@ int lfds611_queue_internal_freelist_init_function( void **user_data, void *user_
return( rv ); return( rv );
} }
#pragma warning( default : 4100 ) //#pragma warning( default : 4100 )
@@ -5,7 +5,7 @@
/****************************************************************************/ /****************************************************************************/
#pragma warning( disable : 4100 ) //#pragma warning( disable : 4100 )
void lfds611_queue_query( struct lfds611_queue_state *qs, enum lfds611_queue_query_type query_type, void *query_input, void *query_output ) void lfds611_queue_query( struct lfds611_queue_state *qs, enum lfds611_queue_query_type query_type, void *query_input, void *query_output )
{ {
@@ -31,7 +31,7 @@ void lfds611_queue_query( struct lfds611_queue_state *qs, enum lfds611_queue_que
return; return;
} }
#pragma warning( default : 4100 ) //#pragma warning( default : 4100 )
@@ -48,7 +48,7 @@ int lfds611_ringbuffer_new( struct lfds611_ringbuffer_state **rs, lfds611_atom_t
/****************************************************************************/ /****************************************************************************/
#pragma warning( disable : 4100 ) //#pragma warning( disable : 4100 )
void lfds611_ringbuffer_use( struct lfds611_ringbuffer_state *rs ) void lfds611_ringbuffer_use( struct lfds611_ringbuffer_state *rs )
{ {
@@ -59,5 +59,5 @@ void lfds611_ringbuffer_use( struct lfds611_ringbuffer_state *rs )
return; return;
} }
#pragma warning( default : 4100 ) //#pragma warning( default : 4100 )
@@ -5,7 +5,7 @@
/****************************************************************************/ /****************************************************************************/
#pragma warning( disable : 4100 ) //#pragma warning( disable : 4100 )
void lfds611_ringbuffer_query( struct lfds611_ringbuffer_state *rs, enum lfds611_ringbuffer_query_type query_type, void *query_input, void *query_output ) void lfds611_ringbuffer_query( struct lfds611_ringbuffer_state *rs, enum lfds611_ringbuffer_query_type query_type, void *query_input, void *query_output )
{ {
@@ -26,7 +26,7 @@ void lfds611_ringbuffer_query( struct lfds611_ringbuffer_state *rs, enum lfds611
return; return;
} }
#pragma warning( default : 4100 ) //#pragma warning( default : 4100 )
@@ -31,7 +31,7 @@ int lfds611_slist_new( struct lfds611_slist_state **ss, void (*user_data_delete_
/****************************************************************************/ /****************************************************************************/
#pragma warning( disable : 4100 ) //#pragma warning( disable : 4100 )
void lfds611_slist_use( struct lfds611_slist_state *ss ) void lfds611_slist_use( struct lfds611_slist_state *ss )
{ {
@@ -42,7 +42,7 @@ void lfds611_slist_use( struct lfds611_slist_state *ss )
return; return;
} }
#pragma warning( default : 4100 ) //#pragma warning( default : 4100 )
@@ -51,7 +51,7 @@ void lfds611_stack_clear( struct lfds611_stack_state *ss, void (*user_data_clear
/****************************************************************************/ /****************************************************************************/
#pragma warning( disable : 4100 ) //#pragma warning( disable : 4100 )
void lfds611_stack_internal_freelist_delete_function( void *user_data, void *user_state ) void lfds611_stack_internal_freelist_delete_function( void *user_data, void *user_state )
{ {
@@ -63,5 +63,5 @@ void lfds611_stack_internal_freelist_delete_function( void *user_data, void *use
return; return;
} }
#pragma warning( default : 4100 ) //#pragma warning( default : 4100 )
@@ -42,7 +42,7 @@ int lfds611_stack_new( struct lfds611_stack_state **ss, lfds611_atom_t number_el
/****************************************************************************/ /****************************************************************************/
#pragma warning( disable : 4100 ) //#pragma warning( disable : 4100 )
void lfds611_stack_use( struct lfds611_stack_state *ss ) void lfds611_stack_use( struct lfds611_stack_state *ss )
{ {
@@ -53,14 +53,14 @@ void lfds611_stack_use( struct lfds611_stack_state *ss )
return; return;
} }
#pragma warning( default : 4100 ) //#pragma warning( default : 4100 )
/****************************************************************************/ /****************************************************************************/
#pragma warning( disable : 4100 ) //#pragma warning( disable : 4100 )
int lfds611_stack_internal_freelist_init_function( void **user_data, void *user_state ) int lfds611_stack_internal_freelist_init_function( void **user_data, void *user_state )
{ {
@@ -78,7 +78,7 @@ int lfds611_stack_internal_freelist_init_function( void **user_data, void *user_
return( rv ); return( rv );
} }
#pragma warning( default : 4100 ) //#pragma warning( default : 4100 )
+8
View File
@@ -698,6 +698,10 @@ void logRecord_mt(const char *file, const char *func, int line, int comp,
char *log_start; char *log_start;
char *log_end; char *log_end;
/* for no gcc warnings */
(void)log_start;
(void)log_end;
c = &g_log->log_component[comp]; c = &g_log->log_component[comp];
// do not apply filtering for LOG_F // do not apply filtering for LOG_F
@@ -971,6 +975,10 @@ void logRecord_mt(const char *file, const char *func, int line, int comp,
*/ */
char log_buffer[MAX_LOG_TOTAL]; char log_buffer[MAX_LOG_TOTAL];
/* for no gcc warnings */
(void)log_start;
(void)log_end;
c = &g_log->log_component[comp]; c = &g_log->log_component[comp];
// do not apply filtering for LOG_F // do not apply filtering for LOG_F
+2 -7
View File
@@ -158,6 +158,7 @@ remove_node_entry (node_struct * node, node_list * node_vector)
if (list->next->node->id == node->id) { if (list->next->node->id == node->id) {
toremove = tmp; // TODO delete the entry toremove = tmp; // TODO delete the entry
(void)toremove; /* avoid gcc warning "set but not used" */
tmp = list->next->next; tmp = list->next->next;
if (tmp != NULL) { if (tmp != NULL) {
@@ -259,13 +260,11 @@ node_list *
remove_node (node_list * list, int nid, int node_type) remove_node (node_list * list, int nid, int node_type)
{ {
int found;
node_list *current = NULL, *previous = NULL; node_list *current = NULL, *previous = NULL;
//int cond=0; //int cond=0;
//int i=0; //int i=0;
if (list == NULL) { if (list == NULL) {
found = 1; //false
return NULL; return NULL;
} else { } else {
//start search //start search
@@ -280,12 +279,10 @@ remove_node (node_list * list, int nid, int node_type)
//holds: current = NULL or type != node_type or.., but not both //holds: current = NULL or type != node_type or.., but not both
if (current == NULL) { if (current == NULL) {
found = 1;
LOG_E (OMG, " Element to remove is not found\n "); LOG_E (OMG, " Element to remove is not found\n ");
return NULL; return NULL;
} //value not found } //value not found
else { else {
found = 0; // true value found
if (current == list) { if (current == list) {
list = current->next; list = current->next;
@@ -322,7 +319,6 @@ node_struct *
find_node (node_list * list, int nid, int node_type) find_node (node_list * list, int nid, int node_type)
{ {
int found;
node_list *current; node_list *current;
if (list == NULL) { if (list == NULL) {
@@ -340,7 +336,6 @@ find_node (node_list * list, int nid, int node_type)
//holds: current = NULL or type != node_type or.., but not both //holds: current = NULL or type != node_type or.., but not both
if (current == NULL) { if (current == NULL) {
found = 1;
LOG_D (OMG, LOG_D (OMG,
" Element to find in Node_Vector with ID: %d could not be found\n ", " Element to find in Node_Vector with ID: %d could not be found\n ",
nid); nid);
@@ -380,7 +375,7 @@ node_list *
reset_node_list (node_list * list) reset_node_list (node_list * list)
{ {
node_list *tmp; node_list *tmp;
node_list *last = list; //node_list *last = list;
if (list == NULL) { if (list == NULL) {
//printf("Node_list is NULL\n"); //printf("Node_list is NULL\n");
+1 -1
View File
@@ -301,7 +301,7 @@ set_new_mob_type (int id, int node_t, int mob_t, double cur_time)
int prev_mob; int prev_mob;
node_list *tmp; node_list *tmp;
job_list *tmp2, *prev_job; //job_list *tmp2, *prev_job;
pair_struct *pair; pair_struct *pair;
double pause_p; double pause_p;
+3 -3
View File
@@ -173,7 +173,7 @@ place_steadystaterwp_node (node_struct * node)
void void
sleep_steadystaterwp_node (pair_struct * pair, double cur_time) sleep_steadystaterwp_node (pair_struct * pair, double cur_time)
{ {
static int initial = 1; //static int initial = 1;
node_struct *node; node_struct *node;
node = pair->b; node = pair->b;
node->mobile = 0; node->mobile = 0;
@@ -209,10 +209,10 @@ sleep_steadystaterwp_node (pair_struct * pair, double cur_time)
void void
move_steadystaterwp_node (pair_struct * pair, double cur_time) move_steadystaterwp_node (pair_struct * pair, double cur_time)
{ {
static int initial = 1; //static int initial = 1;
double distance, journeytime_next, max_distance; double distance, journeytime_next, max_distance;
double temp_x, temp_y, u1, u2; double temp_x, temp_y, u1, u2;
int loc_num; //int loc_num;
double pr, block_xmin, block_ymin; double pr, block_xmin, block_ymin;
//LOG_D (OMG, "[STEADY_RWP] move node: %d\n", node->ID); //LOG_D (OMG, "[STEADY_RWP] move node: %d\n", node->ID);
+1 -1
View File
@@ -70,7 +70,7 @@ start_sumo_generator (omg_global_param omg_param_list)
if ((pid = fork ()) == 0) { if ((pid = fork ()) == 0) {
// Start SUMO in the child process // Start SUMO in the child process
system (sumo_line); if (system (sumo_line)) ; /* this if for no gcc warnings */
//childs addresss space //childs addresss space
} }
+2 -2
View File
@@ -55,7 +55,7 @@ int
start_trace_generator (omg_global_param omg_param_list) start_trace_generator (omg_global_param omg_param_list)
{ {
double cur_time = 0.0; double cur_time = 0.0;
int immobile = 0; //int immobile = 0;
int node_number; int node_number;
node_struct *node = NULL; node_struct *node = NULL;
mobility_struct *mobility = NULL; mobility_struct *mobility = NULL;
@@ -235,7 +235,7 @@ schedule_trace_node (pair_struct * pair, node_data * n_data, double cur_time)
void void
sleep_trace_node (pair_struct * pair, node_data * n_data, double cur_time) sleep_trace_node (pair_struct * pair, node_data * n_data, double cur_time)
{ {
double journeytime, distance; //double journeytime, distance;
node_struct *node = pair->b; node_struct *node = pair->b;
node->mobile = 0; node->mobile = 0;
node->mob->speed = 0.0; node->mob->speed = 0.0;
-2
View File
@@ -58,8 +58,6 @@ hash_table_t **table;
void void
create_new_table (int node_type) create_new_table (int node_type)
{ {
int i;
if(table==NULL) if(table==NULL)
table = (hash_table_t **) calloc (MAX_NUM_NODE_TYPES, sizeof (hash_table_t*)); table = (hash_table_t **) calloc (MAX_NUM_NODE_TYPES, sizeof (hash_table_t*));
+3 -1
View File
@@ -44,7 +44,9 @@
#define Maxneighbor 64 #define Maxneighbor 64
#define NUMBER_OF_UE_MAX 64 #define NUMBER_OF_UE_MAX 64
#define NUMBER_OF_eNB_MAX 3 #define NUMBER_OF_eNB_MAX 3
#define NB_ANTENNAS_RX 4 #ifndef NB_ANTENNAS_RX
# define NB_ANTENNAS_RX 4
#endif
#endif #endif
// //
-2
View File
@@ -78,7 +78,6 @@ int stream_encrypt_eea1(stream_cipher_t *stream_cipher, uint8_t **out)
int n ; int n ;
int i = 0; int i = 0;
uint32_t zero_bit = 0; uint32_t zero_bit = 0;
uint32_t byte_length;
uint32_t *KS; uint32_t *KS;
uint32_t K[4],IV[4]; uint32_t K[4],IV[4];
@@ -89,7 +88,6 @@ int stream_encrypt_eea1(stream_cipher_t *stream_cipher, uint8_t **out)
n = ( stream_cipher->blength + 31 ) / 32; n = ( stream_cipher->blength + 31 ) / 32;
zero_bit = stream_cipher->blength & 0x7; zero_bit = stream_cipher->blength & 0x7;
byte_length = stream_cipher->blength >> 3;
memset(&snow_3g_context, 0, sizeof(snow_3g_context)); memset(&snow_3g_context, 0, sizeof(snow_3g_context));
/*Initialisation*/ /*Initialisation*/
+2 -2
View File
@@ -61,7 +61,7 @@ void tx_throughput(int src, int dst, int application)
else if (g_otg->flow_start[src][dst][application] < get_ctime() ) else if (g_otg->flow_start[src][dst][application] < get_ctime() )
otg_info->tx_throughput[src][dst][application]=((double)otg_info->tx_num_bytes[src][dst][application] *1000*8)/ ((get_ctime() - g_otg->flow_start[src][dst][application])*1024); otg_info->tx_throughput[src][dst][application]=((double)otg_info->tx_num_bytes[src][dst][application] *1000*8)/ ((get_ctime() - g_otg->flow_start[src][dst][application])*1024);
else else
LOG_W("[src %d][dst %d][app %d] flow start time less than the simu time (start %d, duration %d, ctime %d)\n", LOG_W(OTG, "[src %d][dst %d][app %d] flow start time less than the simu time (start %d, duration %d, ctime %d)\n",
src, dst, application, src, dst, application,
g_otg->flow_start[src][dst][application], g_otg->flow_start[src][dst][application],
g_otg->flow_duration[src][dst][application], g_otg->flow_duration[src][dst][application],
@@ -94,7 +94,7 @@ if ((g_otg->flow_start[src][dst][application]+g_otg->flow_duration[src][dst][app
else if (g_otg->flow_start[src][dst][application] < get_ctime() ) else if (g_otg->flow_start[src][dst][application] < get_ctime() )
otg_info->rx_goodput[src][dst][application]=((double)otg_info->rx_num_bytes[src][dst][application] *1000*8)/ ((get_ctime() - g_otg->flow_start[src][dst][application])*1024); otg_info->rx_goodput[src][dst][application]=((double)otg_info->rx_num_bytes[src][dst][application] *1000*8)/ ((get_ctime() - g_otg->flow_start[src][dst][application])*1024);
else else
LOG_W("[src %d][dst %d][app %d] flow start time less than the simu time (start %d, duration %d, ctime %d)\n", LOG_W(OTG, "[src %d][dst %d][app %d] flow start time less than the simu time (start %d, duration %d, ctime %d)\n",
src, dst, application, src, dst, application,
g_otg->flow_start[src][dst][application], g_otg->flow_start[src][dst][application],
g_otg->flow_duration[src][dst][application], g_otg->flow_duration[src][dst][application],
+1 -1
View File
@@ -113,7 +113,7 @@ int otg_rx_pkt(const int dst_instanceP, const int ctime, const char * const buff
dst_instance = otg_hdr_rx->dst_instance; dst_instance = otg_hdr_rx->dst_instance;
if (dst_instance != dst_instanceP) { if (dst_instance != dst_instanceP) {
#warning "LG: TODO think about multicast traffic" //#warning "LG: TODO think about multicast traffic"
LOG_W(OTG,"[SRC %d][DST %d] [FLOW_idx %d][APP TYPE %d] RX INFO pkt at time %d: flag 0x %x, seq number %d, tx time %d, size (hdr %d, pdcp %d) not for dest instance %u\n", LOG_W(OTG,"[SRC %d][DST %d] [FLOW_idx %d][APP TYPE %d] RX INFO pkt at time %d: flag 0x %x, seq number %d, tx time %d, size (hdr %d, pdcp %d) not for dest instance %u\n",
dst_instanceP); dst_instanceP);
} }
+1 -1
View File
@@ -54,7 +54,7 @@
# define GTPU_ERROR(x, args...) fprintf(stderr, "[GTPU][E]"x, ##args) # define GTPU_ERROR(x, args...) fprintf(stderr, "[GTPU][E]"x, ##args)
#endif #endif
#warning "TO BE REFINED" //#warning "TO BE REFINED"
# define GTPU_HEADER_OVERHEAD_MAX 64 # define GTPU_HEADER_OVERHEAD_MAX 64
uint32_t gtpv1u_new_teid(void); uint32_t gtpv1u_new_teid(void);
+6 -5
View File
@@ -333,7 +333,7 @@ NwGtpv1uRcT gtpv1u_eNB_process_stack_req(
gtpv1u_teid_data_p->eps_bearer_id); gtpv1u_teid_data_p->eps_bearer_id);
#endif #endif
#warning "LG eps bearer mapping to DRB id to do (offset -4)" //#warning "LG eps bearer mapping to DRB id to do (offset -4)"
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, gtpv1u_teid_data_p->enb_id, ENB_FLAG_YES, gtpv1u_teid_data_p->ue_id, 0, 0,gtpv1u_teid_data_p->enb_id); PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, gtpv1u_teid_data_p->enb_id, ENB_FLAG_YES, gtpv1u_teid_data_p->ue_id, 0, 0,gtpv1u_teid_data_p->enb_id);
MSC_LOG_TX_MESSAGE( MSC_LOG_TX_MESSAGE(
@@ -611,7 +611,7 @@ gtpv1u_new_data_req(
if (bearer_p->state != BEARER_UP) { if (bearer_p->state != BEARER_UP) {
LOG_W(GTPU, "Trying to send data over bearer with state(%u) != BEARER_UP\n", LOG_W(GTPU, "Trying to send data over bearer with state(%u) != BEARER_UP\n",
bearer_p->state); bearer_p->state);
#warning LG: HACK WHILE WAITING FOR NAS, normally return -1 //#warning LG: HACK WHILE WAITING FOR NAS, normally return -1
if (bearer_p->state != BEARER_IN_CONFIG) if (bearer_p->state != BEARER_IN_CONFIG)
return -1; return -1;
@@ -673,7 +673,7 @@ gtpv1u_create_s1u_tunnel(
teid_t s1u_teid = 0; teid_t s1u_teid = 0;
gtpv1u_teid_data_t *gtpv1u_teid_data_p = NULL; gtpv1u_teid_data_t *gtpv1u_teid_data_p = NULL;
gtpv1u_ue_data_t *gtpv1u_ue_data_p = NULL; gtpv1u_ue_data_t *gtpv1u_ue_data_p = NULL;
MessageDef *message_p = NULL; //MessageDef *message_p = NULL;
hashtable_rc_t hash_rc = HASH_TABLE_KEY_NOT_EXISTS; hashtable_rc_t hash_rc = HASH_TABLE_KEY_NOT_EXISTS;
int i; int i;
ebi_t eps_bearer_id = 0; ebi_t eps_bearer_id = 0;
@@ -996,7 +996,7 @@ void *gtpv1u_eNB_task(void *args)
{ {
int rc = 0; int rc = 0;
instance_t instance; instance_t instance;
const char *msg_name_p; //const char *msg_name_p;
rc = gtpv1u_eNB_init(); rc = gtpv1u_eNB_init();
AssertFatal(rc == 0, "gtpv1u_eNB_init Failed"); AssertFatal(rc == 0, "gtpv1u_eNB_init Failed");
@@ -1014,7 +1014,7 @@ void *gtpv1u_eNB_task(void *args)
DevAssert(received_message_p != NULL); DevAssert(received_message_p != NULL);
instance = ITTI_MSG_INSTANCE(received_message_p); instance = ITTI_MSG_INSTANCE(received_message_p);
msg_name_p = ITTI_MSG_NAME(received_message_p); //msg_name_p = ITTI_MSG_NAME(received_message_p);
switch (ITTI_MSG_ID(received_message_p)) { switch (ITTI_MSG_ID(received_message_p)) {
@@ -1081,6 +1081,7 @@ void *gtpv1u_eNB_task(void *args)
LOG_E(GTPU, "nwGtpv1uGpduMsgNew failed: 0x%x\n", rc); LOG_E(GTPU, "nwGtpv1uGpduMsgNew failed: 0x%x\n", rc);
MSC_LOG_EVENT(MSC_GTPU_ENB,"0 Failed send G-PDU ltid %u rtid %u size %u", MSC_LOG_EVENT(MSC_GTPU_ENB,"0 Failed send G-PDU ltid %u rtid %u size %u",
enb_s1u_teid,sgw_s1u_teid,data_req_p->length); enb_s1u_teid,sgw_s1u_teid,data_req_p->length);
(void)enb_s1u_teid; /* avoid gcc warning "set but not used" */
} else { } else {
rc = nwGtpv1uProcessUlpReq(gtpv1u_data_g.gtpv1u_stack, &stack_req); rc = nwGtpv1uProcessUlpReq(gtpv1u_data_g.gtpv1u_stack, &stack_req);
+2 -2
View File
@@ -630,7 +630,7 @@ nwGtpv1uHandleEchoReq(NW_IN NwGtpv1uStackT *thiz,
bufLen = sizeof(NwGtpv1uIeTv1T)+ ((NwGtpv1uMsgT*)hMsg)->msgLen; bufLen = sizeof(NwGtpv1uIeTv1T)+ ((NwGtpv1uMsgT*)hMsg)->msgLen;
#warning CROUX DIRTY +16, TO BE FIXED!!! //#warning CROUX DIRTY +16, TO BE FIXED!!!
/* the +16 is there because by analyzing memory allocation with some external /* the +16 is there because by analyzing memory allocation with some external
* tool, I saw that there were 6 bytes accessed after bufLen in nwGtpv1uCreateAndSendMsg * tool, I saw that there were 6 bytes accessed after bufLen in nwGtpv1uCreateAndSendMsg
* the value "16" has been chosen arbitrarily, just bigger than 6 * the value "16" has been chosen arbitrarily, just bigger than 6
@@ -694,7 +694,7 @@ nwGtpv1uInitialize( NW_INOUT NwGtpv1uStackHandleT *hGtpuStackHandle, uint32_t st
if(thiz) { if(thiz) {
thiz->id = (NwPtrT)thiz; thiz->id = (NwPtrT)thiz;
thiz->stackType = stackType; thiz->stackType = stackType;
thiz->seq = (uint16_t) ((uint32_t)thiz) ; // FIXME interesting casts... don't know what this is good for... thiz->seq = (uint16_t) ((uintptr_t)thiz) ; // FIXME interesting casts... don't know what this is good for...
RB_INIT(&(thiz->outstandingTxSeqNumMap)); RB_INIT(&(thiz->outstandingTxSeqNumMap));
RB_INIT(&(thiz->outstandingRxSeqNumMap)); RB_INIT(&(thiz->outstandingRxSeqNumMap));
RB_INIT(&(thiz->sessionMap)); RB_INIT(&(thiz->sessionMap));
+11 -11
View File
@@ -323,7 +323,7 @@ int nas_message_decrypt(
#if defined(NAS_MME) #if defined(NAS_MME)
LOG_FUNC_RETURN (TLV_DECODE_MAC_MISMATCH); LOG_FUNC_RETURN (TLV_DECODE_MAC_MISMATCH);
#else #else
#warning "added test on integrity algorithm because of SECURITY_MODE_COMMAND not correctly handled in UE (check integrity)" //#warning "added test on integrity algorithm because of SECURITY_MODE_COMMAND not correctly handled in UE (check integrity)"
if (emm_security_context->selected_algorithms.integrity != if (emm_security_context->selected_algorithms.integrity !=
NAS_SECURITY_ALGORITHMS_EIA0) { NAS_SECURITY_ALGORITHMS_EIA0) {
@@ -1016,10 +1016,10 @@ static int _nas_message_decrypt(
stream_cipher.count = count; stream_cipher.count = count;
stream_cipher.bearer = 0x00; //33.401 section 8.1.1 stream_cipher.bearer = 0x00; //33.401 section 8.1.1
stream_cipher.direction = direction; stream_cipher.direction = direction;
stream_cipher.message = src; stream_cipher.message = (unsigned char *)src;
/* length in bits */ /* length in bits */
stream_cipher.blength = length << 3; stream_cipher.blength = length << 3;
nas_stream_encrypt_eea1(&stream_cipher, dest); nas_stream_encrypt_eea1(&stream_cipher, (unsigned char *)dest);
/* Decode the first octet (security header type or EPS bearer identity, /* Decode the first octet (security header type or EPS bearer identity,
* and protocol discriminator) */ * and protocol discriminator) */
DECODE_U8(dest, *(uint8_t*)(&header), size); DECODE_U8(dest, *(uint8_t*)(&header), size);
@@ -1050,10 +1050,10 @@ static int _nas_message_decrypt(
stream_cipher.count = count; stream_cipher.count = count;
stream_cipher.bearer = 0x00; //33.401 section 8.1.1 stream_cipher.bearer = 0x00; //33.401 section 8.1.1
stream_cipher.direction = direction; stream_cipher.direction = direction;
stream_cipher.message = src; stream_cipher.message = (unsigned char *)src;
/* length in bits */ /* length in bits */
stream_cipher.blength = length << 3; stream_cipher.blength = length << 3;
nas_stream_encrypt_eea1(&stream_cipher, dest); nas_stream_encrypt_eea1(&stream_cipher, (unsigned char *)dest);
/* Decode the first octet (security header type or EPS bearer identity, /* Decode the first octet (security header type or EPS bearer identity,
* and protocol discriminator) */ * and protocol discriminator) */
DECODE_U8(dest, *(uint8_t*)(&header), size); DECODE_U8(dest, *(uint8_t*)(&header), size);
@@ -1178,10 +1178,10 @@ static int _nas_message_encrypt(
stream_cipher.count = count; stream_cipher.count = count;
stream_cipher.bearer = 0x00; //33.401 section 8.1.1 stream_cipher.bearer = 0x00; //33.401 section 8.1.1
stream_cipher.direction = direction; stream_cipher.direction = direction;
stream_cipher.message = src; stream_cipher.message = (unsigned char *)src;
/* length in bits */ /* length in bits */
stream_cipher.blength = length << 3; stream_cipher.blength = length << 3;
nas_stream_encrypt_eea1(&stream_cipher, dest); nas_stream_encrypt_eea1(&stream_cipher, (unsigned char *)dest);
LOG_FUNC_RETURN (length); LOG_FUNC_RETURN (length);
@@ -1209,10 +1209,10 @@ static int _nas_message_encrypt(
stream_cipher.count = count; stream_cipher.count = count;
stream_cipher.bearer = 0x00; //33.401 section 8.1.1 stream_cipher.bearer = 0x00; //33.401 section 8.1.1
stream_cipher.direction = direction; stream_cipher.direction = direction;
stream_cipher.message = src; stream_cipher.message = (unsigned char *)src;
/* length in bits */ /* length in bits */
stream_cipher.blength = length << 3; stream_cipher.blength = length << 3;
nas_stream_encrypt_eea2(&stream_cipher, dest); nas_stream_encrypt_eea2(&stream_cipher, (unsigned char *)dest);
LOG_FUNC_RETURN (length); LOG_FUNC_RETURN (length);
@@ -1344,7 +1344,7 @@ static uint32_t _nas_message_get_mac(
stream_cipher.count = count; stream_cipher.count = count;
stream_cipher.bearer = 0x00; //33.401 section 8.1.1 stream_cipher.bearer = 0x00; //33.401 section 8.1.1
stream_cipher.direction = direction; stream_cipher.direction = direction;
stream_cipher.message = buffer; stream_cipher.message = (unsigned char *)buffer;
/* length in bits */ /* length in bits */
stream_cipher.blength = length << 3; stream_cipher.blength = length << 3;
@@ -1390,7 +1390,7 @@ static uint32_t _nas_message_get_mac(
stream_cipher.count = count; stream_cipher.count = count;
stream_cipher.bearer = 0x00; //33.401 section 8.1.1 stream_cipher.bearer = 0x00; //33.401 section 8.1.1
stream_cipher.direction = direction; stream_cipher.direction = direction;
stream_cipher.message = buffer; stream_cipher.message = (unsigned char *)buffer;
/* length in bits */ /* length in bits */
stream_cipher.blength = length << 3; stream_cipher.blength = length << 3;
+2 -2
View File
@@ -214,7 +214,7 @@ int encode_attach_accept(attach_accept_msg *attach_accept, uint8_t *buffer, uint
*(buffer + encoded) = (encode_u8_eps_attach_result(&attach_accept->epsattachresult) & 0x0f); *(buffer + encoded) = (encode_u8_eps_attach_result(&attach_accept->epsattachresult) & 0x0f);
encoded++; encoded++;
#warning "LG TEST override t3412value" //#warning "LG TEST override t3412value"
attach_accept->t3412value.unit = GPRS_TIMER_UNIT_360S; attach_accept->t3412value.unit = GPRS_TIMER_UNIT_360S;
attach_accept->t3412value.timervalue = 10; attach_accept->t3412value.timervalue = 10;
@@ -288,7 +288,7 @@ int encode_attach_accept(attach_accept_msg *attach_accept, uint8_t *buffer, uint
encoded += encode_result; encoded += encode_result;
} }
#warning "LG TEST override t3402value" //#warning "LG TEST override t3402value"
attach_accept->presencemask |= ATTACH_ACCEPT_T3402_VALUE_PRESENT; attach_accept->presencemask |= ATTACH_ACCEPT_T3402_VALUE_PRESENT;
attach_accept->t3402value.unit = GPRS_TIMER_UNIT_60S; attach_accept->t3402value.unit = GPRS_TIMER_UNIT_60S;
attach_accept->t3402value.timervalue = 12; attach_accept->t3402value.timervalue = 12;
@@ -54,9 +54,9 @@ int decode_ms_network_feature_support(MsNetworkFeatureSupport *msnetworkfeatures
} }
int encode_ms_network_feature_support(MsNetworkFeatureSupport *msnetworkfeaturesupport, uint8_t iei, uint8_t *buffer, uint32_t len) int encode_ms_network_feature_support(MsNetworkFeatureSupport *msnetworkfeaturesupport, uint8_t iei, uint8_t *buffer, uint32_t len)
{ {
uint8_t *lenPtr; //uint8_t *lenPtr;
uint32_t encoded = 0; uint32_t encoded = 0;
int encode_result; //int encode_result;
/* Checking IEI and pointer */ /* Checking IEI and pointer */
CHECK_PDU_POINTER_AND_LENGTH_ENCODER(buffer, MS_NETWORK_FEATURE_SUPPORT_MINIMUM_LENGTH, len); CHECK_PDU_POINTER_AND_LENGTH_ENCODER(buffer, MS_NETWORK_FEATURE_SUPPORT_MINIMUM_LENGTH, len);
#if defined (NAS_DEBUG) #if defined (NAS_DEBUG)
@@ -81,7 +81,7 @@ int decode_ue_network_capability(UeNetworkCapability *uenetworkcapability, uint8
LOG_TRACE(INFO, "uenetworkcapability decoded GPRS\n"); LOG_TRACE(INFO, "uenetworkcapability decoded GPRS\n");
} }
#warning "Force GPRS present if UMTS present" //#warning "Force GPRS present if UMTS present"
uenetworkcapability->gprs_present =1; uenetworkcapability->gprs_present =1;
} }
} }
@@ -131,7 +131,7 @@ int encode_ue_network_capability(UeNetworkCapability *uenetworkcapability, uint8
} }
if (uenetworkcapability->gprs_present) { if (uenetworkcapability->gprs_present) {
#warning "Force gea to 0x60" //#warning "Force gea to 0x60"
*(buffer + encoded) = 0x00 | 0x60; *(buffer + encoded) = 0x00 | 0x60;
////((uenetworkcapability->spare & 0x7) << 5) | // spare coded as zero ////((uenetworkcapability->spare & 0x7) << 5) | // spare coded as zero
//((uenetworkcapability->csfb & 0x1) << 4) | //((uenetworkcapability->csfb & 0x1) << 4) |
+1 -1
View File
@@ -481,7 +481,7 @@ static void _display_emm_data(const emm_nvdata_t* data)
data->imsi.u.num.digit13, data->imsi.u.num.digit13,
data->imsi.u.num.digit14); data->imsi.u.num.digit14);
} else { } else {
printf("%u%u%u.%u%u%u.%u%u%u%u%u%u%u%u\n", printf("%u%u%u.%u%u%u.%u%u%u%u%u%u%u%u%u\n",
data->imsi.u.num.digit1, data->imsi.u.num.digit1,
data->imsi.u.num.digit2, data->imsi.u.num.digit2,
data->imsi.u.num.digit3, data->imsi.u.num.digit3,
+2 -2
View File
@@ -289,9 +289,9 @@ int usim_api_authenticate(const OctetString* rand_pP, const OctetString* autn_pP
#define USIM_API_SQN_MS_SIZE 3 #define USIM_API_SQN_MS_SIZE 3
for (i = 0; i < USIM_API_SQN_MS_SIZE; i++) { for (i = 0; i < USIM_API_SQN_MS_SIZE; i++) {
#warning "LG:BUG HERE TODO" //#warning "LG:BUG HERE TODO"
sqn_ms[USIM_API_SQNMS_SIZE - i] = sqn_ms[USIM_API_SQNMS_SIZE - i] =
((uint8_t*)(_usim_api_data.sqn_ms))[USIM_API_SQN_MS_SIZE - i]; ((uint8_t*)(&_usim_api_data.sqn_ms))[USIM_API_SQN_MS_SIZE - i];
} }
u8 sqnms[USIM_API_SQNMS_SIZE]; u8 sqnms[USIM_API_SQNMS_SIZE];
+1 -1
View File
@@ -130,7 +130,7 @@ int emm_proc_status(unsigned int ueid, int emm_cause)
emm_sap_t emm_sap; emm_sap_t emm_sap;
emm_security_context_t *sctx = NULL; emm_security_context_t *sctx = NULL;
struct emm_data_context_s *ctx = NULL; //struct emm_data_context_s *ctx = NULL;
LOG_TRACE(INFO,"EMM-PROC - EMM status procedure requested"); LOG_TRACE(INFO,"EMM-PROC - EMM status procedure requested");
+1 -1
View File
@@ -261,7 +261,7 @@ int lowerlayer_data_req(unsigned int ueid, const OctetString *data)
int rc; int rc;
emm_sap_t emm_sap; emm_sap_t emm_sap;
emm_security_context_t *sctx = NULL; emm_security_context_t *sctx = NULL;
struct emm_data_context_s *ctx = NULL; //struct emm_data_context_s *ctx = NULL;
emm_sap.primitive = EMMAS_DATA_REQ; emm_sap.primitive = EMMAS_DATA_REQ;
emm_sap.u.emm_as.u.data.guti = _emm_data.guti; emm_sap.u.emm_as.u.data.guti = _emm_data.guti;
+1 -1
View File
@@ -215,7 +215,7 @@ emm_fsm_state_t _emm_fsm_status[EMM_FSM_NB_UE_MAX];
***************************************************************************/ ***************************************************************************/
void emm_fsm_initialize(void) void emm_fsm_initialize(void)
{ {
int ueid; //int ueid;
LOG_FUNC_IN; LOG_FUNC_IN;
_emm_fsm_status[0] = EMM_NULL; _emm_fsm_status[0] = EMM_NULL;
+3
View File
@@ -114,6 +114,9 @@ int emm_reg_send(const emm_reg_t *msg)
emm_reg_primitive_t primitive = msg->primitive; emm_reg_primitive_t primitive = msg->primitive;
assert( (primitive > _EMMREG_START) && (primitive < _EMMREG_END)); assert( (primitive > _EMMREG_START) && (primitive < _EMMREG_END));
/* avoid gcc warnings */
(void)primitive;
/* Execute the EMM procedure */ /* Execute the EMM procedure */
rc = emm_fsm_process(msg); rc = emm_fsm_process(msg);
+7 -5
View File
@@ -114,7 +114,7 @@ int esm_ebr_context_create(
int bid = 0; int bid = 0;
esm_data_context_t *esm_ctx = NULL; esm_data_context_t *esm_ctx = NULL;
esm_pdn_t *pdn = NULL; esm_pdn_t *pdn = NULL;
unsigned int ueid = 0; //unsigned int ueid = 0;
LOG_FUNC_IN; LOG_FUNC_IN;
@@ -212,7 +212,7 @@ int esm_ebr_context_create(
{ {
char *tmp = NULL; char *tmp = NULL;
char ipv4_addr[INET_ADDRSTRLEN]; char ipv4_addr[INET_ADDRSTRLEN];
char ipv6_addr[INET6_ADDRSTRLEN]; //char ipv6_addr[INET6_ADDRSTRLEN];
char *netmask = NULL; char *netmask = NULL;
char broadcast[INET_ADDRSTRLEN]; char broadcast[INET_ADDRSTRLEN];
struct in_addr in_addr; struct in_addr in_addr;
@@ -221,7 +221,8 @@ int esm_ebr_context_create(
switch (pdn->type) { switch (pdn->type) {
case NET_PDN_TYPE_IPV4V6: case NET_PDN_TYPE_IPV4V6:
ipv6_addr[0] = pdn->ip_addr[4]; //ipv6_addr[0] = pdn->ip_addr[4];
/* TODO? */
// etc // etc
case NET_PDN_TYPE_IPV4: case NET_PDN_TYPE_IPV4:
@@ -283,11 +284,12 @@ int esm_ebr_context_create(
res = sprintf(command_line, res = sprintf(command_line,
"ifconfig oip1 %s netmask %s broadcast %s up", "ifconfig oip1 %s netmask %s broadcast %s up",
ipv4_addr, netmask, broadcast); ipv4_addr, netmask, broadcast);
(void)res; /* avoid gcc warning "set but not used" */
// AssertFatal((res > 0) && (res < 128), // AssertFatal((res > 0) && (res < 128),
// "error in system command line"); // "error in system command line");
LOG_TRACE(INFO, "ESM-PROC - executing %s ", LOG_TRACE(INFO, "ESM-PROC - executing %s ",
command_line); command_line);
system(command_line); if (system(command_line)) ; /* TODO: what to do? */
break; break;
case NET_PDN_TYPE_IPV6: case NET_PDN_TYPE_IPV6:
@@ -341,7 +343,7 @@ int esm_ebr_context_release(
esm_pdn_t *pdn = NULL; esm_pdn_t *pdn = NULL;
esm_data_context_t *esm_ctx; esm_data_context_t *esm_ctx;
unsigned int ueid = 0; //unsigned int ueid = 0;
LOG_FUNC_IN; LOG_FUNC_IN;
+39 -41
View File
@@ -4,7 +4,7 @@
asn_enc_rval_t OCTET_STRING_encode_aper(asn_TYPE_descriptor_t *td, asn_per_constraints_t *cts, void *sptr, asn_per_outp_t *po) { asn_enc_rval_t er = { 0, 0, 0 }; (void)td; (void)cts; (void)sptr; (void)po; return er; } asn_enc_rval_t OCTET_STRING_encode_aper(asn_TYPE_descriptor_t *td, asn_per_constraints_t *cts, void *sptr, asn_per_outp_t *po) { asn_enc_rval_t er = { 0, 0, 0 }; (void)td; (void)cts; (void)sptr; (void)po; return er; }
+asn_comp_rval_t * OCTET_STRING_compare(asn_TYPE_descriptor_t *td1, void *sptr1, asn_TYPE_descriptor_t *td2, void *sptr2) { (void)td1; (void)sptr1; (void)td2; (void)sptr2; return 0; } +asn_comp_rval_t * OCTET_STRING_compare(asn_TYPE_descriptor_t *td1, const void *sptr1, asn_TYPE_descriptor_t *td2, const void *sptr2) { (void)td1; (void)sptr1; (void)td2; (void)sptr2; return 0; }
+ +
size_t xer_whitespace_span(const void *chunk_buf, size_t chunk_size) { (void)chunk_buf; (void)chunk_size; return 0; } size_t xer_whitespace_span(const void *chunk_buf, size_t chunk_size) { (void)chunk_buf; (void)chunk_size; return 0; }
--- libasn1compiler/asn1c_C.c 2015-12-08 14:39:33.366543533 +0100 --- libasn1compiler/asn1c_C.c 2015-12-08 14:39:33.366543533 +0100
@@ -51,9 +51,9 @@
+ if(HIDE_INNER_DEFS) OUT("_%d", expr->_type_unique_index); + if(HIDE_INNER_DEFS) OUT("_%d", expr->_type_unique_index);
+ OUT("_compare(asn_TYPE_descriptor_t *td1,\n"); + OUT("_compare(asn_TYPE_descriptor_t *td1,\n");
+ INDENTED( + INDENTED(
+ OUT("\tvoid *structure1,\n"); + OUT("\tconst void *structure1,\n");
+ OUT("\tasn_TYPE_descriptor_t *td2,\n"); + OUT("\tasn_TYPE_descriptor_t *td2,\n");
+ OUT("\tvoid *structure2) {\n"); + OUT("\tconst void *structure2) {\n");
+ OUT("asn_comp_rval_t * res = NULL;\n"); + OUT("asn_comp_rval_t * res = NULL;\n");
+ OUT("%s_%d_inherit_TYPE_descriptor(td1);\n", + OUT("%s_%d_inherit_TYPE_descriptor(td1);\n",
+ p, expr->_type_unique_index); + p, expr->_type_unique_index);
@@ -142,8 +142,8 @@
+typedef struct asn_comp_rval_s { +typedef struct asn_comp_rval_s {
+ enum COMPARE_ERR_CODE_e err_code; + enum COMPARE_ERR_CODE_e err_code;
+ char *name; // e_S1ap_ProtocolIE_ID not available for all ASN1 use (RRC vs S1AP, X2AP) + char *name; // e_S1ap_ProtocolIE_ID not available for all ASN1 use (RRC vs S1AP, X2AP)
+ void *structure1; + const void *structure1;
+ void *structure2; + const void *structure2;
+ struct asn_comp_rval_s *next; + struct asn_comp_rval_s *next;
+} asn_comp_rval_t; +} asn_comp_rval_t;
+ +
@@ -234,7 +234,7 @@
+ +
+asn_comp_rval_t * +asn_comp_rval_t *
+BOOLEAN_compare(asn_TYPE_descriptor_t *td1, +BOOLEAN_compare(asn_TYPE_descriptor_t *td1,
+ void *sptr1, asn_TYPE_descriptor_t *td2, void *sptr2) { + const void *sptr1, asn_TYPE_descriptor_t *td2, const void *sptr2) {
+ const BOOLEAN_t *st1 = (const BOOLEAN_t *)sptr1; + const BOOLEAN_t *st1 = (const BOOLEAN_t *)sptr1;
+ const BOOLEAN_t *st2 = (const BOOLEAN_t *)sptr2; + const BOOLEAN_t *st2 = (const BOOLEAN_t *)sptr2;
+ asn_comp_rval_t *res = NULL; + asn_comp_rval_t *res = NULL;
@@ -279,9 +279,9 @@
+ +
+typedef asn_comp_rval_t * (type_compare_f)( +typedef asn_comp_rval_t * (type_compare_f)(
+ struct asn_TYPE_descriptor_s *type_descriptor1, + struct asn_TYPE_descriptor_s *type_descriptor1,
+ void *struct_ptr1, + const void *struct_ptr1,
+ struct asn_TYPE_descriptor_s *type_descriptor2, + struct asn_TYPE_descriptor_s *type_descriptor2,
+ void *struct_ptr2 + const void *struct_ptr2
+); +);
+ +
+ +
@@ -299,7 +299,7 @@
} }
+ +
+asn_comp_rval_t * +asn_comp_rval_t *
+CHOICE_compare(asn_TYPE_descriptor_t *td1, void *sptr1, asn_TYPE_descriptor_t *td2, void *sptr2) +CHOICE_compare(asn_TYPE_descriptor_t *td1, const void *sptr1, asn_TYPE_descriptor_t *td2, const void *sptr2)
+{ +{
+ asn_CHOICE_specifics_t *specs1 = (asn_CHOICE_specifics_t *)td1->specifics; + asn_CHOICE_specifics_t *specs1 = (asn_CHOICE_specifics_t *)td1->specifics;
+ asn_CHOICE_specifics_t *specs2 = (asn_CHOICE_specifics_t *)td2->specifics; + asn_CHOICE_specifics_t *specs2 = (asn_CHOICE_specifics_t *)td2->specifics;
@@ -392,14 +392,13 @@
} }
--- skeletons/constr_SEQUENCE.c 2015-12-08 14:39:33.346543533 +0100 --- skeletons/constr_SEQUENCE.c 2015-12-08 14:39:33.346543533 +0100
+++ skeletons/constr_SEQUENCE.c 2015-12-08 10:39:52.442558000 +0100 +++ skeletons/constr_SEQUENCE.c 2015-12-08 10:39:52.442558000 +0100
@@ -1761,3 +1761,66 @@ @@ -1761,3 +1761,65 @@
_ASN_ENCODED_OK(er); _ASN_ENCODED_OK(er);
} }
+ +
+asn_comp_rval_t * SEQUENCE_compare(asn_TYPE_descriptor_t *td1, void *sptr1, asn_TYPE_descriptor_t *td2, void *sptr2) { +asn_comp_rval_t * SEQUENCE_compare(asn_TYPE_descriptor_t *td1, const void *sptr1, asn_TYPE_descriptor_t *td2, const void *sptr2) {
+ int edx; + int edx;
+ int ret;
+ asn_comp_rval_t *res = NULL; + asn_comp_rval_t *res = NULL;
+ asn_comp_rval_t *res2 = NULL; + asn_comp_rval_t *res2 = NULL;
+ +
@@ -498,7 +497,7 @@
} }
+ +
+asn_comp_rval_t * +asn_comp_rval_t *
+SET_compare(asn_TYPE_descriptor_t *td1, void *sptr1, asn_TYPE_descriptor_t *td2, void *sptr2) +SET_compare(asn_TYPE_descriptor_t *td1, const void *sptr1, asn_TYPE_descriptor_t *td2, const void *sptr2)
+{ +{
+ int edx; + int edx;
+ asn_comp_rval_t *res = NULL; + asn_comp_rval_t *res = NULL;
@@ -563,19 +562,18 @@
* Some handy helpers. * * Some handy helpers. *
--- skeletons/constr_SET_OF.c 2015-12-08 14:39:33.338543533 +0100 --- skeletons/constr_SET_OF.c 2015-12-08 14:39:33.338543533 +0100
+++ skeletons/constr_SET_OF.c 2015-12-08 10:45:54.466557000 +0100 +++ skeletons/constr_SET_OF.c 2015-12-08 10:45:54.466557000 +0100
@@ -1039,3 +1039,55 @@ @@ -1039,3 +1039,54 @@
rv.consumed = 0; rv.consumed = 0;
return rv; return rv;
} }
+ +
+asn_comp_rval_t * +asn_comp_rval_t *
+SET_OF_compare(asn_TYPE_descriptor_t *td1, void *sptr1, asn_TYPE_descriptor_t *td2, void *sptr2) +SET_OF_compare(asn_TYPE_descriptor_t *td1, const void *sptr1, asn_TYPE_descriptor_t *td2, const void *sptr2)
+{ +{
+ asn_TYPE_member_t *elm1 = td1->elements; + asn_TYPE_member_t *elm1 = td1->elements;
+ asn_TYPE_member_t *elm2 = td2->elements; + asn_TYPE_member_t *elm2 = td2->elements;
+ const asn_anonymous_set_ *list1 = _A_CSET_FROM_VOID(sptr1); + const asn_anonymous_set_ *list1 = _A_CSET_FROM_VOID(sptr1);
+ const asn_anonymous_set_ *list2 = _A_CSET_FROM_VOID(sptr2); + const asn_anonymous_set_ *list2 = _A_CSET_FROM_VOID(sptr2);
+ int ret;
+ int i; + int i;
+ asn_comp_rval_t *res = NULL; + asn_comp_rval_t *res = NULL;
+ asn_comp_rval_t *res2 = NULL; + asn_comp_rval_t *res2 = NULL;
@@ -667,10 +665,10 @@
} }
+ +
+asn_comp_rval_t * +asn_comp_rval_t *
+ENUMERATED_compare(asn_TYPE_descriptor_t *td1, void *sptr1, +ENUMERATED_compare(asn_TYPE_descriptor_t *td1, const void *sptr1,
+ asn_TYPE_descriptor_t *td2, void *sptr2) { + asn_TYPE_descriptor_t *td2, const void *sptr2) {
+ ENUMERATED_t *st1 = (ENUMERATED_t *)sptr1; + const ENUMERATED_t *st1 = (const ENUMERATED_t *)sptr1;
+ ENUMERATED_t *st2 = (ENUMERATED_t *)sptr2; + const ENUMERATED_t *st2 = (const ENUMERATED_t *)sptr2;
+ asn_comp_rval_t *res = NULL; + asn_comp_rval_t *res = NULL;
+ +
+ COMPARE_CHECK_ARGS(td1, td2, sptr1, sptr2, res) + COMPARE_CHECK_ARGS(td1, td2, sptr1, sptr2, res)
@@ -774,10 +772,10 @@
+asn_comp_rval_t * +asn_comp_rval_t *
+INTEGER_compare(asn_TYPE_descriptor_t *td1, void *sptr1, +INTEGER_compare(asn_TYPE_descriptor_t *td1, const void *sptr1,
+ asn_TYPE_descriptor_t *td2, void *sptr2) { + asn_TYPE_descriptor_t *td2, const void *sptr2) {
+ INTEGER_t *st1 = (INTEGER_t *)sptr1; + const INTEGER_t *st1 = (const INTEGER_t *)sptr1;
+ INTEGER_t *st2 = (INTEGER_t *)sptr2; + const INTEGER_t *st2 = (const INTEGER_t *)sptr2;
+ asn_comp_rval_t *res = NULL; + asn_comp_rval_t *res = NULL;
+ +
+ COMPARE_CHECK_ARGS(td1, td2, sptr1, sptr2, res) + COMPARE_CHECK_ARGS(td1, td2, sptr1, sptr2, res)
@@ -857,8 +855,8 @@
} }
+ +
+asn_comp_rval_t * +asn_comp_rval_t *
+NativeEnumerated_compare(asn_TYPE_descriptor_t *td1, void *sptr1, +NativeEnumerated_compare(asn_TYPE_descriptor_t *td1, const void *sptr1,
+ asn_TYPE_descriptor_t *td2, void *sptr2) { + asn_TYPE_descriptor_t *td2, const void *sptr2) {
+ const asn_INTEGER_enum_map_t *a = sptr1; + const asn_INTEGER_enum_map_t *a = sptr1;
+ const asn_INTEGER_enum_map_t *b = sptr2; + const asn_INTEGER_enum_map_t *b = sptr2;
+ asn_comp_rval_t *res = NULL; + asn_comp_rval_t *res = NULL;
@@ -902,8 +900,8 @@
+ +
+asn_comp_rval_t * +asn_comp_rval_t *
+NativeInteger_compare(asn_TYPE_descriptor_t *td1, void *sptr1, +NativeInteger_compare(asn_TYPE_descriptor_t *td1, const void *sptr1,
+ asn_TYPE_descriptor_t *td2, void *sptr2) { + asn_TYPE_descriptor_t *td2, const void *sptr2) {
+ const long *native1 = (const long *)sptr1; + const long *native1 = (const long *)sptr1;
+ const long *native2 = (const long *)sptr2; + const long *native2 = (const long *)sptr2;
+ asn_comp_rval_t *res = NULL; + asn_comp_rval_t *res = NULL;
@@ -945,10 +943,10 @@
} }
+asn_comp_rval_t * +asn_comp_rval_t *
+NativeReal_compare(asn_TYPE_descriptor_t *td1, void *sptr1, +NativeReal_compare(asn_TYPE_descriptor_t *td1, const void *sptr1,
+ asn_TYPE_descriptor_t *td2, void *sptr2) { + asn_TYPE_descriptor_t *td2, const void *sptr2) {
+ REAL_t *st1 = (REAL_t *)sptr1; + const REAL_t *st1 = (const REAL_t *)sptr1;
+ REAL_t *st2 = (REAL_t *)sptr2; + const REAL_t *st2 = (const REAL_t *)sptr2;
+ asn_comp_rval_t *res = NULL; + asn_comp_rval_t *res = NULL;
+ +
+ COMPARE_CHECK_ARGS(td1, td2, sptr1, sptr2, res) + COMPARE_CHECK_ARGS(td1, td2, sptr1, sptr2, res)
@@ -999,8 +997,8 @@
} }
+ +
+asn_comp_rval_t * +asn_comp_rval_t *
+NULL_compare(asn_TYPE_descriptor_t *td1, void *sptr1, +NULL_compare(asn_TYPE_descriptor_t *td1, const void *sptr1,
+ asn_TYPE_descriptor_t *td2, void *sptr2) { + asn_TYPE_descriptor_t *td2, const void *sptr2) {
+ +
+ return NULL; + return NULL;
+} +}
@@ -1068,9 +1066,9 @@
+asn_comp_rval_t * +asn_comp_rval_t *
+OCTET_STRING_compare(asn_TYPE_descriptor_t *td1, +OCTET_STRING_compare(asn_TYPE_descriptor_t *td1,
+ void *sptr1, asn_TYPE_descriptor_t *td2, void *sptr2) { + const void *sptr1, asn_TYPE_descriptor_t *td2, const void *sptr2) {
+ OCTET_STRING_t *st1 = (OCTET_STRING_t *)sptr1; + const OCTET_STRING_t *st1 = (const OCTET_STRING_t *)sptr1;
+ OCTET_STRING_t *st2 = (OCTET_STRING_t *)sptr2; + const OCTET_STRING_t *st2 = (const OCTET_STRING_t *)sptr2;
+ asn_comp_rval_t *res = NULL; + asn_comp_rval_t *res = NULL;
+ +
+ COMPARE_CHECK_ARGS(td1, td2, sptr1, sptr2, res) + COMPARE_CHECK_ARGS(td1, td2, sptr1, sptr2, res)
@@ -1134,10 +1132,10 @@
+ +
+ +
+asn_comp_rval_t * +asn_comp_rval_t *
+REAL_compare(asn_TYPE_descriptor_t *td1, void *sptr1, +REAL_compare(asn_TYPE_descriptor_t *td1, const void *sptr1,
+ asn_TYPE_descriptor_t *td2, void *sptr2) { + asn_TYPE_descriptor_t *td2, const void *sptr2) {
+ REAL_t *st1 = (REAL_t *)sptr1; + const REAL_t *st1 = (const REAL_t *)sptr1;
+ REAL_t *st2 = (REAL_t *)sptr2; + const REAL_t *st2 = (const REAL_t *)sptr2;
+ asn_comp_rval_t *res = NULL; + asn_comp_rval_t *res = NULL;
+ +
+ COMPARE_CHECK_ARGS(td1, td2, sptr1, sptr2, res) + COMPARE_CHECK_ARGS(td1, td2, sptr1, sptr2, res)
+2 -1
View File
@@ -859,11 +859,12 @@ int s1ap_eNB_handle_ue_context_release_command(uint32_t assoc_id,
break; break;
#warning "TODO mapping mme_ue_s1ap_id enb_ue_s1ap_id?" //#warning "TODO mapping mme_ue_s1ap_id enb_ue_s1ap_id?"
case S1ap_UE_S1AP_IDs_PR_mME_UE_S1AP_ID: case S1ap_UE_S1AP_IDs_PR_mME_UE_S1AP_ID:
mme_ue_s1ap_id = ueContextReleaseCommand_p->uE_S1AP_IDs.choice.mME_UE_S1AP_ID; mme_ue_s1ap_id = ueContextReleaseCommand_p->uE_S1AP_IDs.choice.mME_UE_S1AP_ID;
S1AP_ERROR("TO DO mapping mme_ue_s1ap_id enb_ue_s1ap_id"); S1AP_ERROR("TO DO mapping mme_ue_s1ap_id enb_ue_s1ap_id");
(void)mme_ue_s1ap_id; /* TODO: remove - it's to remove gcc warning about unused var */
case S1ap_UE_S1AP_IDs_PR_NOTHING: case S1ap_UE_S1AP_IDs_PR_NOTHING:
default: default:
+2 -2
View File
@@ -191,7 +191,7 @@ int s1ap_eNB_handle_nas_first_req(
* The cell identity is defined on 28 bits but as we use macro enb id, * The cell identity is defined on 28 bits but as we use macro enb id,
* we have to pad. * we have to pad.
*/ */
#warning "TODO get cell id from RRC" //#warning "TODO get cell id from RRC"
MACRO_ENB_ID_TO_CELL_IDENTITY(instance_p->eNB_id, MACRO_ENB_ID_TO_CELL_IDENTITY(instance_p->eNB_id,
0, // Cell ID 0, // Cell ID
&initial_ue_message_p->eutran_cgi.cell_ID); &initial_ue_message_p->eutran_cgi.cell_ID);
@@ -400,7 +400,7 @@ int s1ap_eNB_nas_uplink(instance_t instance, s1ap_uplink_nas_t *s1ap_uplink_nas_
s1ap_eNB_instance_p->mnc_digit_length, s1ap_eNB_instance_p->mnc_digit_length,
&uplink_NAS_transport_p->eutran_cgi.pLMNidentity); &uplink_NAS_transport_p->eutran_cgi.pLMNidentity);
#warning "TODO get cell id from RRC" //#warning "TODO get cell id from RRC"
MACRO_ENB_ID_TO_CELL_IDENTITY(s1ap_eNB_instance_p->eNB_id, MACRO_ENB_ID_TO_CELL_IDENTITY(s1ap_eNB_instance_p->eNB_id,
0, 0,
&uplink_NAS_transport_p->eutran_cgi.cell_ID); &uplink_NAS_transport_p->eutran_cgi.cell_ID);
+1 -1
View File
@@ -148,7 +148,7 @@ sctp_handle_new_association_req(
DevAssert(sctp_new_association_req_p != NULL); DevAssert(sctp_new_association_req_p != NULL);
/* Create new socket with IPv6 affinity */ /* Create new socket with IPv6 affinity */
#warning "SCTP may Force IPv4 only, here" //#warning "SCTP may Force IPv4 only, here"
#ifdef NO_VIRTUAL_MACHINE #ifdef NO_VIRTUAL_MACHINE
// in init chunk appears a list of host addresses, IPv4 and IPv4 in an arbitrary (unsorted) order // in init chunk appears a list of host addresses, IPv4 and IPv4 in an arbitrary (unsorted) order
+2 -2
View File
@@ -49,7 +49,7 @@ int nas_stream_encrypt_eea1(nas_stream_cipher_t *stream_cipher, uint8_t *out)
int n ; int n ;
int i = 0; int i = 0;
uint32_t zero_bit = 0; uint32_t zero_bit = 0;
uint32_t byte_length; //uint32_t byte_length;
uint32_t *KS; uint32_t *KS;
uint32_t K[4],IV[4]; uint32_t K[4],IV[4];
@@ -60,7 +60,7 @@ int nas_stream_encrypt_eea1(nas_stream_cipher_t *stream_cipher, uint8_t *out)
n = ( stream_cipher->blength + 31 ) / 32; n = ( stream_cipher->blength + 31 ) / 32;
zero_bit = stream_cipher->blength & 0x7; zero_bit = stream_cipher->blength & 0x7;
byte_length = stream_cipher->blength >> 3; //byte_length = stream_cipher->blength >> 3;
memset(&snow_3g_context, 0, sizeof(snow_3g_context)); memset(&snow_3g_context, 0, sizeof(snow_3g_context));
/*Initialisation*/ /*Initialisation*/
+1
View File
@@ -112,6 +112,7 @@ int nas_stream_encrypt_eia2(nas_stream_cipher_t *stream_cipher, uint8_t out[4])
cmac_ctx = CMAC_CTX_new(); cmac_ctx = CMAC_CTX_new();
ret = CMAC_Init(cmac_ctx, stream_cipher->key, stream_cipher->key_length, cipher, NULL); ret = CMAC_Init(cmac_ctx, stream_cipher->key, stream_cipher->key_length, cipher, NULL);
ret = CMAC_Update(cmac_ctx, m, m_length + 8); ret = CMAC_Update(cmac_ctx, m, m_length + 8);
(void)ret; /* avoid gcc warning "set but not used" */
CMAC_Final(cmac_ctx, data, &size); CMAC_Final(cmac_ctx, data, &size);
CMAC_CTX_free(cmac_ctx); CMAC_CTX_free(cmac_ctx);
+4 -4
View File
@@ -300,8 +300,8 @@ void *udp_eNB_task(void *args_p)
int nb_events; int nb_events;
struct epoll_event *events; struct epoll_event *events;
MessageDef *received_message_p = NULL; MessageDef *received_message_p = NULL;
const char *msg_name = NULL; //const char *msg_name = NULL;
instance_t instance = 0; //instance_t instance = 0;
udp_enb_init(NULL); udp_enb_init(NULL);
itti_mark_task_ready(TASK_UDP); itti_mark_task_ready(TASK_UDP);
@@ -316,8 +316,8 @@ void *udp_eNB_task(void *args_p)
if (received_message_p != NULL) { if (received_message_p != NULL) {
msg_name = ITTI_MSG_NAME (received_message_p); //msg_name = ITTI_MSG_NAME (received_message_p);
instance = ITTI_MSG_INSTANCE (received_message_p); //instance = ITTI_MSG_INSTANCE (received_message_p);
switch (ITTI_MSG_ID(received_message_p)) { switch (ITTI_MSG_ID(received_message_p)) {
case UDP_INIT: { case UDP_INIT: {
+2 -1
View File
@@ -147,7 +147,8 @@ int openair0_device_load(openair0_device *device, openair0_config_t *openair0_cf
int rc; int rc;
//ToDo: EXMIMO harmonization is not complete. That is the reason for this ifdef //ToDo: EXMIMO harmonization is not complete. That is the reason for this ifdef
#ifdef EXMIMO #ifdef EXMIMO
device_init(device, openair0_cfg); int device_init(openair0_device *device, openair0_config_t *openair0_cfg);
rc = device_init(device, openair0_cfg);
#else #else
rc=load_lib(device, openair0_cfg, NULL,BBU_LOCAL_RADIO_HEAD ); rc=load_lib(device, openair0_cfg, NULL,BBU_LOCAL_RADIO_HEAD );
if ( rc >= 0) { if ( rc >= 0) {
@@ -30,8 +30,10 @@
#define TARGET_RX_POWER 50 // Target digital power for the AGC #define TARGET_RX_POWER 50 // Target digital power for the AGC
#define TARGET_RX_POWER_MAX 53 // Maximum digital power for AGC #define TARGET_RX_POWER_MAX 53 // Maximum digital power for AGC
#define TARGET_RX_POWER_MIN 48 // Minimum digital power for AGC #define TARGET_RX_POWER_MIN 48 // Minimum digital power for AGC
#ifndef min
#define min(a,b) (((a)<(b))?(a):(b)) #define min(a,b) (((a)<(b))?(a):(b))
#define max(a,b) (((a)>(b))?(a):(b)) #define max(a,b) (((a)>(b))?(a):(b))
#endif
void gain_control_all (unsigned int rx_power_fil_dB, unsigned int card); void gain_control_all (unsigned int rx_power_fil_dB, unsigned int card);
void gain_control (unsigned int rx_power_fil_dB, unsigned int ant, unsigned int card); void gain_control (unsigned int rx_power_fil_dB, unsigned int ant, unsigned int card);
@@ -98,4 +98,6 @@ unsigned int *openair0_daq_cnt(void);
// set the TX and RX frequencies (card 0 only for now, to retain USRP compatibility) // set the TX and RX frequencies (card 0 only for now, to retain USRP compatibility)
int openair0_set_frequencies(openair0_device* device, openair0_config_t *openair0_cfg,int exmimo_dump_config); int openair0_set_frequencies(openair0_device* device, openair0_config_t *openair0_cfg,int exmimo_dump_config);
int openair0_set_gains(openair0_device* device, openair0_config_t *openair0_cfg);
#endif #endif
+13 -7
View File
@@ -394,7 +394,7 @@ struct timespec clock_difftime(struct timespec start, struct timespec end)
return temp; return temp;
} }
void print_difftimes() void print_difftimes(void)
{ {
#ifdef DEBUG #ifdef DEBUG
printf("difftimes min = %lu ns ; max = %lu ns\n", min_diff_time.tv_nsec, max_diff_time.tv_nsec); printf("difftimes min = %lu ns ; max = %lu ns\n", min_diff_time.tv_nsec, max_diff_time.tv_nsec);
@@ -1055,7 +1055,7 @@ static void* eNB_thread_tx( void* param )
static int eNB_thread_tx_status[NUM_ENB_THREADS]; static int eNB_thread_tx_status[NUM_ENB_THREADS];
eNB_proc_t *proc = (eNB_proc_t*)param; eNB_proc_t *proc = (eNB_proc_t*)param;
FILE *tx_time_file; FILE *tx_time_file = NULL;
char tx_time_name[101]; char tx_time_name[101];
if (opp_enabled == 1) { if (opp_enabled == 1) {
@@ -1274,9 +1274,9 @@ static void* eNB_thread_rx( void* param )
eNB_proc_t *proc = (eNB_proc_t*)param; eNB_proc_t *proc = (eNB_proc_t*)param;
FILE *rx_time_file; FILE *rx_time_file = NULL;
char rx_time_name[101]; char rx_time_name[101];
int i; //int i;
if (opp_enabled == 1){ if (opp_enabled == 1){
snprintf(rx_time_name, 100,"/tmp/%s_rx_time_thread_sf_%d", "eNB", proc->subframe); snprintf(rx_time_name, 100,"/tmp/%s_rx_time_thread_sf_%d", "eNB", proc->subframe);
@@ -1638,6 +1638,11 @@ static void* eNB_thread( void* arg )
int CC_id=0; int CC_id=0;
struct timespec trx_time0, trx_time1, trx_time2; struct timespec trx_time0, trx_time1, trx_time2;
/* avoid gcc warnings */
(void)trx_time0;
(void)trx_time1;
(void)trx_time2;
#ifdef RTAI #ifdef RTAI
RT_TASK* task = rt_task_init_schmod(nam2num("eNBmain"), 0, 0, 0, SCHED_FIFO, 0xF); RT_TASK* task = rt_task_init_schmod(nam2num("eNBmain"), 0, 0, 0, SCHED_FIFO, 0xF);
#else #else
@@ -1681,7 +1686,7 @@ static void* eNB_thread( void* arg )
#ifdef RTAI #ifdef RTAI
printf( "[SCHED][eNB] Started eNB main thread (id %p)\n", task ); printf( "[SCHED][eNB] Started eNB main thread (id %p)\n", task );
#else #else
printf( "[SCHED][eNB] Started eNB main thread on CPU %d TID %d\n", sched_getcpu(), gettid()); printf( "[SCHED][eNB] Started eNB main thread on CPU %d TID %ld\n", sched_getcpu(), gettid());
#endif #endif
#ifdef HARD_RT #ifdef HARD_RT
@@ -3225,10 +3230,11 @@ int main( int argc, char **argv )
if (input_fd) { if (input_fd) {
printf("Reading in from file to antenna buffer %d\n",0); printf("Reading in from file to antenna buffer %d\n",0);
fread(UE[0]->lte_ue_common_vars.rxdata[0], if (fread(UE[0]->lte_ue_common_vars.rxdata[0],
sizeof(int32_t), sizeof(int32_t),
frame_parms[0]->samples_per_tti*10, frame_parms[0]->samples_per_tti*10,
input_fd); input_fd) != frame_parms[0]->samples_per_tti*10)
printf("error reading from file\n");
} }
//p_exmimo_config->framing.tdd_config = TXRXSWITCH_TESTRX; //p_exmimo_config->framing.tdd_config = TXRXSWITCH_TESTRX;
} else { } else {
+7 -7
View File
@@ -463,7 +463,7 @@ static void *UE_thread_synch(void *arg)
if( UE->mode == rx_dump_frame ){ if( UE->mode == rx_dump_frame ){
FILE *fd; FILE *fd;
if ((UE->frame_rx&1) == 0) { // this guarantees SIB1 is present if ((UE->frame_rx&1) == 0) { // this guarantees SIB1 is present
if (fd = fopen("rxsig_frame0.dat","w")) { if ((fd = fopen("rxsig_frame0.dat","w")) != NULL) {
fwrite((void*)&UE->lte_ue_common_vars.rxdata[0][0], fwrite((void*)&UE->lte_ue_common_vars.rxdata[0][0],
sizeof(int32_t), sizeof(int32_t),
10*UE->lte_frame_parms.samples_per_tti, 10*UE->lte_frame_parms.samples_per_tti,
@@ -607,7 +607,7 @@ static void *UE_thread_synch(void *arg)
static void *UE_thread_tx(void *arg) static void *UE_thread_tx(void *arg)
{ {
static int UE_thread_tx_retval; static int UE_thread_tx_retval;
int ret; //int ret;
PHY_VARS_UE *UE = (PHY_VARS_UE*)arg; PHY_VARS_UE *UE = (PHY_VARS_UE*)arg;
@@ -1401,14 +1401,14 @@ void *UE_thread(void *arg)
RT_TASK *task; RT_TASK *task;
#endif #endif
// RTIME in, out, diff; // RTIME in, out, diff;
int slot=0,frame=0,hw_slot,last_slot,next_slot; int slot=0,frame=0,hw_slot;
// unsigned int aa; // unsigned int aa;
int delay_cnt; int delay_cnt;
RTIME time_in; RTIME time_in;
int hw_slot_offset=0,rx_offset_mbox=0,mbox_target=0,mbox_current=0; int /* hw_slot_offset=0, */ rx_offset_mbox=0,mbox_target=0,mbox_current=0;
int diff2; int diff2;
int i, ret; int /* i, */ ret;
int CC_id,card; int /* CC_id, */ card;
volatile unsigned int *DAQ_MBOX = openair0_daq_cnt(); volatile unsigned int *DAQ_MBOX = openair0_daq_cnt();
int wait_sync_cnt = 0; int wait_sync_cnt = 0;
@@ -1688,7 +1688,7 @@ void *UE_thread(void *arg)
frame++; frame++;
} }
} else if (UE->is_synchronized == 0) { // we are not yet synchronized } else if (UE->is_synchronized == 0) { // we are not yet synchronized
hw_slot_offset = 0; //hw_slot_offset = 0;
first_synch = 1; first_synch = 1;
slot = 0; slot = 0;
+5
View File
@@ -38,6 +38,10 @@
* \warning * \warning
*/ */
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include "rt_wrapper.h" #include "rt_wrapper.h"
static int latency_target_fd = -1; static int latency_target_fd = -1;
static int32_t latency_target_value = 0; static int32_t latency_target_value = 0;
@@ -154,6 +158,7 @@ int fill_modeled_runtime_table(uint16_t runtime_phy_rx[29][6],
runtime_phy_tx[i][j] = cell_processing_dl[j] + platform_processing_dl + user_processing_dl_err[j] + user_processing_dl_a[j]*i+ user_processing_dl_b[j]; runtime_phy_tx[i][j] = cell_processing_dl[j] + platform_processing_dl + user_processing_dl_err[j] + user_processing_dl_a[j]*i+ user_processing_dl_b[j];
} }
} }
return 0;
} }
// int runtime_upper_layers[6]; // values for different RBs // int runtime_upper_layers[6]; // values for different RBs
+2 -2
View File
@@ -97,7 +97,7 @@ void do_DL_sig(double **r_re0,double **r_im0,
double rx_pwr; double rx_pwr;
int32_t rx_pwr2; int32_t rx_pwr2;
uint32_t i,aa; uint32_t i,aa;
uint32_t slot_offset,slot_offset_meas; uint32_t slot_offset,slot_offset_meas = 0;
double min_path_loss=-200; double min_path_loss=-200;
uint8_t hold_channel=0; uint8_t hold_channel=0;
@@ -105,7 +105,7 @@ void do_DL_sig(double **r_re0,double **r_im0,
uint8_t nb_antennas_rx = eNB2UE[0][0][CC_id]->nb_rx; // number of rx antennas at UE uint8_t nb_antennas_rx = eNB2UE[0][0][CC_id]->nb_rx; // number of rx antennas at UE
uint8_t nb_antennas_tx = eNB2UE[0][0][CC_id]->nb_tx; // number of tx antennas at eNB uint8_t nb_antennas_tx = eNB2UE[0][0][CC_id]->nb_tx; // number of tx antennas at eNB
LTE_DL_FRAME_PARMS *fp; //LTE_DL_FRAME_PARMS *fp;
// int subframe_sched = ((next_slot>>1) == 0) ? 9 : ((next_slot>>1)-1); // int subframe_sched = ((next_slot>>1) == 0) ? 9 : ((next_slot>>1)-1);
+4 -5
View File
@@ -208,15 +208,15 @@ void schedule_events()
a = 5; a = 5;
uint16_t *priority[11];//={1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2}; //uint16_t *priority[11];//={1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2};
int tab[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX]; //int tab[NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX];
Application_Config* application_config; Application_Config* application_config;
application_config = malloc(sizeof(Application_Config)); application_config = malloc(sizeof(Application_Config));
for(i=0; i<NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX; i++) { for(i=0; i<NUMBER_OF_eNB_MAX + NUMBER_OF_UE_MAX; i++) {
tab[i]=i; //tab[i]=i;
application_config->customized_traffic.aggregation_level[i]=i; application_config->customized_traffic.aggregation_level[i]=i;
} }
@@ -249,7 +249,7 @@ void schedule_events()
//schedule(READ, MAC_ET, 500, NULL, ""); //schedule(READ, MAC_ET, 500, NULL, "");
//schedule(WRITE, MAC_ET, 100, NULL, ""); //schedule(WRITE, MAC_ET, 100, NULL, "");
//schedule(READ, TOPO_ET,110,NULL,"",0,0); //schedule(READ, TOPO_ET,110,NULL,"",0,0);
double b = (double) 45; //double b = (double) 45;
//schedule(READ, APP_ET,111,NULL,"",0,0); //schedule(READ, APP_ET,111,NULL,"",0,0);
//schedule(READ, SYS_ET,112,NULL,"",0,0); //schedule(READ, SYS_ET,112,NULL,"",0,0);
//schedule(READ, EMU_ET,113,NULL,"",-1,-1); //schedule(READ, EMU_ET,113,NULL,"",-1,-1);
@@ -1844,7 +1844,6 @@ void update_emu_model(Event_t event)
printf("\n\n\nA NEW EMU MODEL\n\n\n"); printf("\n\n\nA NEW EMU MODEL\n\n\n");
OAI_Emulation *oai_emulation; OAI_Emulation *oai_emulation;
oai_emulation = get_OAI_emulation(); oai_emulation = get_OAI_emulation();
int i=0;
if(event.optype == READ) { if(event.optype == READ) {
if(event.key == NULL) { if(event.key == NULL) {
+2 -2
View File
@@ -211,11 +211,11 @@ PHY_VARS_RN* init_lte_RN(LTE_DL_FRAME_PARMS *frame_parms,
if (eMBMS_active_state == multicast_relay) { if (eMBMS_active_state == multicast_relay) {
for (i=0; i < 10 ; i++) { // num SF in a frame for (i=0; i < 10 ; i++) { // num SF in a frame
PHY_vars_RN->dlsch_rn_MCH[i] = new_ue_dlsch(1,1,MAX_TURBO_ITERATIONS_MBSFN,NSOFT,frame_parms->N_RB_DL, 0); PHY_vars_RN->dlsch_rn_MCH[i] = new_ue_dlsch(1,1,NSOFT,MAX_TURBO_ITERATIONS_MBSFN,frame_parms->N_RB_DL, 0);
LOG_D(PHY,"eNB %d : MCH[%d] %p\n",RN_id,i,PHY_vars_RN->dlsch_rn_MCH[i]); LOG_D(PHY,"eNB %d : MCH[%d] %p\n",RN_id,i,PHY_vars_RN->dlsch_rn_MCH[i]);
} }
} else { } else {
PHY_vars_RN->dlsch_rn_MCH[0] = new_ue_dlsch(1,1,MAX_TURBO_ITERATIONS,NSOFT,frame_parms->N_RB_DL, 0); PHY_vars_RN->dlsch_rn_MCH[0] = new_ue_dlsch(1,1,NSOFT,MAX_TURBO_ITERATIONS,frame_parms->N_RB_DL, 0);
LOG_D(PHY,"eNB %d : MCH[0] %p\n",RN_id,PHY_vars_RN->dlsch_rn_MCH[0]); LOG_D(PHY,"eNB %d : MCH[0] %p\n",RN_id,PHY_vars_RN->dlsch_rn_MCH[0]);
} }

Some files were not shown because too many files have changed in this diff Show More