From a613be8c4c0473edb243e2bf9b9300dd9a4e4da7 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Fri, 26 Jan 2024 19:03:27 +0100 Subject: [PATCH] [SMF,MME] Gn: Set Delivery of erroneous SDUs QoS field to No Before this patch, it was set as 0, which is Reserved in Network to MS direction. --- lib/gtp/v1/types.h | 6 ++++++ src/mme/mme-gn-build.c | 2 ++ src/smf/gn-build.c | 2 ++ 3 files changed, 10 insertions(+) diff --git a/lib/gtp/v1/types.h b/lib/gtp/v1/types.h index 6dcb37850..ee9f0076e 100644 --- a/lib/gtp/v1/types.h +++ b/lib/gtp/v1/types.h @@ -224,6 +224,12 @@ typedef struct ogs_gtp1_gsn_addr_s { #define OGS_GTP1_DELIVERY_ORDER_YES 1 #define OGS_GTP1_DELIVERY_ORDER_NO 2 +/* Delivery of erroneous SDUs, octet 6 (see also 3GPP TS 23.107) */ +#define OGS_GTP1_DELIVERY_ERR_SDU_SUBSCRIBED 0 +#define OGS_GTP1_DELIVERY_ERR_SDU_NO_DETECT 1 +#define OGS_GTP1_DELIVERY_ERR_SDU_YES 2 +#define OGS_GTP1_DELIVERY_ERR_SDU_NO 3 + /* TS 29.060 7.7.34 Quality of Service (QoS) Profile */ #define OGS_GTP1_QOS_PROFILE_MAX_LEN 255 /* TS 24.008 10.5.6.5 Quality of service */ diff --git a/src/mme/mme-gn-build.c b/src/mme/mme-gn-build.c index b674174b4..0b3395203 100644 --- a/src/mme/mme-gn-build.c +++ b/src/mme/mme-gn-build.c @@ -69,6 +69,8 @@ static void build_qos_profile_from_session(ogs_gtp1_qos_profile_decoded_t *qos_p * required" [...] as described in clause "compatibility issues" (4.8.1) */ qos_pdec->qos_profile.data.delivery_order = OGS_GTP1_DELIVERY_ORDER_NO; + qos_pdec->qos_profile.data.delivery_erroneous_sdu = OGS_GTP1_DELIVERY_ERR_SDU_NO; + /* 3GPP TS 23.401 Annex E table Table E.3 */ /* Also take into account table 7 in 3GPP TS 23.107 9.1.2.2 */ switch (session->qos.index) { /* QCI */ diff --git a/src/smf/gn-build.c b/src/smf/gn-build.c index 6f1e14575..0813f5524 100644 --- a/src/smf/gn-build.c +++ b/src/smf/gn-build.c @@ -39,6 +39,8 @@ static void build_qos_profile_from_session(ogs_gtp1_qos_profile_decoded_t *qos_p * required" [...] as described in clause "compatibility issues" (4.8.1) */ qos_pdec->qos_profile.data.delivery_order = OGS_GTP1_DELIVERY_ORDER_NO; + qos_pdec->qos_profile.data.delivery_erroneous_sdu = OGS_GTP1_DELIVERY_ERR_SDU_NO; + /* 3GPP TS 23.401 Annex E table Table E.3 */ /* Also take into account table 7 in 3GPP TS 23.107 9.1.2.2 */ switch (sess->session.qos.index) { /* QCI */