From f4dc36224755633d86a0473aaa0387233bec4ebd Mon Sep 17 00:00:00 2001 From: Angelo Athanassopoulos Date: Tue, 4 Apr 2023 13:59:14 +0200 Subject: [PATCH] NR RRC - RRCReestablishment - Fix MultiplePDU Regression Fixed a bug where the integrity protection was included in the ASN1 and caused significant throughput bottleneck. --- openair2/RRC/NR/rrc_gNB_radio_bearers.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/openair2/RRC/NR/rrc_gNB_radio_bearers.c b/openair2/RRC/NR/rrc_gNB_radio_bearers.c index af953fc36d..68bf78482a 100644 --- a/openair2/RRC/NR/rrc_gNB_radio_bearers.c +++ b/openair2/RRC/NR/rrc_gNB_radio_bearers.c @@ -125,11 +125,13 @@ NR_DRB_ToAddMod_t *generateDRB_ASN1(drb_t drb_asn1) asn1cCallocOne(drb->pdcp_SN_SizeUL, drb_asn1.pdcp_config.pdcp_SN_SizeUL); asn1cCallocOne(drb->pdcp_SN_SizeDL, drb_asn1.pdcp_config.pdcp_SN_SizeDL); asn1cCallocOne(pdcpConfig->t_Reordering, drb_asn1.pdcp_config.t_Reordering); - asn1cCallocOne(drb->integrityProtection, drb_asn1.pdcp_config.integrityProtection); drb->headerCompression.present = drb_asn1.pdcp_config.headerCompression.present; drb->headerCompression.choice.notUsed = drb_asn1.pdcp_config.headerCompression.NotUsed; + if (!drb_asn1.pdcp_config.integrityProtection) { + asn1cCallocOne(drb->integrityProtection, drb_asn1.pdcp_config.integrityProtection); + } if (!drb_asn1.pdcp_config.ext1.cipheringDisabled) { asn1cCalloc(pdcpConfig->ext1, ext1); asn1cCallocOne(ext1->cipheringDisabled, drb_asn1.pdcp_config.ext1.cipheringDisabled);