openggsn.git branch master updated. 0.92-4-gc80680a

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/osmocom-commitlog@lists.osmocom.org/.

gitosis at osmocom.org gitosis at osmocom.org
Mon Dec 21 07:40:54 UTC 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The OpenGGSN project".

The branch, master has been updated
       via  c80680a9c42f378268daa911f9f5bff270bbd32f (commit)
       via  c5fbf9bd68432e9e18b62a6ee9c1be149e3f427a (commit)
       via  4b075b6cb85f93dff1378aabddf7c1d4959feb72 (commit)
      from  89dcb614e81b59fb02aff7d7d86545b636def1d0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cgit.osmocom.org/openggsn/commit/?id=c80680a9c42f378268daa911f9f5bff270bbd32f

commit c80680a9c42f378268daa911f9f5bff270bbd32f
Author: Andreas Schultz <aschultz at tpip.net>
Date:   Tue Nov 17 12:22:44 2015 +0100

    ggsn: fix autotool pkg-config invokation
    
    see https://autotools.io/pkgconfig/pkg_check_modules.html, Optional Modules
    for explanation
    
    Signed-off-by: Andreas Schultz <aschultz at tpip.net>

http://cgit.osmocom.org/openggsn/commit/?id=c5fbf9bd68432e9e18b62a6ee9c1be149e3f427a

commit c5fbf9bd68432e9e18b62a6ee9c1be149e3f427a
Author: Andreas Schultz <aschultz at tpip.net>
Date:   Tue Nov 17 12:22:43 2015 +0100

    ggsn: update gpt-kernel logging to libosmocore
    
    Signed-off-by: Andreas Schultz <aschultz at tpip.net>

http://cgit.osmocom.org/openggsn/commit/?id=4b075b6cb85f93dff1378aabddf7c1d4959feb72

commit 4b075b6cb85f93dff1378aabddf7c1d4959feb72
Author: Pablo Neira Ayuso <pablo at gnumonks.org>
Date:   Tue Nov 17 12:22:42 2015 +0100

    ggsn: add support for GTP kernel data encapsulation
    
    This patch adds the -g, --gtpnl=device option that allows you to
    enable the GTP kernel tunneling mode in openggsn. You have to specify
    the real downlink device that will be used to tunnel traffic, eg.
    
    	-g=eth0
    
    This means that the gtp0 device will be created and it will use eth0
    as the real device to encapsulate packet coming from the Internet that
    are addressed to the MS (so the tunnel devuce encapsulates these IP
    packets in GTP packets when traveling to the SGSN).
    
    Alternatively, you can also add this to the ggsn.conf configuration file:
    
    	gtpnl eth0
    
    The device has to be the real device that can route packets to the SGSN,
    if you select the wrong device, the kernel routing code may not find a
    way to reach the SSGN, you've been warned.
    
    Therefore, if this option is set, the operational becomes the following:
    
    1) A gtp0 device is created via rtnetlink and configure the socket
       encapsulation infrastructure in the kernel.
    2) Whenever a PDP context is created, this adds the necessary tunnel
       configuration via genetlink GTP interface.
    3) Whenever a PDP context is destroyed, this deletes the tunnel via
       genetlink GTP interface.
    4) Destroy the gtp0 device if ggsn is stopped, including all of the
       existing tunnels.
    
    You require the osmo-ggsn.git tree, which contains the kernel module
    gtp.ko and the libgtpnl library that you have to compile and install.
    Make sure you have loaded the gtp.ko kernel module before launching
    the ggsn daemon using the kernel driver mode, otherwise you will get
    a nice "operation not supported" error message ;-).
    
    This patch also adds supports for "ipup" configuration option to invoke
    an external script after the gtp0 device has been brought up. Typical
    command to add the route to reach the MS behind the GGSN is required,
    eg. ip route add 10.0.0.0/8 dev gtp0.
    
    The (horrible) ggsn parser has been manually extended to support the
    new configuration option. That code doesn't look nice, but it just
    mimics what we already have there for consistency, please don't blame
    me for that.
    
    If you want to run in debugging mode, I suggest you to use:
    
    	sudo ggsn -c ggsn.conf -f -d
    
    Note that you do have to run openggsn as root to bring up the gtp0
    device. You have to see this message that announce that the GTP kernel
    mode is enabled.
    
    openggsn[1106]: ggsn.c: 656: Using the GTP kernel mode (genl ID is 25)
    
    This patch also automagically sets up route to reach MS from Internet
    just like tun mode does. This is fundamental to get this working,
    better don't leave to the admin, he may forget to add this route.
    
    In this patch, I tried to encapsulate this new feature as much as
    possible as Harald initially suggested.
    
    To compile this feature, you have to pass --enable-gtp-kernel, ie.
    
    ./configire --enable-gtp-kernel
    
    Otherwise, the code to interact with the gtp kernel part is not compiled.
    
    Signed-off-by: Andreas Schultz <aschultz at tpip.net>

-----------------------------------------------------------------------

Summary of changes:
 configure.ac      |  15 ++++
 ggsn/Makefile.am  |  11 ++-
 ggsn/cmdline.c    |  39 ++++++---
 ggsn/cmdline.ggo  |   3 +
 ggsn/cmdline.h    |   8 +-
 ggsn/ggsn.c       |  35 +++++++-
 ggsn/gtp-kernel.c | 237 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 ggsn/gtp-kernel.h |  51 ++++++++++++
 8 files changed, 381 insertions(+), 18 deletions(-)
 create mode 100644 ggsn/gtp-kernel.c
 create mode 100644 ggsn/gtp-kernel.h


hooks/post-receive
-- 
The OpenGGSN project



More information about the osmocom-commitlog mailing list