reworking logic for selection of configuration parameters as a function of node (CU/DU/eNB)
This commit is contained in:
@@ -416,7 +416,7 @@ void RCconfig_macrlc(int macrlc_has_f1[MAX_MAC_INST]) {
|
||||
}
|
||||
|
||||
|
||||
int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc) {
|
||||
int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc, int macrlc_has_f1) {
|
||||
|
||||
int num_enbs = 0;
|
||||
|
||||
@@ -637,10 +637,7 @@ int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc) {
|
||||
|
||||
LOG_I(RRC,"Instance %d: Southbound Transport %s\n",i,*(ENBParamList.paramarray[i][ENB_TRANSPORT_S_PREFERENCE_IDX].strptr));
|
||||
|
||||
if (strcmp(*(ENBParamList.paramarray[i][ENB_TRANSPORT_S_PREFERENCE_IDX].strptr), "local_mac") == 0) {
|
||||
rrc->node_type = ngran_eNB;
|
||||
}
|
||||
else if (strcmp(*(ENBParamList.paramarray[i][ENB_TRANSPORT_S_PREFERENCE_IDX].strptr), "f1") == 0) {
|
||||
if (strcmp(*(ENBParamList.paramarray[i][ENB_TRANSPORT_S_PREFERENCE_IDX].strptr), "f1") == 0) {
|
||||
|
||||
paramdef_t SCTPParams[] = SCTPPARAMS_DESC;
|
||||
char aprefix[MAX_OPTNAME_SIZE*2 + 8];
|
||||
@@ -675,9 +672,11 @@ int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc) {
|
||||
|
||||
}
|
||||
|
||||
else { // no F1
|
||||
// set to ngran_eNB for now, it will get set to ngran_DU if macrlc entity which uses F1 is present
|
||||
rrc->node_type = ngran_eNB;
|
||||
else {
|
||||
// set to ngran_eNB for now, it will get set to ngran_eNB_DU if macrlc entity which uses F1 is present
|
||||
// Note: we will have to handle the case of ngran_ng_eNB_DU
|
||||
if (macrlc_has_f1 == 0) rrc->node_type = ngran_eNB;
|
||||
else rrc->node_type = ngran_eNB_DU;
|
||||
}
|
||||
|
||||
// MCC and MNC
|
||||
@@ -1825,7 +1824,7 @@ int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc) {
|
||||
RRC_CONFIGURATION_REQ (msg_p).discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused[j] = discRxPoolPS_ResourceConfig_subframeBitmap_choice_bs_bits_unused;
|
||||
|
||||
|
||||
}
|
||||
} // node_type!=ngran_eNB_DU
|
||||
}
|
||||
if (rrc->node_type == ngran_eNB_CU || rrc->node_type == ngran_ng_eNB_CU) {
|
||||
char srb1path[MAX_OPTNAME_SIZE*2 + 8];
|
||||
@@ -3010,8 +3009,7 @@ void read_config_and_init()
|
||||
RC.rrc[enb_id] = malloc(sizeof(eNB_RRC_INST));
|
||||
AssertFatal(RC.rrc[enb_id], "RRC context for eNB %d not allocated\n", enb_id);
|
||||
memset((void *)RC.rrc[enb_id], 0, sizeof(eNB_RRC_INST));
|
||||
RCconfig_RRC(enb_id, RC.rrc[enb_id]);
|
||||
if (macrlc_has_f1[enb_id]) RC.rrc[enb_id]->node_type = ngran_eNB_DU;
|
||||
RCconfig_RRC(enb_id, RC.rrc[enb_id],macrlc_has_f1[enb_id]);
|
||||
}
|
||||
|
||||
if (RC.nb_macrlc_inst == 0)
|
||||
|
||||
@@ -115,7 +115,7 @@ extern void RCConfig(void);
|
||||
void enb_config_display(void);
|
||||
void ru_config_display(void);
|
||||
|
||||
int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc);
|
||||
int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc, int macrlc_has_f1);
|
||||
int RCconfig_S1(MessageDef *msg_p, uint32_t i);
|
||||
|
||||
void read_config_and_init(void);
|
||||
|
||||
Reference in New Issue
Block a user