From a252fae84face84e19f58f2fe809fae0a68ee41b Mon Sep 17 00:00:00 2001 From: "R. Medeiros" Date: Sat, 12 Jun 2021 23:52:23 -0300 Subject: [PATCH] Indication Dual Address Bearer for create session request. (#1049) * Update mme-s11-build.c Add indication Dual Address Bearer in the create session request when the PDN is IPv4v6 Type, Info: 3GPP TS 29.274 * Update mme-s11-build.c --- src/mme/mme-s11-build.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/mme/mme-s11-build.c b/src/mme/mme-s11-build.c index 3902851af..0001dc9d8 100644 --- a/src/mme/mme-s11-build.c +++ b/src/mme/mme-s11-build.c @@ -42,6 +42,8 @@ ogs_pkbuf_t *mme_s11_build_create_session_request( struct timeval now; struct tm time_exp; char apn[OGS_MAX_APN_LEN]; + + ogs_gtp_indication_t indication; ogs_assert(sess); session = sess->session; @@ -91,6 +93,14 @@ ogs_pkbuf_t *mme_s11_build_create_session_request( req->rat_type.presence = 1; req->rat_type.u8 = OGS_GTP_RAT_TYPE_EUTRAN; + + if(session->session_type == OGS_PDU_SESSION_TYPE_IPV4V6 && sess->request_type.type == OGS_NAS_EPS_PDN_TYPE_IPV4V6) { + memset(&indication, 0, sizeof(ogs_gtp_indication_t)); + indication.daf = 1; + req->indication_flags.presence = 1; + req->indication_flags.data = &indication; + req->indication_flags.len = sizeof(ogs_gtp_indication_t); + } memset(&mme_s11_teid, 0, sizeof(ogs_gtp_f_teid_t)); mme_s11_teid.interface_type = OGS_GTP_F_TEID_S11_MME_GTP_C;