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;
|
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));
|
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) {
|
if (strcmp(*(ENBParamList.paramarray[i][ENB_TRANSPORT_S_PREFERENCE_IDX].strptr), "f1") == 0) {
|
||||||
rrc->node_type = ngran_eNB;
|
|
||||||
}
|
|
||||||
else if (strcmp(*(ENBParamList.paramarray[i][ENB_TRANSPORT_S_PREFERENCE_IDX].strptr), "f1") == 0) {
|
|
||||||
|
|
||||||
paramdef_t SCTPParams[] = SCTPPARAMS_DESC;
|
paramdef_t SCTPParams[] = SCTPPARAMS_DESC;
|
||||||
char aprefix[MAX_OPTNAME_SIZE*2 + 8];
|
char aprefix[MAX_OPTNAME_SIZE*2 + 8];
|
||||||
@@ -675,9 +672,11 @@ int RCconfig_RRC(uint32_t i, eNB_RRC_INST *rrc) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
else { // no F1
|
else {
|
||||||
// set to ngran_eNB for now, it will get set to ngran_DU if macrlc entity which uses F1 is present
|
// set to ngran_eNB for now, it will get set to ngran_eNB_DU if macrlc entity which uses F1 is present
|
||||||
rrc->node_type = ngran_eNB;
|
// 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
|
// 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;
|
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) {
|
if (rrc->node_type == ngran_eNB_CU || rrc->node_type == ngran_ng_eNB_CU) {
|
||||||
char srb1path[MAX_OPTNAME_SIZE*2 + 8];
|
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));
|
RC.rrc[enb_id] = malloc(sizeof(eNB_RRC_INST));
|
||||||
AssertFatal(RC.rrc[enb_id], "RRC context for eNB %d not allocated\n", enb_id);
|
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));
|
memset((void *)RC.rrc[enb_id], 0, sizeof(eNB_RRC_INST));
|
||||||
RCconfig_RRC(enb_id, RC.rrc[enb_id]);
|
RCconfig_RRC(enb_id, RC.rrc[enb_id],macrlc_has_f1[enb_id]);
|
||||||
if (macrlc_has_f1[enb_id]) RC.rrc[enb_id]->node_type = ngran_eNB_DU;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (RC.nb_macrlc_inst == 0)
|
if (RC.nb_macrlc_inst == 0)
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ extern void RCConfig(void);
|
|||||||
void enb_config_display(void);
|
void enb_config_display(void);
|
||||||
void ru_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);
|
int RCconfig_S1(MessageDef *msg_p, uint32_t i);
|
||||||
|
|
||||||
void read_config_and_init(void);
|
void read_config_and_init(void);
|
||||||
|
|||||||
Reference in New Issue
Block a user