From e2b747546bd3618639cbdf9639ce2c72f2978c9b 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. (cherry picked from commit a613be8c4c0473edb243e2bf9b9300dd9a4e4da7) --- 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 9748fdd6b..e73133f79 100644 --- a/lib/gtp/v1/types.h +++ b/lib/gtp/v1/types.h @@ -217,6 +217,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 afb90500f..50727f9d0 100644 --- a/src/mme/mme-gn-build.c +++ b/src/mme/mme-gn-build.c @@ -76,6 +76,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 21fe6cb3c..2cc557b1c 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 */