diff --git a/executables/nr-softmodem.c b/executables/nr-softmodem.c index 3765b0f664..b4e541bcae 100644 --- a/executables/nr-softmodem.c +++ b/executables/nr-softmodem.c @@ -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_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) { pdcp_layer_init(); @@ -712,9 +715,11 @@ int main( int argc, char **argv ) { #ifdef PDCP_USE_NETLINK - if(!IS_SOFTMODEM_NOS1) { + if (!IS_SOFTMODEM_NOS1) { netlink_init(); - init_pdcp(); + if (get_softmodem_params()->nsa) { + init_pdcp(); + } } #if defined(PDCP_USE_NETLINK_QUEUES) pdcp_netlink_init(); diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c index 90e7270fe6..8b1fcfb7d2 100644 --- a/executables/nr-uesoftmodem.c +++ b/executables/nr-uesoftmodem.c @@ -402,8 +402,6 @@ void init_pdcp(int ue_id) { } pdcp_layer_init(); 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_pdcp_data_ind_func((pdcp_data_ind_func_t) pdcp_data_ind); } @@ -469,14 +467,13 @@ int main( int argc, char **argv ) { uint16_t node_number = get_softmodem_params()->node_number; ue_id_g = (node_number == 0) ? 0 : node_number - 2; AssertFatal(ue_id_g >= 0, "UE id is expected to be nonnegative.\n"); - - if(node_number == 0) - { - init_pdcp(0); - } - else - { - init_pdcp(mode_offset + ue_id_g); + if(IS_SOFTMODEM_NOS1 || get_softmodem_params()->sa || get_softmodem_params()->nsa) { + if(node_number == 0) { + init_pdcp(0); + } + else { + init_pdcp(mode_offset + ue_id_g); + } } NB_UE_INST=1; diff --git a/openair2/LAYER2/NR_MAC_UE/config_ue.c b/openair2/LAYER2/NR_MAC_UE/config_ue.c index 1207c7ccf9..f088c96733 100755 --- a/openair2/LAYER2/NR_MAC_UE/config_ue.c +++ b/openair2/LAYER2/NR_MAC_UE/config_ue.c @@ -670,7 +670,8 @@ int nr_rrc_mac_config_req_ue( else if (cell_group_config != NULL ){ LOG_I(MAC,"Applying CellGroupConfig from gNodeB\n"); 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) { config_control_ue(mac); if (cell_group_config->spCellConfig->reconfigurationWithSync) {