diff --git a/openair2/RRC/NR/rrc_gNB.c b/openair2/RRC/NR/rrc_gNB.c index 1fa458a309be3f518085d0c424477e013acf64c8..bbce262b2421e0a7d621b421447925536a0dc9b2 100644 --- a/openair2/RRC/NR/rrc_gNB.c +++ b/openair2/RRC/NR/rrc_gNB.c @@ -1099,12 +1099,12 @@ static void rrc_gNB_generate_RRCReestablishment(rrc_gNB_ue_context_t *ue_context uint8_t security_mode = enable_ciphering ? ue_p->ciphering_algorithm | (ue_p->integrity_algorithm << 4) : 0 | (ue_p->integrity_algorithm << 4); - nr_pdcp_config_set_security(ue_p->rrc_ue_id, - DCCH, - security_mode, - kRRCenc, - kRRCint, - kUPenc); + for (int srb_id = 1; srb_id < maxSRBs; srb_id++) { + if (ue_p->Srb[srb_id].Active) { + nr_pdcp_config_set_security(ue_p->rrc_ue_id, srb_id, security_mode, kRRCenc, kRRCint, kUPenc); + } + } + nr_pdcp_reestablishment(ue_p->rrc_ue_id); f1_ue_data_t ue_data = cu_get_f1_ue_data(ue_p->rrc_ue_id);