aboutsummaryrefslogtreecommitdiffstats
path: root/ggsn/Makefile.am
AgeCommit message (Collapse)AuthorFilesLines
2018-04-25Move kernel GTP support from ggsn/ to lib/Harald Welte1-5/+1
This way, the IP address / route handling between TUN devices and kernel GTP can be shared, which will provide not only a unified codebase but also a more consistent behavior. This also paves the road for to use kernel GTP from sgsnemu in the future. Related: OS#3214 Change-Id: Ic53a971136edd0d8871fbd6746d7b0090ce3a188
2018-01-16Fix stow-enabled jenkins build failureMax1-2/+2
The error is: CC gtp-kernel.o gtp-kernel.c:19:26: fatal error: libgtpnl/gtp.h: No such file or directory #include <libgtpnl/gtp.h> ^ compilation terminated. Fix it by using proper CFLAGS/LIBS for libgtpnl. Change-Id: I5a24076778ea3ce263ac27211a6f45f935155b33
2017-09-06Rename OpenGGSN to OsmoGGSNHarald Welte1-6/+6
Osmocom has maintained this program since about 7 years now, while the original author / copyright holder has completely disappeared. With the introduction of Osmocom-style CTRL and VTY interfaces, the way how the program is used and configured has substantially changed. In order to avoid confusion in terms of configuration file format etc, let's rename it to OsmoGGSN. Change-Id: I2da30f7d4828e185bfac1a4e2d8414b01cbe4f9d
2017-09-06Introduce a VTY, factually turning OpenGGSN into an Osmocom programHarald Welte1-5/+5
Change-Id: I9613ca3436e77ea132c47f0096df7c5050d7e826
2017-08-11IPv6: Implement IPv6 prefix assignment via ICMPv6 router advertisementHarald Welte1-1/+1
The 3GPP specs are quite strange when it comes to how an IPv6 address or rather prefix is assigned to an IPv6 PDP context. The designated method for allocating the IPv6 address via the PDP EUA (End User Address) Information Element in the GTP signalling plane is *not* used to allocate the address/prefix. Instead, the EUA is used to allocate an "interface identifier" to the MS, which it the uses to derive its link-local source address to send a router solicitation. The GGSN subsequently answers witha router advertisement, advertising a single/64 prefix, whihcthe MS then uses to generate it's real IPv6 source address for subsequent communication. Change-Id: Icddf7d30e01d76a4784bcef5787b36f52f703a9f
2016-10-12Add control interfaceMax1-3/+3
Only generation of TRAP messages over Control Interface is supported so far. Note: requires corresponding version of libosmoctrl. Change-Id: Ia76f841d2c9cd14394e9316fcd39f4060e23c898 Related: OS#1646
2015-12-21ggsn: add support for GTP kernel data encapsulationPablo Neira Ayuso1-1/+10
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@tpip.net>
2014-12-04logging: Switch to using libosmocore logging for all the codeHolger Hans Peter Freyther1-2/+2
2012-11-06build: Remove subdir-objects as it breaks make distcleanHolger Hans Peter Freyther1-3/+1
We are not using this option in any of our projects and it is breaking make distclean. Remove the option for now. make[2]: Entering directory `/openggsn-0.91/_build/ggsn' Makefile:307: ../lib/.deps/getopt.Po: No such file or directory Makefile:308: ../lib/.deps/getopt1.Po: No such file or directory make[2]: *** No rule to make target `../lib/.deps/getopt1.Po'. Stop.
2011-05-10properly build a library for the content of the lib directoryHarald Welte1-6/+3
2010-10-20Move common sgsnemu/ggsn files to directory "lib"Emmanuel Bretelle1-1/+4
Some files like in sgsnemu and ggsn directory where exactly the same. They are now moved to the same directory for easier maintenance Signed-off-by: Emmanuel Bretelle <chantra@debuntu.org>
2010-05-24fix 'make distcheck': add lookup.h to Makefile.amHarald Welte1-1/+1
2005-03-14Added new version of autotoolsjjako1-2/+2
2004-12-300.84 releasejjako1-2/+2
2004-12-300.84jjako1-2/+4
2004-12-30QA on ippooljjako1-1/+1
2004-09-10Improved configure script under Solarisjjako1-5/+2
2004-01-16Improved solaris compatibilityjjako1-0/+2
2004-01-09Changes to allow compilation under Solarisjjako1-1/+1
2003-07-06Improved option checking in ggsnjjako1-1/+1
2003-04-11added ippool.h and ippool.cjjako1-2/+2
2003-01-28Make without first installing gtplibjjako1-1/+1
2003-01-05Absolute path to gtp library in ggsn/Makefile.am and ggsn/Makefile.amjjako1-3/+3
2002-12-16Initial revisionjjako1-0/+11