[PATCH] osmo-ggsn[master]: ggsn: don't use gtp_kernel_tunnel_{add, del}() for userspace tun

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
Wed Apr 25 19:45:06 UTC 2018


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

ggsn: don't use gtp_kernel_tunnel_{add,del}() for userspace tun

Change-Id: I00cc8eb8c4d44532f975f78783ff4e12814b3416
---
M ggsn/ggsn.c
1 file changed, 6 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/31/7931/1

diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c
index 4636c04..72bf61c 100644
--- a/ggsn/ggsn.c
+++ b/ggsn/ggsn.c
@@ -380,9 +380,11 @@
 			LOGPPDP(LOGL_ERROR, pdp, "Cannot find/free IP Pool member\n");
 	}
 
-	if (gtp_kernel_tunnel_del(pdp, apn->tun.cfg.dev_name)) {
-		LOGPPDP(LOGL_ERROR, pdp, "Cannot delete tunnel from kernel:%s\n",
-			strerror(errno));
+	if (apn->cfg.gtpu_mode == APN_GTPU_MODE_KERNEL_GTP) {
+		if (gtp_kernel_tunnel_del(pdp, apn->tun.cfg.dev_name)) {
+			LOGPPDP(LOGL_ERROR, pdp, "Cannot delete tunnel from kernel:%s\n",
+				strerror(errno));
+		}
 	}
 
 	return 0;
@@ -688,7 +690,7 @@
 
 	in46a_to_eua(addr, num_addr, &pdp->eua);
 
-	if (apn_supports_ipv4(apn)) {
+	if (apn->cfg.gtpu_mode == APN_GTPU_MODE_KERNEL_GTP && apn_supports_ipv4(apn)) {
 		/* TODO: In IPv6, EUA doesn't contain the actual IP addr/prefix! */
 		if (gtp_kernel_tunnel_add(pdp, apn->tun.cfg.dev_name) < 0) {
 			LOGPPDP(LOGL_ERROR, pdp, "Cannot add tunnel to kernel: %s\n", strerror(errno));

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

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



More information about the gerrit-log mailing list