[PATCH] openggsn[master]: libgtp: Add missing mandatory IEs in GTP Error Indication

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Sat Aug 12 20:56:17 UTC 2017


Review at  https://gerrit.osmocom.org/3502

libgtp: Add missing mandatory IEs in GTP Error Indication

Change-Id: Iadd1fe3de7c476576a4409f22f5e84e9eade6b6e
---
M gtp/gtp.c
1 file changed, 11 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.osmocom.org:29418/openggsn refs/changes/02/3502/1

diff --git a/gtp/gtp.c b/gtp/gtp.c
index 4aa6eb1..a4e8e2b 100644
--- a/gtp/gtp.c
+++ b/gtp/gtp.c
@@ -2555,7 +2555,7 @@
 	return 0;
 }
 
-/* Send Error Indication (response to a GPDU message */
+/* Send Error Indication (response to a GPDU message) - 3GPP TS 29.060 7.3.7 */
 int gtp_error_ind_resp(struct gsn_t *gsn, int version,
 		       struct sockaddr_in *peer, int fd,
 		       void *pack, unsigned len)
@@ -2563,6 +2563,16 @@
 	union gtp_packet packet;
 	unsigned int length = get_default_gtp(version, GTP_ERROR, &packet);
 
+	if (version == 1) {
+		/* Mandatory 7.7.13 TEI Data I */
+		gtpie_tv4(&packet, &length, GTP_MAX, GTPIE_TEI_DI,
+			  ntoh32(((union gtp_packet *)pack)->gtp1l.h.tei));
+
+		/* Mandatory 7.7.32 GSN Address */
+		gtpie_tlv(&packet, &length, GTP_MAX, GTPIE_GSN_ADDR,
+			  sizeof(gsn->gsnu), &gsn->gsnu);
+	}
+
 	return gtp_resp(version, gsn, NULL, &packet, length, peer, fd,
 			get_seq(pack), get_tid(pack));
 }

-- 
To view, visit https://gerrit.osmocom.org/3502
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iadd1fe3de7c476576a4409f22f5e84e9eade6b6e
Gerrit-PatchSet: 1
Gerrit-Project: openggsn
Gerrit-Branch: master
Gerrit-Owner: Harald Welte <laforge at gnumonks.org>



More information about the gerrit-log mailing list