diff --git a/common/ngran_types.h b/common/ngran_types.h index 95ad1679617cbeb03d15df9d76954516e069a3f0..37a6ea9177b02989d4c22e02594daa1311060469 100644 --- a/common/ngran_types.h +++ b/common/ngran_types.h @@ -56,5 +56,4 @@ typedef enum { CPtype = 0, UPtype } E1_t; #define GTPV1_U_PORT_NUMBER (2152) typedef enum { non_dynamic, dynamic } fiveQI_type_t; -#define maxSRBs 4 #endif diff --git a/openair2/RRC/NR/nr_rrc_common.h b/openair2/RRC/NR/nr_rrc_common.h index f821d842b62d4fbb317ec69bd258b72ae2ab3370..e1ff2e703e2bb506638327944d166bb67dd146ae 100644 --- a/openair2/RRC/NR/nr_rrc_common.h +++ b/openair2/RRC/NR/nr_rrc_common.h @@ -28,7 +28,7 @@ #define NR_RRC_HEADER_SIZE_MAX 64 #define NR_RRC_BUFFER_SIZE_MAX 1024 -#define NR_NUM_SRB 4 +#define NR_NUM_SRB 4 /* Number of Signalling Radio Bearers according to clause 4.2.2 of 3GPP TS 38.331 */ #define NR_K_KEY_SIZE 16 /* K keys have 128 bits length */ typedef struct { diff --git a/openair2/RRC/NR/nr_rrc_defs.h b/openair2/RRC/NR/nr_rrc_defs.h index b26ff1e50c00726b0fe29f0bd30aa8f1be865500..f0d4039033bd8382750c102719a263640537c5f3 100644 --- a/openair2/RRC/NR/nr_rrc_defs.h +++ b/openair2/RRC/NR/nr_rrc_defs.h @@ -241,7 +241,7 @@ typedef struct gNB_RRC_UE_s { drb_t established_drbs[MAX_DRBS_PER_UE]; NR_DRB_ToReleaseList_t *DRB_ReleaseList; - NR_SRB_INFO_TABLE_ENTRY Srb[maxSRBs]; // 3gpp max is 3 SRBs, number 1..3, we waste the entry 0 for code simplicity + NR_SRB_INFO_TABLE_ENTRY Srb[NR_NUM_SRB]; NR_MeasConfig_t *measConfig; NR_HANDOVER_INFO *handover_info; NR_MeasResults_t *measResults; diff --git a/openair2/RRC/NR/rrc_gNB.c b/openair2/RRC/NR/rrc_gNB.c index e85eef0685e265d4bf23f6f686f182486040f738..e2062b05ff2218907fdb17bb6a8f85cb0c26d0a6 100644 --- a/openair2/RRC/NR/rrc_gNB.c +++ b/openair2/RRC/NR/rrc_gNB.c @@ -348,7 +348,7 @@ static NR_SRB_ToAddModList_t *createSRBlist(gNB_RRC_UE_t *ue, bool reestablish) return NULL; } NR_SRB_ToAddModList_t *list = CALLOC(sizeof(*list), 1); - for (int i = 0; i < maxSRBs; i++) + for (int i = 0; i < NR_NUM_SRB; i++) if (ue->Srb[i].Active) { asn1cSequenceAdd(list->list, NR_SRB_ToAddMod_t, srb); srb->srb_Identity = i; @@ -918,7 +918,8 @@ 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); - for (int srb_id = 1; srb_id < maxSRBs; srb_id++) { + /* SRBs */ + for (int srb_id = 1; srb_id < NR_NUM_SRB; 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); // TODO: should send E1 UE Bearer Modification with PDCP Reestablishment flag