Commit 7665f397 authored by Melissa Elkadi's avatar Melissa Elkadi

Only calling init_pdcp for NSA mode in gNB executable

Also, reverted some init_pdcp logic to match
the develop branch and added NSA mode. Lastly,
added additional error checking for cellConfig
to avoid crash in MAC layer.
parent 09a90a48
...@@ -633,6 +633,9 @@ void init_pdcp(void) { ...@@ -633,6 +633,9 @@ void init_pdcp(void) {
pdcp_set_rlc_data_req_func((send_rlc_data_req_func_t) rlc_data_req); pdcp_set_rlc_data_req_func((send_rlc_data_req_func_t) rlc_data_req);
pdcp_set_pdcp_data_ind_func((pdcp_data_ind_func_t) pdcp_data_ind); pdcp_set_pdcp_data_ind_func((pdcp_data_ind_func_t) pdcp_data_ind);
} }
} else {
LOG_I(PDCP, "node is DU, rlc send pdcp_data_ind by proto_agent \n");
pdcp_set_pdcp_data_ind_func((pdcp_data_ind_func_t) proto_agent_send_pdcp_data_ind);
} }
} else if (get_softmodem_params()->nsa) { } else if (get_softmodem_params()->nsa) {
pdcp_layer_init(); pdcp_layer_init();
...@@ -712,9 +715,11 @@ int main( int argc, char **argv ) { ...@@ -712,9 +715,11 @@ int main( int argc, char **argv ) {
#ifdef PDCP_USE_NETLINK #ifdef PDCP_USE_NETLINK
if(!IS_SOFTMODEM_NOS1) { if (!IS_SOFTMODEM_NOS1) {
netlink_init(); netlink_init();
init_pdcp(); if (get_softmodem_params()->nsa) {
init_pdcp();
}
} }
#if defined(PDCP_USE_NETLINK_QUEUES) #if defined(PDCP_USE_NETLINK_QUEUES)
pdcp_netlink_init(); pdcp_netlink_init();
......
...@@ -402,8 +402,6 @@ void init_pdcp(int ue_id) { ...@@ -402,8 +402,6 @@ void init_pdcp(int ue_id) {
} }
pdcp_layer_init(); pdcp_layer_init();
nr_pdcp_module_init(pdcp_initmask, ue_id); nr_pdcp_module_init(pdcp_initmask, ue_id);
pdcp_set_rlc_data_req_func((send_rlc_data_req_func_t) rlc_data_req); pdcp_set_rlc_data_req_func((send_rlc_data_req_func_t) rlc_data_req);
pdcp_set_pdcp_data_ind_func((pdcp_data_ind_func_t) pdcp_data_ind); pdcp_set_pdcp_data_ind_func((pdcp_data_ind_func_t) pdcp_data_ind);
} }
...@@ -469,14 +467,13 @@ int main( int argc, char **argv ) { ...@@ -469,14 +467,13 @@ int main( int argc, char **argv ) {
uint16_t node_number = get_softmodem_params()->node_number; uint16_t node_number = get_softmodem_params()->node_number;
ue_id_g = (node_number == 0) ? 0 : node_number - 2; ue_id_g = (node_number == 0) ? 0 : node_number - 2;
AssertFatal(ue_id_g >= 0, "UE id is expected to be nonnegative.\n"); AssertFatal(ue_id_g >= 0, "UE id is expected to be nonnegative.\n");
if(IS_SOFTMODEM_NOS1 || get_softmodem_params()->sa || get_softmodem_params()->nsa) {
if(node_number == 0) if(node_number == 0) {
{ init_pdcp(0);
init_pdcp(0); }
} else {
else init_pdcp(mode_offset + ue_id_g);
{ }
init_pdcp(mode_offset + ue_id_g);
} }
NB_UE_INST=1; NB_UE_INST=1;
......
...@@ -670,7 +670,8 @@ int nr_rrc_mac_config_req_ue( ...@@ -670,7 +670,8 @@ int nr_rrc_mac_config_req_ue(
else if (cell_group_config != NULL ){ else if (cell_group_config != NULL ){
LOG_I(MAC,"Applying CellGroupConfig from gNodeB\n"); LOG_I(MAC,"Applying CellGroupConfig from gNodeB\n");
mac->cg = cell_group_config; mac->cg = cell_group_config;
mac->servCellIndex = cell_group_config->spCellConfig->servCellIndex ? *cell_group_config->spCellConfig->servCellIndex : 0; mac->servCellIndex = cell_group_config->spCellConfig && cell_group_config->spCellConfig->servCellIndex ?
*cell_group_config->spCellConfig->servCellIndex : 0;
if(get_softmodem_params()->phy_test==1 || get_softmodem_params()->do_ra==1 || get_softmodem_params()->nsa) { if(get_softmodem_params()->phy_test==1 || get_softmodem_params()->do_ra==1 || get_softmodem_params()->nsa) {
config_control_ue(mac); config_control_ue(mac);
if (cell_group_config->spCellConfig->reconfigurationWithSync) { if (cell_group_config->spCellConfig->reconfigurationWithSync) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment