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.orgHarald Welte has submitted this change and it was merged. Change subject: gtp-kernel: Remove dependency to cmdline.[ch] ...................................................................... gtp-kernel: Remove dependency to cmdline.[ch] Change-Id: I760f25df609c309eba4d5716f3e23b49320449bf --- M ggsn/ggsn.c M ggsn/gtp-kernel.c M ggsn/gtp-kernel.h 3 files changed, 14 insertions(+), 21 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c index 1e92956..c82f630 100644 --- a/ggsn/ggsn.c +++ b/ggsn/ggsn.c @@ -710,8 +710,12 @@ maxfd = gsn->fd1u; /* use GTP kernel module for data packet encapsulation */ - if (gtp_kernel_init(gsn, &net.v4, prefixlen, &args_info) < 0) - goto err; + if (args_info.gtp_linux_given) { + if (gtp_kernel_init(gsn, &net.v4, prefixlen, args_info.net_arg) < 0) { + SYS_ERR(DGGSN, LOGL_ERROR, 0, "Failed to initialize kernel GTP\n"); + goto err; + } + } gtp_set_cb_data_ind(gsn, encaps_tun); gtp_set_cb_delete_context(gsn, delete_context); diff --git a/ggsn/gtp-kernel.c b/ggsn/gtp-kernel.c index 458ac27..f98586d 100644 --- a/ggsn/gtp-kernel.c +++ b/ggsn/gtp-kernel.c @@ -27,7 +27,6 @@ #include "../lib/syserr.h" #include "../gtp/pdp.h" #include "../gtp/gtp.h" -#include "cmdline.h" #include <libgtpnl/gtp.h> #include <libgtpnl/gtpnl.h> @@ -80,12 +79,8 @@ #define GTP_DEVNAME "gtp0" int gtp_kernel_init(struct gsn_t *gsn, struct in_addr *net, - size_t prefixlen, - struct gengetopt_args_info *args_info) + size_t prefixlen, const char *net_arg) { - if (!args_info->gtp_linux_given) - return 0; - if (gtp_dev_create(-1, GTP_DEVNAME, gsn->fd0, gsn->fd1u) < 0) { SYS_ERR(DGGSN, LOGL_ERROR, 0, "cannot create GTP tunnel device: %s\n", @@ -113,12 +108,12 @@ } DEBUGP(DGGSN, "Setting route to reach %s via %s\n", - args_info->net_arg, GTP_DEVNAME); + net_arg, GTP_DEVNAME); if (gtp_dev_config(GTP_DEVNAME, net, prefixlen) < 0) { SYS_ERR(DGGSN, LOGL_ERROR, 0, "Cannot add route to reach network %s\n", - args_info->net_arg); + net_arg); } /* launch script if it is set to bring up the route to reach @@ -132,7 +127,7 @@ /* eg. /home/ggsn/ipup gtp0 10.0.0.0/8 */ snprintf(cmd, sizeof(cmd), "%s %s %s", - ipup, GTP_DEVNAME, args_info->net_arg); + ipup, GTP_DEVNAME, net_arg); cmd[sizeof(cmd)-1] = '\0'; err = system(cmd); diff --git a/ggsn/gtp-kernel.h b/ggsn/gtp-kernel.h index b3b29e3..34fd7bf 100644 --- a/ggsn/gtp-kernel.h +++ b/ggsn/gtp-kernel.h @@ -8,8 +8,7 @@ #ifdef GTP_KERNEL int gtp_kernel_init(struct gsn_t *gsn, struct in_addr *net, - size_t prefixlen, - struct gengetopt_args_info *args_info); + size_t prefixlen, const char *net_arg); void gtp_kernel_stop(void); int gtp_kernel_tunnel_add(struct pdp_t *pdp); @@ -19,15 +18,10 @@ #else static inline int gtp_kernel_init(struct gsn_t *gsn, struct in_addr *net, - size_t prefixlen, - struct gengetopt_args_info *args_info) + size_t prefixlen, const char *net_arg) { - if (args_info->gtp_linux_given) { - SYS_ERR(DGGSN, LOGL_ERROR, 0, - "ggsn compiled without GTP kernel support!\n"); - return -1; - } - return 0; + SYS_ERR(DGGSN, LOGL_ERROR, 0, "ggsn compiled without GTP kernel support!\n"); + return -1; } static inline void gtp_kernel_stop(void) {} -- To view, visit https://gerrit.osmocom.org/3835 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: I760f25df609c309eba4d5716f3e23b49320449bf Gerrit-PatchSet: 3 Gerrit-Project: openggsn Gerrit-Branch: master Gerrit-Owner: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Jenkins Builder