From 0c0e7b6ead51151ec7f7a5b7040bc6b87eb04255 Mon Sep 17 00:00:00 2001 From: Robert Schmidt <robert.schmidt@eurecom.fr> Date: Mon, 21 May 2018 12:25:17 +0200 Subject: [PATCH] simplify control flow --- .../CONTROL_MODULES/MAC/flexran_agent_mac.c | 22 ++----------------- .../MAC/flexran_agent_mac_internal.c | 6 +---- 2 files changed, 3 insertions(+), 25 deletions(-) diff --git a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c index c752469414..834283945b 100644 --- a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c +++ b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c @@ -1472,24 +1472,6 @@ void flexran_agent_slice_update(mid_t mod_id) flexran_agent_read_slice_ul_config(mod_id, i, slice_config[mod_id]->ul[i]); } - /* in case we tried to add a slice and it failed (e.g. due to high sum - * percentage being too high), revert to the correct number of slices. - * Also, do not write if we try the last time */ - if (perform_slice_config_update_count == 1) { - if (slice_config[mod_id]->n_dl != sc_update[mod_id]->n_dl) { - sc_update[mod_id]->n_dl = slice_config[mod_id]->n_dl; - LOG_W(FLEXRAN_AGENT, "[%d] reverting to original number of %ld DL slices\n", - mod_id, sc_update[mod_id]->n_dl); - } - if (slice_config[mod_id]->n_ul != sc_update[mod_id]->n_ul) { - sc_update[mod_id]->n_ul = slice_config[mod_id]->n_ul; - LOG_W(FLEXRAN_AGENT, "[%d] reverting to original number of %ld UL slices\n", - mod_id, sc_update[mod_id]->n_ul); - } - pthread_mutex_unlock(&sc_update_mtx); - return; - } - /********* write new config *********/ /* check for removal (sc_update[X]->dl[Y].percentage == 0) * and update sc_update & slice_config accordingly */ @@ -1499,22 +1481,22 @@ void flexran_agent_slice_update(mid_t mod_id) for (i = slice_config[mod_id]->n_dl; i < sc_update[mod_id]->n_dl; i++) { flexran_create_dl_slice(mod_id, sc_update[mod_id]->dl[i]->id); slice_config[mod_id]->n_dl = flexran_get_num_dl_slices(mod_id); - flexran_agent_read_slice_dl_config(mod_id, i, slice_config[mod_id]->dl[i]); } for (i = slice_config[mod_id]->n_ul; i < sc_update[mod_id]->n_ul; i++) { flexran_create_ul_slice(mod_id, sc_update[mod_id]->ul[i]->id); slice_config[mod_id]->n_ul = flexran_get_num_ul_slices(mod_id); - flexran_agent_read_slice_ul_config(mod_id, i, slice_config[mod_id]->ul[i]); } for (i = 0; i < slice_config[mod_id]->n_dl; i++) { changes += apply_new_slice_dl_config(mod_id, slice_config[mod_id]->dl[i], sc_update[mod_id]->dl[i]); + flexran_agent_read_slice_dl_config(mod_id, i, slice_config[mod_id]->dl[i]); } for (i = 0; i < slice_config[mod_id]->n_ul; i++) { changes += apply_new_slice_ul_config(mod_id, slice_config[mod_id]->ul[i], sc_update[mod_id]->ul[i]); + flexran_agent_read_slice_ul_config(mod_id, i, slice_config[mod_id]->ul[i]); } if (n_ue_slice_assoc_updates > 0) { changes += apply_ue_slice_assoc_update(mod_id); diff --git a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c index e1ca3273e8..50eb17d919 100644 --- a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c +++ b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c @@ -1365,11 +1365,7 @@ void prepare_update_slice_config(mid_t mod_id, Protocol__FlexSliceConfig *sup) } pthread_mutex_unlock(&sc_update_mtx); - /* perform the slice configuration reads a couple of times. If there are - * inconsistencies (i.e. the MAC refuses a configuration), we will have a - * couple of warnings because the current configuration and the one in - * sc_update will be diverged */ - perform_slice_config_update_count = 3; + perform_slice_config_update_count = 1; } int apply_new_slice_dl_config(mid_t mod_id, Protocol__FlexDlSlice *oldc, Protocol__FlexDlSlice *newc) -- GitLab