From d4631845ec3c96c5132c68ab2e02cbb1e5cbeb75 Mon Sep 17 00:00:00 2001 From: francescomani Date: Mon, 24 Mar 2025 18:12:55 +0100 Subject: [PATCH] remove other RLC functions not used in NR --- openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c | 122 ------------------------ 1 file changed, 122 deletions(-) diff --git a/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c b/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c index 932175e03a..ad6193155d 100644 --- a/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c +++ b/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c @@ -259,59 +259,6 @@ mac_rlc_status_resp_t nr_mac_rlc_status_ind(const uint16_t ue_id, const frame_t return ret; } -rlc_buffer_occupancy_t mac_rlc_get_buffer_occupancy_ind(const module_id_t module_idP, - const uint16_t ue_id, - const eNB_index_t eNB_index, - const frame_t frameP, - const sub_frame_t subframeP, - const eNB_flag_t enb_flagP, - const logical_chan_id_t channel_idP) -{ - rlc_buffer_occupancy_t ret; - - if (enb_flagP) { - LOG_E(RLC, "Tx mac_rlc_get_buffer_occupancy_ind function is not implemented for eNB LcId=%u\n", channel_idP); - exit(1); - } - - /* TODO: handle time a bit more properly */ - lock_nr_rlc_current_time(); - if (nr_rlc_current_time_last_frame != frameP || - nr_rlc_current_time_last_subframe != subframeP) { - nr_rlc_current_time++; - nr_rlc_current_time_last_frame = frameP; - nr_rlc_current_time_last_subframe = subframeP; - } - unlock_nr_rlc_current_time(); - - nr_rlc_manager_lock(nr_rlc_ue_manager); - nr_rlc_ue_t *ue = nr_rlc_manager_get_ue(nr_rlc_ue_manager, ue_id); - nr_rlc_entity_t *rb = get_rlc_entity_from_lcid(ue, channel_idP); - - if (rb != NULL) { - nr_rlc_entity_buffer_status_t buf_stat; - rb->set_time(rb, get_nr_rlc_current_time()); - /* 38.321 deals with BSR values up to 81338368 bytes, after what it - * reports '> 81338368' (table 6.1.3.1-2). Passing 100000000 is thus - * more than enough. - */ - // Fixme : Laurent reduced size for CPU saving - // Fix me: temproary reduction meanwhile cpu cost of this computation is optimized - buf_stat = rb->buffer_status(rb, 1000*1000); - ret = buf_stat.status_size - + buf_stat.retx_size - + buf_stat.tx_size; - } else { - if (!(frameP%128)) //to suppress this warning message - LOG_W(RLC, "Radio Bearer (channel ID %d) is NULL for UE %d\n", channel_idP, ue_id); - ret = 0; - } - - nr_rlc_manager_unlock(nr_rlc_ue_manager); - - return ret; -} - rlc_op_status_t rlc_data_req(const protocol_ctxt_t *const ctxt_pP, const srb_flag_t srb_flagP, const MBMS_flag_t MBMS_flagP, @@ -408,10 +355,6 @@ int rlc_module_init(int enb_flag) return 0; } -void rlc_util_print_hex_octets(comp_name_t componentP, unsigned char *dataP, const signed long sizeP) -{ -} - static void deliver_sdu(void *_ue, nr_rlc_entity_t *entity, char *buf, int size) { nr_rlc_ue_t *ue = _ue; @@ -957,61 +900,6 @@ bool nr_rlc_activate_srb0(int ue_id, return true; } -rlc_op_status_t rrc_rlc_config_req(const protocol_ctxt_t* const ctxt_pP, - const srb_flag_t srb_flagP, - const MBMS_flag_t mbms_flagP, - const config_action_t actionP, - const rb_id_t rb_idP) -{ - if (mbms_flagP) { - LOG_E(RLC, "%s:%d:%s: todo (MBMS NOT supported)\n", __FILE__, __LINE__, __FUNCTION__); - exit(1); - } - if (actionP != CONFIG_ACTION_REMOVE) { - LOG_E(RLC, "%s:%d:%s: todo (only CONFIG_ACTION_REMOVE supported)\n", __FILE__, __LINE__, __FUNCTION__); - exit(1); - } - if (ctxt_pP->module_id) { - LOG_E(RLC, "%s:%d:%s: todo (only module_id 0 supported)\n", __FILE__, __LINE__, __FUNCTION__); - exit(1); - } - if ((srb_flagP && !(rb_idP >= 1 && rb_idP <= 2)) || - (!srb_flagP && !(rb_idP >= 1 && rb_idP <= MAX_DRBS_PER_UE))) { - LOG_E(RLC, "%s:%d:%s: bad rb_id (%ld) (is_srb %d)\n", __FILE__, __LINE__, __FUNCTION__, rb_idP, srb_flagP); - exit(1); - } - nr_rlc_manager_lock(nr_rlc_ue_manager); - LOG_D(RLC, "%s:%d:%s: remove rb %ld (is_srb %d) for UE %lx\n", __FILE__, __LINE__, __FUNCTION__, rb_idP, srb_flagP, ctxt_pP->rntiMaybeUEid); - nr_rlc_ue_t *ue = nr_rlc_manager_get_ue(nr_rlc_ue_manager, ctxt_pP->rntiMaybeUEid); - if (srb_flagP) { - if (ue->srb[rb_idP-1] != NULL) { - ue->srb[rb_idP-1]->delete_entity(ue->srb[rb_idP-1]); - ue->srb[rb_idP-1] = NULL; - } else - LOG_W(RLC, "removing non allocated SRB %ld, do nothing\n", rb_idP); - } else { - if (ue->drb[rb_idP-1] != NULL) { - ue->drb[rb_idP-1]->delete_entity(ue->drb[rb_idP-1]); - ue->drb[rb_idP-1] = NULL; - } else - LOG_W(RLC, "removing non allocated DRB %ld, do nothing\n", rb_idP); - } - /* remove UE if it has no more RB configured */ - int i; - for (i = 0; i < 2; i++) - if (ue->srb[i] != NULL) - break; - if (i == 2) { - for (i = 0; i < MAX_DRBS_PER_UE; i++) - if (ue->drb[i] != NULL) - break; - if (i == MAX_DRBS_PER_UE) - nr_rlc_manager_remove_ue(nr_rlc_ue_manager, ctxt_pP->rntiMaybeUEid); - } - nr_rlc_manager_unlock(nr_rlc_ue_manager); - return RLC_OP_STATUS_OK; -} - void nr_rlc_remove_ue(int ue_id) { LOG_W(RLC, "Remove UE %d\n", ue_id); @@ -1085,16 +973,6 @@ void nr_rlc_tick(int frame, int subframe) unlock_nr_rlc_current_time(); } -/* This is a hack, to compile the gNB. - * TODO: remove it. The solution is to cleanup CMakeLists.txt - */ -void rlc_tick(int a, int b) -{ - LOG_E(RLC, "%s:%d:%s: this code should not be reached\n", - __FILE__, __LINE__, __FUNCTION__); - exit(1); -} - void nr_rlc_activate_avg_time_to_tx(const int ue_id, const logical_chan_id_t channel_id, const bool is_on)