From d7948d04b46d57ef6fd4dcb86647eb0a425b9f21 Mon Sep 17 00:00:00 2001
From: Robert Schmidt <robert.schmidt@eurecom.fr>
Date: Thu, 25 Oct 2018 20:02:58 +0200
Subject: [PATCH] Always fill RRC part of ue_config with all parameters

---
 .../CONTROL_MODULES/RRC/flexran_agent_rrc.c   | 96 +++++++------------
 1 file changed, 33 insertions(+), 63 deletions(-)

diff --git a/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c b/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c
index 60d31203d8..ad5990b70f 100644
--- a/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c
+++ b/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c
@@ -524,16 +524,13 @@ void flexran_agent_fill_rrc_ue_config(mid_t mod_id, rnti_t rnti,
   //TODO: Set the DRX configuration (optional)
   //Not supported for now, so we do not set it
 
-  if(flexran_get_time_alignment_timer(mod_id, rnti) != -1) {
-    ue_conf->time_alignment_timer = flexran_get_time_alignment_timer(mod_id, rnti);
-    ue_conf->has_time_alignment_timer = 1;
-  }
-  if(flexran_get_meas_gap_config(mod_id, rnti) != -1){
-    ue_conf->meas_gap_config_pattern = flexran_get_meas_gap_config(mod_id, rnti);
-    ue_conf->has_meas_gap_config_pattern = 1;
-  }
-  if(ue_conf->has_meas_gap_config_pattern == 1 &&
-      ue_conf->meas_gap_config_pattern != PROTOCOL__FLEX_MEAS_GAP_CONFIG_PATTERN__FLMGCP_OFF) {
+  ue_conf->time_alignment_timer = flexran_get_time_alignment_timer(mod_id, rnti);
+  ue_conf->has_time_alignment_timer = 1;
+
+  ue_conf->meas_gap_config_pattern = flexran_get_meas_gap_config(mod_id, rnti);
+  ue_conf->has_meas_gap_config_pattern = 1;
+
+  if(ue_conf->meas_gap_config_pattern != PROTOCOL__FLEX_MEAS_GAP_CONFIG_PATTERN__FLMGCP_OFF) {
     ue_conf->meas_gap_config_sf_offset = flexran_get_meas_gap_config_offset(mod_id, rnti);
     ue_conf->has_meas_gap_config_sf_offset = 1;
   }
@@ -547,11 +544,8 @@ void flexran_agent_fill_rrc_ue_config(mid_t mod_id, rnti_t rnti,
   //TODO: Set the CQI configuration (Optional)
   //We do not set it for now
 
-  if(flexran_get_ue_transmission_mode(mod_id, rnti) != -1) {
-    ue_conf->transmission_mode = flexran_get_ue_transmission_mode(mod_id, rnti);
-    ue_conf->has_transmission_mode = 1;
-  }
-
+  ue_conf->transmission_mode = flexran_get_ue_transmission_mode(mod_id, rnti);
+  ue_conf->has_transmission_mode = 1;
 
   Protocol__FlexUeCapabilities *c_capabilities;
   c_capabilities = malloc(sizeof(Protocol__FlexUeCapabilities));
@@ -576,66 +570,42 @@ void flexran_agent_fill_rrc_ue_config(mid_t mod_id, rnti_t rnti,
     ue_conf->capabilities = c_capabilities;
   }
 
-  if(flexran_get_ue_transmission_antenna(mod_id, rnti) != -1) {
-    ue_conf->has_ue_transmission_antenna = 1;
-    ue_conf->ue_transmission_antenna = flexran_get_ue_transmission_antenna(mod_id, rnti);
-  }
+  ue_conf->has_ue_transmission_antenna = 1;
+  ue_conf->ue_transmission_antenna = flexran_get_ue_transmission_antenna(mod_id, rnti);
 
-  if (flexran_get_tti_bundling(mod_id, rnti) != -1) {
-    ue_conf->has_tti_bundling = 1;
-    ue_conf->tti_bundling = flexran_get_tti_bundling(mod_id, rnti);
-  }
+  ue_conf->has_tti_bundling = 1;
+  ue_conf->tti_bundling = flexran_get_tti_bundling(mod_id, rnti);
 
-  if(flexran_get_maxHARQ_TX(mod_id, rnti) != -1){
-    ue_conf->has_max_harq_tx = 1;
-    ue_conf->max_harq_tx = flexran_get_maxHARQ_TX(mod_id, rnti);
-  }
+  ue_conf->has_max_harq_tx = 1;
+  ue_conf->max_harq_tx = flexran_get_maxHARQ_TX(mod_id, rnti);
 
-  if(flexran_get_beta_offset_ack_index(mod_id, rnti) != -1) {
-    ue_conf->has_beta_offset_ack_index = 1;
-    ue_conf->beta_offset_ack_index = flexran_get_beta_offset_ack_index(mod_id, rnti);
-  }
+  ue_conf->has_beta_offset_ack_index = 1;
+  ue_conf->beta_offset_ack_index = flexran_get_beta_offset_ack_index(mod_id, rnti);
 
-  if(flexran_get_beta_offset_ri_index(mod_id, rnti) != -1) {
-    ue_conf->has_beta_offset_ri_index = 1;
-    ue_conf->beta_offset_ri_index = flexran_get_beta_offset_ri_index(mod_id, rnti);
-  }
+  ue_conf->has_beta_offset_ri_index = 1;
+  ue_conf->beta_offset_ri_index = flexran_get_beta_offset_ri_index(mod_id, rnti);
 
-  if(flexran_get_beta_offset_cqi_index(mod_id, rnti) != -1) {
-    ue_conf->has_beta_offset_cqi_index = 1;
-    ue_conf->beta_offset_cqi_index = flexran_get_beta_offset_cqi_index(mod_id, rnti);
-  }
+  ue_conf->has_beta_offset_cqi_index = 1;
+  ue_conf->beta_offset_cqi_index = flexran_get_beta_offset_cqi_index(mod_id, rnti);
 
   /* assume primary carrier */
-  if(flexran_get_ack_nack_simultaneous_trans(mod_id,0) != -1) {
-    ue_conf->has_ack_nack_simultaneous_trans = 1;
-    ue_conf->ack_nack_simultaneous_trans = flexran_get_ack_nack_simultaneous_trans(mod_id,0);
-  }
+  ue_conf->has_ack_nack_simultaneous_trans = 1;
+  ue_conf->ack_nack_simultaneous_trans = flexran_get_ack_nack_simultaneous_trans(mod_id,0);
 
-  if(flexran_get_simultaneous_ack_nack_cqi(mod_id, rnti) != -1) {
-    ue_conf->has_simultaneous_ack_nack_cqi = 1;
-    ue_conf->simultaneous_ack_nack_cqi = flexran_get_simultaneous_ack_nack_cqi(mod_id, rnti);
-  }
+  ue_conf->has_simultaneous_ack_nack_cqi = 1;
+  ue_conf->simultaneous_ack_nack_cqi = flexran_get_simultaneous_ack_nack_cqi(mod_id, rnti);
 
-  if(flexran_get_aperiodic_cqi_rep_mode(mod_id, rnti) != -1) {
-    ue_conf->has_aperiodic_cqi_rep_mode = 1;
-    ue_conf->aperiodic_cqi_rep_mode = flexran_get_aperiodic_cqi_rep_mode(mod_id, rnti);
-  }
+  ue_conf->has_aperiodic_cqi_rep_mode = 1;
+  ue_conf->aperiodic_cqi_rep_mode = flexran_get_aperiodic_cqi_rep_mode(mod_id, rnti);
 
-  if(flexran_get_tdd_ack_nack_feedback_mode(mod_id, rnti) != -1) {
-    ue_conf->has_tdd_ack_nack_feedback = 1;
-    ue_conf->tdd_ack_nack_feedback = flexran_get_tdd_ack_nack_feedback_mode(mod_id, rnti);
-  }
+  ue_conf->has_tdd_ack_nack_feedback = 1;
+  ue_conf->tdd_ack_nack_feedback = flexran_get_tdd_ack_nack_feedback_mode(mod_id, rnti);
 
-  if(flexran_get_ack_nack_repetition_factor(mod_id, rnti) != -1) {
-    ue_conf->has_ack_nack_repetition_factor = 1;
-    ue_conf->ack_nack_repetition_factor = flexran_get_ack_nack_repetition_factor(mod_id, rnti);
-  }
+  ue_conf->has_ack_nack_repetition_factor = 1;
+  ue_conf->ack_nack_repetition_factor = flexran_get_ack_nack_repetition_factor(mod_id, rnti);
 
-  if(flexran_get_extended_bsr_size(mod_id, rnti) != -1) {
-    ue_conf->has_extended_bsr_size = 1;
-    ue_conf->extended_bsr_size = flexran_get_extended_bsr_size(mod_id, rnti);
-  }
+  ue_conf->has_extended_bsr_size = 1;
+  ue_conf->extended_bsr_size = flexran_get_extended_bsr_size(mod_id, rnti);
 }
 
 int flexran_agent_register_rrc_xface(mid_t mod_id)
-- 
GitLab