diff --git a/openair2/COMMON/e1ap_messages_types.h b/openair2/COMMON/e1ap_messages_types.h index 3d7dd72f44..107d7038f3 100644 --- a/openair2/COMMON/e1ap_messages_types.h +++ b/openair2/COMMON/e1ap_messages_types.h @@ -118,10 +118,6 @@ typedef struct e1ap_setup_fail_s { long transac_id; } e1ap_setup_fail_t; -typedef struct cell_group_s { - cell_group_id_t id; -} cell_group_t; - typedef struct up_params_s { in_addr_t tlAddress; long teId; @@ -155,7 +151,7 @@ typedef struct drb_to_setup_s { in_addr_t tlAddress; long teId; int numCellGroups; - cell_group_t cellGroupList[E1AP_MAX_NUM_CELL_GROUPS]; + cell_group_id_t cellGroupList[E1AP_MAX_NUM_CELL_GROUPS]; } drb_to_setup_t; typedef struct qos_characteristics_s { @@ -221,7 +217,7 @@ typedef struct DRB_nGRAN_to_setup_s { /* Cell Group Information (clause 9.3.1.11) */ int numCellGroups; - cell_group_t cellGroupList[E1AP_MAX_NUM_CELL_GROUPS]; + cell_group_id_t cellGroupList[E1AP_MAX_NUM_CELL_GROUPS]; /* DRB QoS Flows Parameters (clause 9.3.1.26) */ int numQosFlow2Setup; diff --git a/openair2/E1AP/e1ap.c b/openair2/E1AP/e1ap.c index e624402d45..2ca71fbee1 100644 --- a/openair2/E1AP/e1ap.c +++ b/openair2/E1AP/e1ap.c @@ -676,9 +676,9 @@ static int fill_BEARER_CONTEXT_SETUP_REQUEST(e1ap_bearer_setup_req_t *const bear roTimer->t_Reordering = j->pdcp_config.reorderingTimer; ieC6_1_1->pDCP_Configuration.rLC_Mode = j->pdcp_config.rLC_Mode; /* Cell Group config */ - for (cell_group_t *k = j->cellGroupList; k < j->cellGroupList + j->numCellGroups; k++) { + for (cell_group_id_t *k = j->cellGroupList; k < j->cellGroupList + j->numCellGroups; k++) { asn1cSequenceAdd(ieC6_1_1->cell_Group_Information.list, E1AP_Cell_Group_Information_Item_t, ieC6_1_1_1); - ieC6_1_1_1->cell_Group_ID = k->id; + ieC6_1_1_1->cell_Group_ID = *j->cellGroupList; } /* QoS Flows */ for (qos_flow_to_setup_t *k = j->qosFlows; k < j->qosFlows + j->numQosFlow2Setup; k++) { @@ -992,7 +992,7 @@ static void extract_BEARER_CONTEXT_SETUP_REQUEST(const E1AP_E1AP_PDU_t *pdu, e1a for (int k = 0; k < cellGroupList->list.count; k++) { E1AP_Cell_Group_Information_Item_t *cg2Setup = cellGroupList->list.array[k]; - drb->cellGroupList[k].id = cg2Setup->cell_Group_ID; + drb->cellGroupList[k] = cg2Setup->cell_Group_ID; } E1AP_QoS_Flow_QoS_Parameter_List_t *qos2SetupList = &drb2Setup->qos_flow_Information_To_Be_Setup; diff --git a/openair2/RRC/NR/rrc_gNB_NGAP.c b/openair2/RRC/NR/rrc_gNB_NGAP.c index 9a98c4d94d..bf71357aed 100644 --- a/openair2/RRC/NR/rrc_gNB_NGAP.c +++ b/openair2/RRC/NR/rrc_gNB_NGAP.c @@ -382,9 +382,10 @@ void trigger_bearer_setup(gNB_RRC_INST *rrc, gNB_RRC_UE_t *UE, int n, pdusession drb->numCellGroups = 1; // assume one cell group associated with a DRB + // Set all Cell Group IDs to MCG for (int k=0; k < drb->numCellGroups; k++) { - cell_group_t *cellGroup = drb->cellGroupList + k; - cellGroup->id = 0; // MCG + cell_group_id_t *cellGroup = drb->cellGroupList + k; + *cellGroup = MCG; } drb->numQosFlow2Setup = session->nb_qos;