From 369e89ee2a58589786b52e279203374d89c63d6f Mon Sep 17 00:00:00 2001 From: Robert Schmidt <robert.schmidt@eurecom.fr> Date: Thu, 25 Oct 2018 15:31:12 +0200 Subject: [PATCH] Create RAN API flexran_get_num_ue_lcs() [no dedicated bearers detection] --- openair2/ENB_APP/flexran_agent_ran_api.c | 14 ++++++++++++++ openair2/ENB_APP/flexran_agent_ran_api.h | 4 ++++ 2 files changed, 18 insertions(+) diff --git a/openair2/ENB_APP/flexran_agent_ran_api.c b/openair2/ENB_APP/flexran_agent_ran_api.c index 7fb0d767e1..f8789e3d71 100644 --- a/openair2/ENB_APP/flexran_agent_ran_api.c +++ b/openair2/ENB_APP/flexran_agent_ran_api.c @@ -114,6 +114,20 @@ int flexran_get_num_ues(mid_t mod_id) return RC.mac[mod_id]->UE_list.num_UEs; } +int flexran_get_num_ue_lcs(mid_t mod_id, mid_t ue_id) +{ + if (!mac_is_present(mod_id)) return 0; + // Not sure whether this is needed: if (!rrc_is_present(mod_id)) return 0; + const rnti_t rnti = flexran_get_ue_crnti(mod_id, ue_id); + const int s = mac_eNB_get_rrc_status(mod_id, rnti); + if (s < RRC_CONNECTED) + return 0; + else if (s == RRC_CONNECTED) + return 1; + else + return 3; +} + rnti_t flexran_get_ue_crnti(mid_t mod_id, mid_t ue_id) { if (!mac_is_present(mod_id)) return 0; diff --git a/openair2/ENB_APP/flexran_agent_ran_api.h b/openair2/ENB_APP/flexran_agent_ran_api.h index c98113a392..b0e3f941a7 100644 --- a/openair2/ENB_APP/flexran_agent_ran_api.h +++ b/openair2/ENB_APP/flexran_agent_ran_api.h @@ -73,6 +73,10 @@ uint16_t flexran_get_future_sfn_sf(mid_t mod_id, int ahead_of_time); /* Return the number of attached UEs */ int flexran_get_num_ues(mid_t mod_id); +/* Get the number of logical channels per UE. This function does not consider + * dedicated bearers yet */ +int flexran_get_num_ue_lcs(mid_t mod_id, mid_t ue_id); + /* Get the rnti of a UE with id ue_id */ rnti_t flexran_get_ue_crnti(mid_t mod_id, mid_t ue_id); -- 2.26.2