From 7c13c790d71136aef12f99caf040c3aa8037b4d1 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Thu, 24 Oct 2024 09:12:54 +0200 Subject: [PATCH] Bugfix: Fill QFI for N3 GTP messages Instead of hardcoding to 0, instruct the GTP module to send N3 GTP packets with the right GTP. We currently only support one QoS Flow, so check that it is really only one. --- openair2/LAYER2/nr_pdcp/cucp_cuup_handler.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openair2/LAYER2/nr_pdcp/cucp_cuup_handler.c b/openair2/LAYER2/nr_pdcp/cucp_cuup_handler.c index 0cccdbcb6c..e0ac130279 100644 --- a/openair2/LAYER2/nr_pdcp/cucp_cuup_handler.c +++ b/openair2/LAYER2/nr_pdcp/cucp_cuup_handler.c @@ -157,6 +157,7 @@ void e1_bearer_context_setup(const e1ap_bearer_setup_req_t *req) AssertFatal(req_pdu->numDRB2Setup == 1, "can only handle one DRB per PDU session\n"); resp_pdu->numDRBSetup = req_pdu->numDRB2Setup; const DRB_nGRAN_to_setup_t *req_drb = &req_pdu->DRBnGRanList[0]; + AssertFatal(req_drb->numQosFlow2Setup == 1, "can only handle one QoS Flow per DRB\n"); DRB_nGRAN_setup_t *resp_drb = &resp_pdu->DRBnGRanList[0]; resp_drb->id = req_drb->id; resp_drb->numQosFlowSetup = req_drb->numQosFlow2Setup; @@ -168,7 +169,7 @@ void e1_bearer_context_setup(const e1ap_bearer_setup_req_t *req) // GTP tunnel for N3/to core gtpv1u_gnb_create_tunnel_resp_t resp_n3 = {0}; - int qfi = 0; // put PDU session marker + int qfi = req_drb->qosFlows[0].qfi; int ret = drb_gtpu_create(n3inst, cu_up_ue_id, req_drb->id,