OsmoGGSN » History » Revision 14
« Previous |
Revision 14/34
(diff)
| Next »
wirelesss, 12/16/2016 04:41 PM
OpenGGSN¶
OpenGGSN is an implementation of the Gateway GPRS Support Node (GGSN) element in the GPRS core network.
OpenGGSN was developed in 2002 to 2004 by Mondru AB and was abandoned for some years before adopted by the Osmocom project around 2010.
Source Code / git repository¶
The source code is maintained in the osmcoom git at http://git.osmocom.org/openggsn/
Binary packages¶
OpenGGSN packages are created as part of the Osmocom nightly debian builds, see NightlyBuilds
Support / mailing lists¶
Please direct any questions regarding use, configuration or development of OpenGGSN to the osmocom-net-gprs@lists.osmocom.org mailing list, to which you can subscribe at https://lists.osmocom.org/mailman/listinfo/osmocom-net-gprs
Building OpenGGSN with kernel which has GTP-U support¶
It is expected that complete openbsc project and dependencies are pre-installed. Check if package libc-ares-dev
is installed and if not please add it.
Ubuntu 16.10, kernel 4.8.0-30-generic is used.
- Installing dependencies and build library
libgtpnl
You can install those packages with:
sudo apt install libtalloc-dev libpcsclite libmnl-dev
Please follow instructions provided at Build from source in order to install following library and projects :
Information about dependencies between Osmocom projects is given at the above link:
- libgtpnl
sudo make install sudo ldconfig
- libosmocore
- openggsn
./configure --enable-gtp-linux make sudo make install sudo ldconfig
Following message is shown at end of the command: ./configure --enable-gtp-linux
openggsn Configuration: GTP Linux kernel support: yes
This means that appropriate header files are available.
Using OpenGGSN with kernel which has GTP-U support¶
In order to find out whether gtp.ko module is available we can enter following command:
find /lib/modules/`uname -r` -name gtp.ko
Output below shows that gtp.ko module is present
/lib/modules/4.8.0-30-generic/kernel/drivers/net/gtp.ko
We are loading module gtp from kernel issuing command
sudo modprobe gtp
command:
lsmod | grep gtp
give us information about gtp and related udp tunnel:
gtp 28672 0 udp_tunnel 16384 1 gtp
Some helpful tools are available in: libgtpnl/tools
you can get more details about gtp-tunnel, entering command from the OpenGGSN shell:
gtp-tunnel list
Furthermore we can use:
sudo starce ggsn --gtp-linux -c ggsn.conf -f -dto determine if Ubuntu 16.10, kernel 4.8.0-30 is in use.
Next two cases shall be considered as an indication whether gtp kernel module is active:
- If gtp kernel module is active then we can see the strace output just when PDP context activation or deactivation is done.
- If gtp kernel module is not active then we can see the strace output constantly running on the screen.
Note: OpenGGSN is started by:
sudo ggsn --gtp-linux -c ggsn.conf -f -d
-d option is useful for debugging purposes.
Related output should be similar to the one shown below:
conf: ggsn.conf fg: 1 debug: 1 qos: 0x0b921f apn: internet net: 192.168.0.0/24 pidfile: /var/run/ggsn.pid statedir: /var/lib/ggsn/ gtp_linux: 1 timelimit: 0 cmdline_parser_configfile listen: 127.0.0.1 conf: ggsn.conf fg: 1 debug: 1 qos: 0x0b921f apn: internet net: 192.168.0.0/24 pidfile: /var/run/ggsn.pid statedir: /var/lib/ggsn/ gtp-linux: 1 timelimit: 0 <000c> gtp.c:701 GTP: gtp_newgsn() started <0002> gtp-kernel.c:123 Using the GTP kernel mode (genl ID is 27) <0002> gtp-kernel.c:156 GTP kernel configured <000b> control_if.c:693 CTRL at 127.0.0.1 4257
osmosgsn can be started with:
sudo osmo-sgsn -c sgsn.cfg
- d option is also available ins osmo-sgsn command.
Additional information related to setup of openbsc and GPRS setup is available OpenBSC GPRS
For clarity purposes configuration files of openbsc, OpenGGSN, osmosgsn and sysmoBTS are added.
Updated by wirelesss over 7 years ago · 14 revisions