move UE_list/slice init in dedicated functions
This commit is contained in:
committed by
Robert Schmidt
parent
0bb6a19f71
commit
6c4f58a0a0
@@ -165,6 +165,10 @@ void add_msg3(module_id_t module_idP, int CC_id, RA_t * ra, frame_t frameP,
|
|||||||
|
|
||||||
//main.c
|
//main.c
|
||||||
|
|
||||||
|
void init_UE_list(UE_list_t *UE_list);
|
||||||
|
|
||||||
|
void init_slice_info(slice_info_t *sli);
|
||||||
|
|
||||||
int mac_top_init(int eMBMS_active, char *uecap_xer,
|
int mac_top_init(int eMBMS_active, char *uecap_xer,
|
||||||
uint8_t cba_group_active, uint8_t HO_active);
|
uint8_t cba_group_active, uint8_t HO_active);
|
||||||
|
|
||||||
|
|||||||
+50
-39
@@ -46,12 +46,57 @@
|
|||||||
|
|
||||||
extern RAN_CONTEXT_t RC;
|
extern RAN_CONTEXT_t RC;
|
||||||
|
|
||||||
|
void init_UE_list(UE_list_t *UE_list)
|
||||||
|
{
|
||||||
|
int list_el;
|
||||||
|
UE_list->num_UEs = 0;
|
||||||
|
UE_list->head = -1;
|
||||||
|
UE_list->head_ul = -1;
|
||||||
|
UE_list->avail = 0;
|
||||||
|
for (list_el = 0; list_el < MAX_MOBILES_PER_ENB - 1; list_el++) {
|
||||||
|
UE_list->next[list_el] = list_el + 1;
|
||||||
|
UE_list->next_ul[list_el] = list_el + 1;
|
||||||
|
}
|
||||||
|
UE_list->next[list_el] = -1;
|
||||||
|
UE_list->next_ul[list_el] = -1;
|
||||||
|
memset(UE_list->DLSCH_pdu, 0, sizeof(UE_list->DLSCH_pdu));
|
||||||
|
memset(UE_list->UE_template, 0, sizeof(UE_list->UE_template));
|
||||||
|
memset(UE_list->eNB_UE_stats, 0, sizeof(UE_list->eNB_UE_stats));
|
||||||
|
memset(UE_list->UE_sched_ctrl, 0, sizeof(UE_list->UE_sched_ctrl));
|
||||||
|
memset(UE_list->active, 0, sizeof(UE_list->active));
|
||||||
|
memset(UE_list->assoc_dl_slice_idx, 0, sizeof(UE_list->assoc_dl_slice_idx));
|
||||||
|
memset(UE_list->assoc_ul_slice_idx, 0, sizeof(UE_list->assoc_ul_slice_idx));
|
||||||
|
}
|
||||||
|
|
||||||
|
void init_slice_info(slice_info_t *sli)
|
||||||
|
{
|
||||||
|
sli->intraslice_share_active = 1;
|
||||||
|
sli->interslice_share_active = 1;
|
||||||
|
|
||||||
|
sli->n_dl = 1;
|
||||||
|
memset(sli->dl, 0, sizeof(slice_sched_conf_dl_t) * MAX_NUM_SLICES);
|
||||||
|
sli->dl[0].pct = 1.0;
|
||||||
|
sli->dl[0].prio = 10;
|
||||||
|
sli->dl[0].pos_high = N_RBG_MAX;
|
||||||
|
sli->dl[0].maxmcs = 28;
|
||||||
|
sli->dl[0].sorting = 0x012345;
|
||||||
|
sli->dl[0].sched_name = "schedule_ue_spec";
|
||||||
|
sli->dl[0].sched_cb = dlsym(NULL, sli->dl[0].sched_name);
|
||||||
|
AssertFatal(sli->dl[0].sched_cb, "DLSCH scheduler callback is NULL\n");
|
||||||
|
|
||||||
|
sli->n_ul = 1;
|
||||||
|
memset(sli->ul, 0, sizeof(slice_sched_conf_ul_t) * MAX_NUM_SLICES);
|
||||||
|
sli->ul[0].pct = 1.0;
|
||||||
|
sli->ul[0].maxmcs = 20;
|
||||||
|
sli->ul[0].sorting = 0x0123;
|
||||||
|
sli->ul[0].sched_name = "schedule_ulsch_rnti";
|
||||||
|
sli->ul[0].sched_cb = dlsym(NULL, sli->ul[0].sched_name);
|
||||||
|
AssertFatal(sli->ul[0].sched_cb, "ULSCH scheduler callback is NULL\n");
|
||||||
|
}
|
||||||
|
|
||||||
void mac_top_init_eNB(void)
|
void mac_top_init_eNB(void)
|
||||||
{
|
{
|
||||||
module_id_t i, j;
|
module_id_t i, j;
|
||||||
int list_el;
|
|
||||||
UE_list_t *UE_list;
|
|
||||||
slice_info_t *sli;
|
|
||||||
eNB_MAC_INST **mac;
|
eNB_MAC_INST **mac;
|
||||||
|
|
||||||
LOG_I(MAC, "[MAIN] Init function start:nb_macrlc_inst=%d\n",
|
LOG_I(MAC, "[MAIN] Init function start:nb_macrlc_inst=%d\n",
|
||||||
@@ -95,42 +140,8 @@ void mac_top_init_eNB(void)
|
|||||||
|
|
||||||
mac[i]->if_inst = IF_Module_init(i);
|
mac[i]->if_inst = IF_Module_init(i);
|
||||||
|
|
||||||
UE_list = &mac[i]->UE_list;
|
init_UE_list(&mac[i]->UE_list);
|
||||||
UE_list->num_UEs = 0;
|
init_slice_info(&mac[i]->slice_info);
|
||||||
UE_list->head = -1;
|
|
||||||
UE_list->head_ul = -1;
|
|
||||||
UE_list->avail = 0;
|
|
||||||
|
|
||||||
for (list_el = 0; list_el < MAX_MOBILES_PER_ENB - 1; list_el++) {
|
|
||||||
UE_list->next[list_el] = list_el + 1;
|
|
||||||
UE_list->next_ul[list_el] = list_el + 1;
|
|
||||||
}
|
|
||||||
UE_list->next[list_el] = -1;
|
|
||||||
UE_list->next_ul[list_el] = -1;
|
|
||||||
|
|
||||||
sli = &mac[i]->slice_info;
|
|
||||||
sli->intraslice_share_active = 1;
|
|
||||||
sli->interslice_share_active = 1;
|
|
||||||
|
|
||||||
sli->n_dl = 1;
|
|
||||||
memset(sli->dl, 0, sizeof(slice_sched_conf_dl_t) * MAX_NUM_SLICES);
|
|
||||||
sli->dl[0].pct = 1.0;
|
|
||||||
sli->dl[0].prio = 10;
|
|
||||||
sli->dl[0].pos_high = N_RBG_MAX;
|
|
||||||
sli->dl[0].maxmcs = 28;
|
|
||||||
sli->dl[0].sorting = 0x012345;
|
|
||||||
sli->dl[0].sched_name = "schedule_ue_spec";
|
|
||||||
sli->dl[0].sched_cb = dlsym(NULL, sli->dl[0].sched_name);
|
|
||||||
AssertFatal(sli->dl[0].sched_cb, "DLSCH scheduler callback is NULL\n");
|
|
||||||
|
|
||||||
sli->n_ul = 1;
|
|
||||||
memset(sli->ul, 0, sizeof(slice_sched_conf_ul_t) * MAX_NUM_SLICES);
|
|
||||||
sli->ul[0].pct = 1.0;
|
|
||||||
sli->ul[0].maxmcs = 20;
|
|
||||||
sli->ul[0].sorting = 0x0123;
|
|
||||||
sli->ul[0].sched_name = "schedule_ulsch_rnti";
|
|
||||||
sli->ul[0].sched_cb = dlsym(NULL, sli->ul[0].sched_name);
|
|
||||||
AssertFatal(sli->ul[0].sched_cb, "ULSCH scheduler callback is NULL\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
RC.mac = mac;
|
RC.mac = mac;
|
||||||
|
|||||||
Reference in New Issue
Block a user