From f5b8343244413f3150593a412d0e9915a95dd356 Mon Sep 17 00:00:00 2001 From: Francisco Paisana Date: Tue, 10 Apr 2018 17:42:50 +0200 Subject: [PATCH 1/3] srsenb now prints an error message when the QCI is not valid --- srsenb/src/upper/rrc.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/srsenb/src/upper/rrc.cc b/srsenb/src/upper/rrc.cc index f47656c6d..3f6516a48 100644 --- a/srsenb/src/upper/rrc.cc +++ b/srsenb/src/upper/rrc.cc @@ -1447,6 +1447,7 @@ void rrc::ue::send_connection_reconf(srslte::byte_buffer_t *pdu) // Get DRB1 configuration if (get_drbid_config(&conn_reconf->rr_cnfg_ded.drb_to_add_mod_list[0], 1)) { parent->rrc_log->error("Getting DRB1 configuration\n"); + printf("ERROR: The QCI %d is invalid or not configured.\n", erabs[5].qos_params.qCI.QCI); } else { conn_reconf->rr_cnfg_ded.drb_to_add_mod_list_size = 1; } @@ -1525,7 +1526,8 @@ void rrc::ue::send_connection_reconf_new_bearer(LIBLTE_S1AP_E_RABTOBESETUPLISTBE // Get DRB configuration if (get_drbid_config(&conn_reconf->rr_cnfg_ded.drb_to_add_mod_list[i], lcid)) { - parent->rrc_log->error("Getting DRB configuration\n"); + parent->rrc_log->error("Getting DRB configuration\n"); + printf("ERROR: The QCI %d is invalid or not configured.\n", erabs[lcid+4].qos_params.qCI.QCI); } else { conn_reconf->rr_cnfg_ded.drb_to_add_mod_list_size++; } From 296d49f3eb20d98592318f0bf3542182497997da Mon Sep 17 00:00:00 2001 From: Francisco Paisana Date: Tue, 10 Apr 2018 19:45:06 +0200 Subject: [PATCH 2/3] Now enb does not crash when the QCI is not invalid. --- srsenb/src/upper/rrc.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/srsenb/src/upper/rrc.cc b/srsenb/src/upper/rrc.cc index 3f6516a48..9ceb3883a 100644 --- a/srsenb/src/upper/rrc.cc +++ b/srsenb/src/upper/rrc.cc @@ -1447,7 +1447,8 @@ void rrc::ue::send_connection_reconf(srslte::byte_buffer_t *pdu) // Get DRB1 configuration if (get_drbid_config(&conn_reconf->rr_cnfg_ded.drb_to_add_mod_list[0], 1)) { parent->rrc_log->error("Getting DRB1 configuration\n"); - printf("ERROR: The QCI %d is invalid or not configured.\n", erabs[5].qos_params.qCI.QCI); + printf("The QCI %d for DRB1 is invalid or not configured.\n", erabs[5].qos_params.qCI.QCI); + return; } else { conn_reconf->rr_cnfg_ded.drb_to_add_mod_list_size = 1; } @@ -1528,6 +1529,7 @@ void rrc::ue::send_connection_reconf_new_bearer(LIBLTE_S1AP_E_RABTOBESETUPLISTBE if (get_drbid_config(&conn_reconf->rr_cnfg_ded.drb_to_add_mod_list[i], lcid)) { parent->rrc_log->error("Getting DRB configuration\n"); printf("ERROR: The QCI %d is invalid or not configured.\n", erabs[lcid+4].qos_params.qCI.QCI); + return; } else { conn_reconf->rr_cnfg_ded.drb_to_add_mod_list_size++; } From c104c9e3c8e441b7c28afb61076d8086b56d4f75 Mon Sep 17 00:00:00 2001 From: Francisco Paisana Date: Wed, 11 Apr 2018 10:50:14 +0200 Subject: [PATCH 3/3] solved the small inconsistency with the drbid/lcid/erabid --- srsenb/src/upper/rrc.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/srsenb/src/upper/rrc.cc b/srsenb/src/upper/rrc.cc index 9ceb3883a..93b9f8499 100644 --- a/srsenb/src/upper/rrc.cc +++ b/srsenb/src/upper/rrc.cc @@ -1526,7 +1526,7 @@ void rrc::ue::send_connection_reconf_new_bearer(LIBLTE_S1AP_E_RABTOBESETUPLISTBE uint8_t lcid = id - 2; // Map e.g. E-RAB 5 to LCID 3 (==DRB1) // Get DRB configuration - if (get_drbid_config(&conn_reconf->rr_cnfg_ded.drb_to_add_mod_list[i], lcid)) { + if (get_drbid_config(&conn_reconf->rr_cnfg_ded.drb_to_add_mod_list[i], lcid-2)) { parent->rrc_log->error("Getting DRB configuration\n"); printf("ERROR: The QCI %d is invalid or not configured.\n", erabs[lcid+4].qos_params.qCI.QCI); return;