9
0
Fork 0

Rename OpenGGSN to OsmoGGSN

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
This commit is contained in:
Harald Welte 2017-09-05 18:12:14 +02:00
parent 11cede413a
commit 017c52378c
34 changed files with 171 additions and 157 deletions

6
.gitignore vendored
View File

@ -15,13 +15,13 @@ install-sh
libtool libtool
ltmain.sh ltmain.sh
missing missing
openggsn.spec osmo-ggsn.spec
stamp-h1 stamp-h1
doc/Makefile.in doc/Makefile.in
ggsn/Makefile.in ggsn/Makefile.in
gtp/Makefile.in gtp/Makefile.in
sgsnemu/Makefile.in sgsnemu/Makefile.in
debian/openggsn/ debian/osmo-ggsn/
debian/*.debhelper debian/*.debhelper
debian/libgtp/ debian/libgtp/
debian/*.log debian/*.log
@ -33,7 +33,7 @@ sgsnemu/sgsnemu
debian/files debian/files
debian/libgtp-dev/ debian/libgtp-dev/
libgtp.pc libgtp.pc
ggsn/ggsn ggsn/osmo-ggsn
m4/ m4/
*.swp *.swp
*.o *.o

View File

@ -1,4 +1,4 @@
OpenGGSN - Gateway GPRS Support Node OsmoGGSN - Osmocom Gateway GPRS Support Node, based on OpenGGSN
Copyright (C) 2002-2004 Mondru AB, Author: Jens Jakobsen <jj@openggsn.org> Copyright (C) 2002-2004 Mondru AB, Author: Jens Jakobsen <jj@openggsn.org>
Copyright (C) 2010-2017 Harald Welte <laforge@gnumonks.org> Copyright (C) 2010-2017 Harald Welte <laforge@gnumonks.org>
Copyright (C) 2012-2016 Holger Hans Peter Freyther <zecke@selfish.org> Copyright (C) 2012-2016 Holger Hans Peter Freyther <zecke@selfish.org>

View File

@ -1,4 +1,4 @@
OpenGGSN/FreeBSD notes OsmoGGSN/FreeBSD notes
FreeBSD support is experimental, please test and report bugs. The FreeBSD port is FreeBSD support is experimental, please test and report bugs. The FreeBSD port is
tested on FreeBSD 4.x, but may also work on 5.x series. tested on FreeBSD 4.x, but may also work on 5.x series.

View File

@ -1,4 +1,4 @@
OpenGGSN/Mac OS X notes OsmoGGSN/Mac OS X notes
Mac OS X support is experimental, please test and report bugs. The Mac OS X support is experimental, please test and report bugs. The
Mac OS X port is tested on Mac OS X 10.3.5, but may also work on Mac OS X port is tested on Mac OS X 10.3.5, but may also work on

View File

@ -1,11 +1,11 @@
OpenGGSN - Open Source GGSN OsmoGGSN - Open Source GGSN
=========================== ===========================
This repository contains a C-language implementation of a GGSN (Gateway This repository contains a C-language implementation of a GGSN (Gateway
GPRS Support Node), a core network element of ETSI/3GPP cellular GPRS Support Node), a core network element of ETSI/3GPP cellular
networks such as GPRS, EDGE, UMTS or HSPA. networks such as GPRS, EDGE, UMTS or HSPA.
OpenGGSN is part of the [Osmocom](https://osmocom.org/) Open Source OsmoGGSN is part of the [Osmocom](https://osmocom.org/) Open Source
Mobile Communications projects, even thogh it was previously developed Mobile Communications projects, even thogh it was previously developed
by Mondru AB. by Mondru AB.
@ -18,11 +18,11 @@ https://osmocom.org/projects/openggsn/wiki
GIT Repository GIT Repository
-------------- --------------
You can clone from the official libosmocore.git repository using You can clone from the official osmo-ggsn.git repository using
git clone git://git.osmocom.org/openggsn.git git clone git://git.osmocom.org/osmo-ggsn.git
There is a cgit interface at http://git.osmocom.org/openggsn/ There is a cgit interface at http://git.osmocom.org/osmo-ggsn/
Documentation Documentation
------------- -------------
@ -34,7 +34,7 @@ manual that can become part of the osmo-gsm-manuals project.
Mailing List Mailing List
------------ ------------
Discussions related to openggsn are happening on the Discussions related to OsmoGGSN are happening on the
osmocom-net-gprs@lists.osmocom.org mailing list, please see osmocom-net-gprs@lists.osmocom.org mailing list, please see
https://lists.osmocom.org/mailman/listinfo/osmocom-net-gprs for https://lists.osmocom.org/mailman/listinfo/osmocom-net-gprs for
subscription options and the list archive. subscription options and the list archive.
@ -54,10 +54,8 @@ contributions. Please see
https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for
more details more details
The current patch queue for OpenGGSN can be seen at The current patch queue for OsmoGGSN can be seen at
https://gerrit.osmocom.org/#/q/project:openggsn+status:open https://gerrit.osmocom.org/#/q/project:osmo-ggsn+status:open
OPENGGSN README
===============
QuickStart QuickStart
@ -67,7 +65,7 @@ Requirements
------------ ------------
*Linux* *Linux*
OpenGGSN was originally developed and tested using Redhat 8.0 and 9.0 OsmoGGSN was originally developed and tested using Redhat 8.0 and 9.0
and is these days mostly developed on Debian GNU/Linux. It should run and is these days mostly developed on Debian GNU/Linux. It should run
also on other Linux distributions as well as FreeBSD, but this is also on other Linux distributions as well as FreeBSD, but this is
untested. Compilation on Solaris 2.8 has also been verified. untested. Compilation on Solaris 2.8 has also been verified.
@ -84,7 +82,7 @@ need to be configured for automatic loading:
Installation from binary Installation from binary
------------------------ ------------------------
OpenGGSN is built for common versions of Debian and Ubuntu as part of OsmoGGSN is built for common versions of Debian and Ubuntu as part of
the [Osmocom Nightly Builds](https://osmocom.org/projects/cellular-infrastructure/wiki/Nightly_Builds) the [Osmocom Nightly Builds](https://osmocom.org/projects/cellular-infrastructure/wiki/Nightly_Builds)
project. If you don't want to do development, it is suggested to simply project. If you don't want to do development, it is suggested to simply
use those binary packages, rather than building yourself from source. use those binary packages, rather than building yourself from source.
@ -141,13 +139,13 @@ Please contact the Mailing List above for community-based support.
Features Features
======== ========
OpenGGSN is an open source implementation of GPRS Support Nodes OsmoGGSN is an open source implementation of GPRS Support Nodes
(GSNs). It implements the GPRS tunneling protocol (GTP) version 0 and (GSNs). It implements the GPRS tunneling protocol (GTP) version 0 and
version 1. version 1.
OpenGGSN provides 3 components: OsmoGGSN provides 3 components:
* gtplib * gtplib
* ggsn * osmo-ggsn
* sgsnemu * sgsnemu
*gtplib* *gtplib*
@ -157,8 +155,8 @@ GSN. gtplib supports both GTPv0 (GSM 09.60) and GTPv1 (3GPP
29.060). At the moment no interface documentation is available for 29.060). At the moment no interface documentation is available for
download. download.
*ggsn* *osmo-ggsn*
The ggsn implements a Gateway GPRS Support Node. The GGSN is a small The osmo-ggsn implements a Gateway GPRS Support Node. The GGSN is a small
application which is provided in order to test and demonstrate the use application which is provided in order to test and demonstrate the use
of gtplib. It is fully compliant to the 3GPP standards, but lacks of gtplib. It is fully compliant to the 3GPP standards, but lacks
important functionality such as charging and management. Use this important functionality such as charging and management. Use this
@ -180,7 +178,7 @@ Required software
Tun Tun
--- ---
Both ggsn and sgsnemu uses the tun package. You need at least tun Both osmo-ggsn and sgsnemu uses the tun package. You need at least tun
version 1.1. With Linux tun is normally included from kernel version version 1.1. With Linux tun is normally included from kernel version
2.4.7. To configure automatic loading: 2.4.7. To configure automatic loading:
@ -210,16 +208,16 @@ Compilation and Installation
Please refer to the project homepage Please refer to the project homepage
Running ggsn Running osmo-ggsn
============ =================
Use ggsn -h for a list of available options. All options available on Use osmo-ggsn -h for a list of available options. All options available on
the command line can also be given in a configuration file. See the command line can also be given in a configuration file. See
examples/ggsn.conf for the format of this file. examples/osmo-ggsn.cfg for the format of this file.
Start the ggsn as root using the command: Start osmo-ggsn as root using the command:
ggsn -c examples/ggsn.conf osmo-ggsn -c examples/osmo-ggsn.cfg
First a tun network interface will be created. In the above example First a tun network interface will be created. In the above example
the network interface address is 192.168.0.0 and the mask is the network interface address is 192.168.0.0 and the mask is
@ -248,9 +246,9 @@ Remember to enable routing:
echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/ip_forward
If you installed using a binary RPM package it is possible to start If you installed using a binary RPM package it is possible to start
ggsn by using the Sys 5 script: osmo-ggsn by using the Sys 5 script:
/etc/init.d/ggsn start /etc/init.d/osmo-ggsn start
Running sgsnemu Running sgsnemu
@ -285,7 +283,7 @@ sgsnemu will print something like the following on the screen:
Using MSISDN: 46702123456 Using MSISDN: 46702123456
Initialising GTP library Initialising GTP library
OpenGGSN[1823]: GTP: gtp_newgsn() started OsmoGGSN[1823]: GTP: gtp_newgsn() started
Done initialising GTP library Done initialising GTP library
Sending off echo request Sending off echo request
@ -321,7 +319,7 @@ sgsnemu will print something like the following on the screen:
Using MSISDN: 46702123456 Using MSISDN: 46702123456
Initialising GTP library Initialising GTP library
OpenGGSN[1838]: GTP: gtp_newgsn() started OsmoGGSN[1838]: GTP: gtp_newgsn() started
Done initialising GTP library Done initialising GTP library
Sending off echo request Sending off echo request

View File

@ -1,5 +1,5 @@
# Process this file with autoconf to produce a configure script. # Process this file with autoconf to produce a configure script.
AC_INIT(openggsn, m4_esyscmd([./git-version-gen .tarball-version]), osmocom-net-gprs@lists.osmocom.org) AC_INIT(osmo-ggsn, m4_esyscmd([./git-version-gen .tarball-version]), osmocom-net-gprs@lists.osmocom.org)
AC_CONFIG_SRCDIR([gtp/gtp.c]) AC_CONFIG_SRCDIR([gtp/gtp.c])
AM_CONFIG_HEADER([config.h]) AM_CONFIG_HEADER([config.h])
#AC_CONFIG_HEADER([config.h]) #AC_CONFIG_HEADER([config.h])
@ -149,9 +149,9 @@ AC_CONFIG_FILES([Makefile
sgsnemu/Makefile sgsnemu/Makefile
tests/Makefile tests/Makefile
libgtp.pc libgtp.pc
openggsn.spec]) osmo-ggsn.spec])
AC_OUTPUT AC_OUTPUT
echo " echo "
openggsn Configuration: osmo-ggsn Configuration:
GTP Linux kernel support: ${enable_gtp_linux}" GTP Linux kernel support: ${enable_gtp_linux}"

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
osmo-ggsn (0.94.0) UNRELEASED; urgency=medium
* Transition to OsmoGGSN
-- Harald Welte <laforge@gnumonks.org> Tue, 05 Sep 2017 09:34:20 +0200
openggsn (0.94.0) UNRELEASED; urgency=medium openggsn (0.94.0) UNRELEASED; urgency=medium
[ Holger Hans Peter Freyther ] [ Holger Hans Peter Freyther ]

24
debian/control vendored
View File

@ -1,4 +1,4 @@
Source: openggsn Source: osmo-ggsn
Maintainer: Harald Welte <laforge@gnumonks.org> Maintainer: Harald Welte <laforge@gnumonks.org>
Section: net Section: net
Priority: optional Priority: optional
@ -9,16 +9,16 @@ Build-Depends: debhelper (>= 9),
dh-autoreconf, dh-autoreconf,
libosmocore-dev (>= 0.8.0) libosmocore-dev (>= 0.8.0)
Standards-Version: 3.9.6 Standards-Version: 3.9.6
Vcs-Browser: http://ggsn.git.sourceforge.net/git/gitweb.cgi?p=ggsn/ggsn;a=summary Vcs-Browser: http://git.osmocom.org/osmo-ggsn/
Vcs-Git: git://ggsn.git.sourceforge.net/gitroot/ggsn/ggsn Vcs-Git: git://git.osmocom.org/osmo-ggsn
Homepage: https://projects.osmocom.org/projects/openggsn Homepage: https://projects.osmocom.org/projects/openggsn
Package: openggsn Package: osmo-ggsn
Architecture: any Architecture: any
Depends: ${shlibs:Depends}, Depends: ${shlibs:Depends},
${misc:Depends} ${misc:Depends}
Description: Gateway GPRS Support Node (GGSN) Description: Osmocom Gateway GPRS Support Node (GGSN)
OpenGGSN is a Gateway GPRS Support Node (GGSN). It is used by mobile OsmoGGSN is a Gateway GPRS Support Node (GGSN). It is used by mobile
operators as the interface between the Internet and the rest of the operators as the interface between the Internet and the rest of the
mobile network infrastructure. mobile network infrastructure.
@ -29,11 +29,11 @@ Section: libs
Depends: ${shlibs:Depends}, Depends: ${shlibs:Depends},
${misc:Depends} ${misc:Depends}
Description: library implementing the GTP protocol between SGSN and GGSN Description: library implementing the GTP protocol between SGSN and GGSN
OpenGGSN is a Gateway GPRS Support Node (GGSN). It is used by mobile OsmoGGSN is a Gateway GPRS Support Node (GGSN). It is used by mobile
operators as the interface between the Internet and the rest of the operators as the interface between the Internet and the rest of the
mobile network infrastructure. mobile network infrastructure.
. .
This library is part of openggsn and implements the GTP protocol between This library is part of OsmoGGSN and implements the GTP protocol between
SGSN (Serving GPRS support node) and GGSN. SGSN (Serving GPRS support node) and GGSN.
Package: libgtp-dev Package: libgtp-dev
@ -43,17 +43,17 @@ Section: libdevel
Depends: ${misc:Depends}, Depends: ${misc:Depends},
libgtp1 (= ${binary:Version}) libgtp1 (= ${binary:Version})
Description: Development files for libgtp Description: Development files for libgtp
OpenGGSN is a Gateway GPRS Support Node (GGSN). It is used by mobile OsmoGGSN is a Gateway GPRS Support Node (GGSN). It is used by mobile
operators as the interface between the Internet and the rest of the operators as the interface between the Internet and the rest of the
mobile network infrastructure. mobile network infrastructure.
. .
The library libgtp implements the GTP protocol between SGSN and GGSN The library libgtp implements the GTP protocol between SGSN and GGSN
and this package contains the development files for this library. and this package contains the development files for this library.
Package: openggsn-dbg Package: osmo-ggsn-dbg
Section: debug Section: debug
Architecture: any Architecture: any
Priority: extra Priority: extra
Depends: ${shlibs:Depends}, ${misc:Depends}, libgtp1 (= ${binary:Version}), openggsn (= ${binary:Version}) Depends: ${shlibs:Depends}, ${misc:Depends}, libgtp1 (= ${binary:Version}), osmo-ggsn (= ${binary:Version})
Multi-Arch: same Multi-Arch: same
Description: Debug symbols for OpenGGSN Description: Debug symbols for OsmoGGSN

14
debian/copyright vendored
View File

@ -1,11 +1,13 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: openggsn Upstream-Name: osmo-ggsn
Source: http://sourceforge.net/projects/ggsn/ Source: https://osmocom.org/projects/openggsn
Files: * Files: *
Copyright: 2002 Jens Jakobsen <jj@openggsn.org> Copyright (C) 2002-2004 Mondru AB, Author: Jens Jakobsen <jj@openggsn.org>
2002-2004 Mondru AB Copyright (C) 2010-2017 Harald Welte <laforge@gnumonks.org>
2010-2011 Harald Welte <laforge@gnumonks.org> Copyright (C) 2012-2016 Holger Hans Peter Freyther <zecke@selfish.org>
Copyright (C) 2014-2016 Pablo Neira Ayuso <pablo@gnumonks.org>
Copyright (C) 2014-2016 sysmocom - s.f.m.c. GmbH
License: GPL-2 License: GPL-2
Files: lib/getopt.c Files: lib/getopt.c
@ -15,7 +17,7 @@ Copyright: 1987-2001 Free Software Foundation, Inc.
License: LGPL-2.1+ License: LGPL-2.1+
Files: debian/* Files: debian/*
Copyright: 2010-2015 Harald Welte <laforge@gnumonks.org> Copyright: 2010-2017 Harald Welte <laforge@gnumonks.org>
2016 Ruben Undheim <ruben.undheim@gmail.com> 2016 Ruben Undheim <ruben.undheim@gmail.com>
License: GPL-2 License: GPL-2

View File

@ -1,2 +0,0 @@
examples/ggsn.conf
examples/sgsnemu.conf

2
debian/osmo-ggsn.examples vendored Normal file
View File

@ -0,0 +1,2 @@
examples/osmo-ggsn.conf
examples/sgsnemu.conf

View File

@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
### BEGIN INIT INFO ### BEGIN INIT INFO
# Provides: openggsn # Provides: osmo-ggsn
# Required-Start: $network $local_fs $remote_fs # Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $remote_fs # Required-Stop: $network $remote_fs
# Default-Start: 2 3 4 5 # Default-Start: 2 3 4 5
@ -13,18 +13,18 @@
# PATH should only include /usr/* if it runs after the mountnfs.sh script # PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="OpenGGSN Gateway GPRS Support Node" DESC="OsmoGGSN Gateway GPRS Support Node"
NAME=ggsn NAME=ggsn
DAEMON=/usr/bin/ggsn DAEMON=/usr/bin/osmo-ggsn
DAEMON_ARGS="" # Arguments to run the daemon with DAEMON_ARGS="" # Arguments to run the daemon with
PIDFILE=/var/run/$NAME.pid PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/openggsn SCRIPTNAME=/etc/init.d/osmo-ggsn
# Exit if the package is not installed # Exit if the package is not installed
[ -x $DAEMON ] || exit 0 [ -x $DAEMON ] || exit 0
# Read configuration variable file if it is present # Read configuration variable file if it is present
[ -r /etc/default/openggsn ] && . /etc/default/openggsn [ -r /etc/default/osmo-ggsn ] && . /etc/default/osmo-ggsn
# Load the VERBOSE setting and other rcS variables # Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh . /lib/init/vars.sh
@ -46,13 +46,13 @@ do_start()
|| return 1 || return 1
# Check for runtime directory of nonvolatile data # Check for runtime directory of nonvolatile data
if [ ! -d /var/lib/ggsn ]; then if [ ! -d /var/lib/osmo-ggsn ]; then
mkdir /var/lib/ggsn mkdir /var/lib/osmo-ggsn
fi fi
# Check for GTP restart counter # Check for GTP restart counter
if [ ! -f /var/lib/ggsn/gsn_restart ]; then if [ ! -f /var/lib/osmo-ggsn/gsn_restart ]; then
echo 0 > /var/lib/ggsn/gsn_restart echo 0 > /var/lib/osmo-ggsn/gsn_restart
fi fi
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \

View File

@ -1,3 +1,3 @@
/usr/bin/ggsn /usr/bin/osmo-ggsn
/usr/bin/sgsnemu /usr/bin/sgsnemu
/usr/share/man/man8/* /usr/share/man/man8/*

2
debian/rules vendored
View File

@ -15,7 +15,7 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all
dh $@ --with autoreconf dh $@ --with autoreconf
override_dh_strip: override_dh_strip:
dh_strip --dbg-package=openggsn-dbg dh_strip --dbg-package=osmo-ggsn-dbg
override_dh_autoreconf: override_dh_autoreconf:
echo $(VERSION) > .tarball-version echo $(VERSION) > .tarball-version

View File

@ -7,7 +7,7 @@
</head> </head>
<body> <body>
<h1>Protocol Compliance List</h1> <h1>Protocol Compliance List</h1>
OpenGGSN supports both GTP0 (GSM 09.60) and GTP1 (3GPP 29.060). In the OsmoGGSN supports both GTP0 (GSM 09.60) and GTP1 (3GPP 29.060). In the
following tables the support of each individual message type is following tables the support of each individual message type is
detailed. The numbers before each feature indicates the relevant detailed. The numbers before each feature indicates the relevant
section in the standard.<br> section in the standard.<br>

View File

@ -1,4 +1,4 @@
man_MANS = ggsn.8 sgsnemu.8 man_MANS = osmo-ggsn.8 sgsnemu.8
man_aux = $(man_MANS:.1=.x) man_aux = $(man_MANS:.1=.x)
EXTRA_DIST = $(man_MANS) EXTRA_DIST = $(man_MANS)

View File

@ -1,5 +1,5 @@
.\" * OpenGGSN - Gateway GPRS Support Node .\" * OsmoGGSN - Gateway GPRS Support Node
.\" * Copyright (C) 2002, 2003 Mondru AB. .\" * Copyright (C) 2002, 2003 Mondru AB.
.\" * .\" *
.\" * The contents of this file may be used under the terms of the GNU .\" * The contents of this file may be used under the terms of the GNU
@ -12,24 +12,24 @@
.\" * .\" *
.\" * Contributor(s): .\" * Contributor(s):
.\" * .\" *
.\" Manual page for ggsn .\" Manual page for osmo-ggsn
.\" SH section heading .\" SH section heading
.\" SS subsection heading .\" SS subsection heading
.\" LP paragraph .\" LP paragraph
.\" IP indented paragraph .\" IP indented paragraph
.\" TP hanging label .\" TP hanging label
.TH ggsn 8 "July 2003" .TH osmo-ggsn 8 "August 2017"
.SH NAME .SH NAME
ggsn \- Gateway GPRS Support Node. osmo-ggsn \- Gateway GPRS Support Node.
.SH SYNOPSIS .SH SYNOPSIS
.B ggsn .B osmo-ggsn
\-\-help \-\-help
.B ggsn .B osmo-ggsn
\-\-version \-\-version
.B ggsn .B osmo-ggsn
[ [
.BI \-\-help .BI \-\-help
] [ ] [
@ -40,9 +40,9 @@ ggsn \- Gateway GPRS Support Node.
.BI \-\-version .BI \-\-version
] ]
.SH DESCRIPTION .SH DESCRIPTION
.B ggsn .B osmo-ggsn
is part of the is part of the
.B OpenGGSN .B OsmoGGSN
project, and implements a Gateway GPRS Support Node. It is used by project, and implements a Gateway GPRS Support Node. It is used by
mobile operators as the interface between the Internet and the rest of mobile operators as the interface between the Internet and the rest of
the mobile network infrastructure. the mobile network infrastructure.
@ -62,14 +62,14 @@ over IP.
The other interface can be thought of as the uplink interface, and The other interface can be thought of as the uplink interface, and
interfaces the GGSN to an external data network. Gi is most often an interfaces the GGSN to an external data network. Gi is most often an
interface to the Internet. interface to the Internet.
.B ggsn .B osmo-ggsn
uses the uses the
.B TUN/TAP driver .B TUN/TAP driver
for the Gi interface. A tun network interface is established when the for the Gi interface. A tun network interface is established when the
.B ggsn .B osmo-ggsn
is started. is started.
.B ggsn .B osmo-ggsn
will accept incoming connections from mobile stations through the will accept incoming connections from mobile stations through the
radio access network and the SGSN. When a connection request is radio access network and the SGSN. When a connection request is
received the ggsn will allocate a dynamic IP address for the mobile received the ggsn will allocate a dynamic IP address for the mobile
@ -79,7 +79,7 @@ the SGSN. Runtime errors are reported using the Osmocom logging
framework. framework.
Typically Typically
.B ggsn .B osmo-ggsn
will be deployed with two Ethernet interfaces. One for the Gn/Gp will be deployed with two Ethernet interfaces. One for the Gn/Gp
interface, and one for the Gi interface. Policy routing and firewall interface, and one for the Gi interface. Policy routing and firewall
rules should be used in order to separate Gi traffic from Gn/Gp rules should be used in order to separate Gi traffic from Gn/Gp
@ -105,25 +105,25 @@ Read configuration
(default = ./openggsn.cfg) (default = ./openggsn.cfg)
.SH FILES .SH FILES
.I ./openggsn.cfg .I ./osmo-ggsn.cfg
.RS .RS
The configuration file for The configuration file for
.B ggsn. .B osmo-ggsn.
.RE .RE
.I /var/run/ggsn.pid .I /var/run/osmo-ggsn.pid
.RS .RS
Process ID file. Process ID file.
.RE .RE
.I /var/lib/ggsn .I /var/lib/osmo-ggsn
.RS .RS
Directory holding nonvolatile data. Directory holding nonvolatile data.
.RE .RE
.SH BUGS .SH BUGS
Report all bugs to the OpenGGSN bug tracking list at Report all bugs to the OsmoGGSN bug tracking list at
.I https://osmocom.org/projects/openggsn .I https://osmocom.org/projects/openggsn
.B ggsn .B osmo-ggsn
has very limited management support. Currently both SNMP as well as has very limited management support. Currently both SNMP as well as
billing mechanisms are missing. billing mechanisms are missing.
@ -135,13 +135,13 @@ billing mechanisms are missing.
.LP .LP
Besides the long options documented in this man page Besides the long options documented in this man page
.B ggsn .B osmo-ggsn
also accepts a number of short options with the same functionality. Use also accepts a number of short options with the same functionality. Use
.B ggsn --help .B osmo-ggsn --help
for a full list of all the available options. for a full list of all the available options.
The TUN/TAP driver is required for proper operation of The TUN/TAP driver is required for proper operation of
.B ggsn. .B osmo-ggsn.
For linux kernels later than 2.4.7 the TUN/TAP driver is included in the kernel, but typically needs to be loaded manually with For linux kernels later than 2.4.7 the TUN/TAP driver is included in the kernel, but typically needs to be loaded manually with
.B modprobe tun. .B modprobe tun.
For automatic loading the line For automatic loading the line
@ -152,7 +152,7 @@ For other platforms see
.I http://vtun.sourceforge.net/tun/ .I http://vtun.sourceforge.net/tun/
for information on how to install and configure the tun driver. for information on how to install and configure the tun driver.
.B ggsn .B osmo-ggsn
uses the GPRS Tunneling Protocol (GTP) as specified by the Third uses the GPRS Tunneling Protocol (GTP) as specified by the Third
Generation Partnership Project (3GPP). 3GPP protocols specifications Generation Partnership Project (3GPP). 3GPP protocols specifications
can be found at can be found at

View File

@ -1,5 +1,5 @@
.\" * OpenGGSN - Gateway GPRS Support Node .\" * OsmoGGSN - Gateway GPRS Support Node
.\" * Copyright (C) 2002, 2003 Mondru AB. .\" * Copyright (C) 2002, 2003 Mondru AB.
.\" * .\" *
.\" * The contents of this file may be used under the terms of the GNU .\" * The contents of this file may be used under the terms of the GNU
@ -90,7 +90,7 @@ sgsnemu \- Serving GPRS Support Node Emulator
.SH DESCRIPTION .SH DESCRIPTION
.B sgsnemu .B sgsnemu
is part of the is part of the
.B OpenGGSN .B OsmoGGSN
project, and implements a Serving GPRS Support Node (SGSN) project, and implements a Serving GPRS Support Node (SGSN)
emulator. It can be used for testing Gateway GPRS Support Nodes emulator. It can be used for testing Gateway GPRS Support Nodes
(GGSNs), GPRS core networks as well as GPRS roaming connections. (GGSNs), GPRS core networks as well as GPRS roaming connections.
@ -348,8 +348,8 @@ Directory holding nonvolatile data.
.RE .RE
.SH BUGS .SH BUGS
Report all bugs to the OpenGGSN bug tracking list at Report all bugs to the OsmoGGSN bug tracking list at
.I http://sourceforge.net/projects/sgsnemu/ .I http://osmocom.org/projects/openggsn/issues
.SH "SEE ALSO" .SH "SEE ALSO"

View File

@ -1,10 +1,10 @@
#!/bin/sh #!/bin/sh
# #
# ggsn This shell script takes care of starting and stopping # osmo-ggsn This shell script takes care of starting and stopping
# ggsn. # osmo-ggsn.
# #
# chkconfig: - 65 35 # chkconfig: - 65 35
# description: ggsn is a Gateway GPRS Support Node. # description: osmo-ggsn is a Gateway GPRS Support Node.
# Source function library. # Source function library.
. /etc/rc.d/init.d/functions . /etc/rc.d/init.d/functions
@ -12,18 +12,18 @@
# Source networking configuration. # Source networking configuration.
. /etc/sysconfig/network . /etc/sysconfig/network
if [ -f /etc/sysconfig/ggsn ]; then if [ -f /etc/sysconfig/osmo-ggsn ]; then
. /etc/sysconfig/ggsn . /etc/sysconfig/osmo-ggsn
fi fi
# Check that networking is up. # Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0 [ ${NETWORKING} = "no" ] && exit 0
[ -f /usr/bin/ggsn ] || exit 0 [ -f /usr/bin/osmo-ggsn ] || exit 0
[ -f /etc/ggsn.conf ] || exit 0 [ -f /etc/osmo-ggsn.cfg ] || exit 0
RETVAL=0 RETVAL=0
prog="ggsn" prog="osmo-ggsn"
start() { start() {
# Start daemons. # Start daemons.
@ -37,30 +37,30 @@ start() {
# echo 1 > /proc/sys/net/ipv4/ip_forward # echo 1 > /proc/sys/net/ipv4/ip_forward
# Check for runtime directory of nonvolatile data # Check for runtime directory of nonvolatile data
if [ ! -d /var/lib/ggsn ]; then if [ ! -d /var/lib/osmo-ggsn ]; then
mkdir /var/lib/ggsn mkdir /var/lib/osmo-ggsn
fi fi
# Check for GTP restart counter # Check for GTP restart counter
if [ ! -d /var/lib/ggsn/gsn_restart ]; then if [ ! -d /var/lib/osmo-ggsn/gsn_restart ]; then
echo 0 > /var/lib/ggsn/gsn_restart echo 0 > /var/lib/osmo-ggsn/gsn_restart
fi fi
daemon /usr/bin/ggsn daemon /usr/bin/osmo-ggsn
RETVAL=$? RETVAL=$?
echo echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/ggsn [ $RETVAL -eq 0 ] && touch /var/lock/subsys/osmo-ggsn
return $RETVAL return $RETVAL
} }
stop() { stop() {
# Stop daemons. # Stop daemons.
echo -n $"Shutting down $prog: " echo -n $"Shutting down $prog: "
killproc ggsn killproc osmo-ggsn
RETVAL=$? RETVAL=$?
echo echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/ggsn /var/run/ggsn.pid [ $RETVAL = 0 ] && rm -f /var/lock/subsys/osmo-ggsn /var/run/osmo-ggsn.pid
return $RETVAL return $RETVAL
} }
@ -78,14 +78,14 @@ case "$1" in
RETVAL=$? RETVAL=$?
;; ;;
condrestart) condrestart)
if [ -f /var/lock/subsys/ggsn ] ; then if [ -f /var/lock/subsys/osmo-ggsn ] ; then
stop stop
start start
RETVAL=$? RETVAL=$?
fi fi
;; ;;
status) status)
status ggsn status osmo-ggsn
RETVAL=$? RETVAL=$?
;; ;;
*) *)

View File

@ -1,19 +1,19 @@
bin_PROGRAMS = ggsn bin_PROGRAMS = osmo-ggsn
AM_LDFLAGS = @EXEC_LDFLAGS@ AM_LDFLAGS = @EXEC_LDFLAGS@
AM_CFLAGS = -O2 -D_GNU_SOURCE -fno-builtin -Wall -DSBINDIR='"$(sbindir)"' -ggdb $(LIBOSMOCORE_CFLAGS) $(LIBOSMOCTRL_CFLAGS) $(LIBOSMOVTY_CFLAGS) AM_CFLAGS = -O2 -D_GNU_SOURCE -fno-builtin -Wall -DSBINDIR='"$(sbindir)"' -ggdb $(LIBOSMOCORE_CFLAGS) $(LIBOSMOCTRL_CFLAGS) $(LIBOSMOVTY_CFLAGS)
ggsn_LDADD = @EXEC_LDADD@ -lgtp -L../gtp ../lib/libmisc.a $(LIBOSMOCORE_LIBS) $(LIBOSMOCTRL_LIBS) $(LIBOSMOVTY_LIBS) osmo_ggsn_LDADD = @EXEC_LDADD@ -lgtp -L../gtp ../lib/libmisc.a $(LIBOSMOCORE_LIBS) $(LIBOSMOCTRL_LIBS) $(LIBOSMOVTY_LIBS)
if ENABLE_GTP_KERNEL if ENABLE_GTP_KERNEL
AM_CFLAGS += -DGTP_KERNEL AM_CFLAGS += -DGTP_KERNEL
ggsn_LDADD += -lgtpnl osmo_ggsn_LDADD += -lgtpnl
endif endif
ggsn_DEPENDENCIES = ../gtp/libgtp.la ../lib/libmisc.a osmo_ggsn_DEPENDENCIES = ../gtp/libgtp.la ../lib/libmisc.a
ggsn_SOURCES = ggsn_vty.c ggsn.c ggsn.h gtp-kernel.h icmpv6.c icmpv6.h checksum.c checksum.h osmo_ggsn_SOURCES = ggsn_vty.c ggsn.c ggsn.h gtp-kernel.h icmpv6.c icmpv6.h checksum.c checksum.h
if ENABLE_GTP_KERNEL if ENABLE_GTP_KERNEL
ggsn_SOURCES += gtp-kernel.c osmo_ggsn_SOURCES += gtp-kernel.c
endif endif

View File

@ -1,5 +1,5 @@
/* /*
* OpenGGSN - Gateway GPRS Support Node * OsmoGGSN - Gateway GPRS Support Node
* Copyright (C) 2002, 2003, 2004 Mondru AB. * Copyright (C) 2002, 2003, 2004 Mondru AB.
* Copyright (C) 2017 by Harald Welte <laforge@gnumonks.org> * Copyright (C) 2017 by Harald Welte <laforge@gnumonks.org>
* *
@ -590,7 +590,7 @@ static int encaps_tun(struct pdp_t *pdp, void *pack, unsigned len)
return tun_encaps((struct tun_t *)pdp->ipif, pack, len); return tun_encaps((struct tun_t *)pdp->ipif, pack, len);
} }
static char *config_file = "openggsn.cfg"; static char *config_file = "osmo-ggsn.cfg";
/* callback for tun device osmocom select loop integration */ /* callback for tun device osmocom select loop integration */
static int ggsn_tun_fd_cb(struct osmo_fd *fd, unsigned int what) static int ggsn_tun_fd_cb(struct osmo_fd *fd, unsigned int what)
@ -802,7 +802,7 @@ int main(int argc, char **argv)
struct ggsn_ctx *ggsn; struct ggsn_ctx *ggsn;
int rc; int rc;
tall_ggsn_ctx = talloc_named_const(NULL, 0, "openggsn"); tall_ggsn_ctx = talloc_named_const(NULL, 0, "OsmoGGSN");
msgb_talloc_ctx_init(tall_ggsn_ctx, 0); msgb_talloc_ctx_init(tall_ggsn_ctx, 0);
/* Handle keyboard interrupt SIGINT */ /* Handle keyboard interrupt SIGINT */

View File

@ -882,7 +882,7 @@ static const char ggsn_copyright[] =
"There is NO WARRANTY, to the extent permitted by law.\r\n"; "There is NO WARRANTY, to the extent permitted by law.\r\n";
struct vty_app_info g_vty_info = { struct vty_app_info g_vty_info = {
.name = "OpenGGSN", .name = "OsmoGGSN",
.version = PACKAGE_VERSION, .version = PACKAGE_VERSION,
.copyright = ggsn_copyright, .copyright = ggsn_copyright,
.go_parent_cb = ggsn_vty_go_parent, .go_parent_cb = ggsn_vty_go_parent,

View File

@ -1,6 +1,8 @@
/* /*
* OpenGGSN - Gateway GPRS Support Node * OsmoGGSN - Gateway GPRS Support Node
* Copyright (C) 2002, 2003, 2004 Mondru AB. * Copyright (C) 2002, 2003, 2004 Mondru AB.
* Copyright (C) 2010-2011, 2016-2017 Harald Welte <laforge@gnumonks.org>
* Copyright (C) 2015-2017 sysmocom - s.f.m.c. GmbH
* *
* The contents of this file may be used under the terms of the GNU * The contents of this file may be used under the terms of the GNU
* General Public License Version 2, provided that the above copyright * General Public License Version 2, provided that the above copyright

View File

@ -1,5 +1,5 @@
/* /*
* OpenGGSN - Gateway GPRS Support Node * OsmoGGSN - Gateway GPRS Support Node
* Copyright (C) 2002, 2003, 2004 Mondru AB. * Copyright (C) 2002, 2003, 2004 Mondru AB.
* *
* The contents of this file may be used under the terms of the GNU * The contents of this file may be used under the terms of the GNU

View File

@ -1,5 +1,5 @@
/* /*
* OpenGGSN - Gateway GPRS Support Node * OsmoGGSN - Gateway GPRS Support Node
* Copyright (C) 2002 Mondru AB. * Copyright (C) 2002 Mondru AB.
* *
* The contents of this file may be used under the terms of the GNU * The contents of this file may be used under the terms of the GNU

View File

@ -1,5 +1,5 @@
/* /*
* OpenGGSN - Gateway GPRS Support Node * OsmoGGSN - Gateway GPRS Support Node
* Copyright (C) 2002, 2003, 2004 Mondru AB. * Copyright (C) 2002, 2003, 2004 Mondru AB.
* *
* The contents of this file may be used under the terms of the GNU * The contents of this file may be used under the terms of the GNU

View File

@ -1,6 +1,7 @@
/* /*
* OpenGGSN - Gateway GPRS Support Node * OsmoGGSN - Gateway GPRS Support Node
* Copyright (C) 2002, 2003, 2004 Mondru AB. * Copyright (C) 2002, 2003, 2004 Mondru AB.
* Copyright (C) 2017 Harald Welte <laforge@gnumonks.org>
* *
* The contents of this file may be used under the terms of the GNU * The contents of this file may be used under the terms of the GNU
* General Public License Version 2, provided that the above copyright * General Public License Version 2, provided that the above copyright

View File

@ -1,6 +1,7 @@
/* /*
* OpenGGSN - Gateway GPRS Support Node * OsmoGGSN - Gateway GPRS Support Node
* Copyright (C) 2002, 2003 Mondru AB. * Copyright (C) 2002, 2003 Mondru AB.
* Copyright (C) 2017 Harald Welte <laforge@gnumonks.org>
* *
* The contents of this file may be used under the terms of the GNU * The contents of this file may be used under the terms of the GNU
* General Public License Version 2, provided that the above copyright * General Public License Version 2, provided that the above copyright

View File

@ -1,7 +1,8 @@
/* /*
* OpenGGSN - Gateway GPRS Support Node * OsmoGGSN - Gateway GPRS Support Node
* Copyright (C) 2002, 2003, 2004 Mondru AB. * Copyright (C) 2002, 2003, 2004 Mondru AB.
* Copyright (C) 2011 Harald Welte <laforge@gnumonks.org> * Copyright (C) 2011 Harald Welte <laforge@gnumonks.org>
* Copyright (C) 2016 sysmocom - s.f.m.c. GmbH
* *
* The contents of this file may be used under the terms of the GNU * The contents of this file may be used under the terms of the GNU
* General Public License Version 2, provided that the above copyright * General Public License Version 2, provided that the above copyright

View File

@ -1,5 +1,5 @@
/* /*
* OpenGGSN - Gateway GPRS Support Node * OsmoGGSN - Gateway GPRS Support Node
* Copyright (C) 2002 Mondru AB. * Copyright (C) 2002 Mondru AB.
* *
* The contents of this file may be used under the terms of the GNU * The contents of this file may be used under the terms of the GNU

View File

@ -3,7 +3,7 @@ exec_prefix=@exec_prefix@
libdir=@libdir@ libdir=@libdir@
includedir=@includedir@ includedir=@includedir@
Name: OpenGGSN STP Library Name: OsmoGGSN GTP Library
Description: C Utility Library Description: C Utility Library
Version: @VERSION@ Version: @VERSION@
Libs: -L${libdir} -lgtp Libs: -L${libdir} -lgtp

View File

@ -1,15 +1,15 @@
Summary: Open Source Gateway GPRS Support Node (GGSN) Summary: Osmocom Gateway GPRS Support Node (GGSN)
Name: @PACKAGE@ Name: @PACKAGE@
Version: @VERSION@ Version: @VERSION@
Release: 1 Release: 1
URL: http://sourceforge.net/projects/ggsn/ URL: https://osmocom.org/projects/openggsn
Source0: http://prdownloads.sourceforge.net/ggsn/%{name}-%{version}.tar.gz Source0: http://prdownloads.sourceforge.net/ggsn/%{name}-%{version}.tar.gz
License: GPL License: GPL
Group: System Environment/Daemons Group: System Environment/Daemons
BuildRoot: %{_tmppath}/%{name}-root BuildRoot: %{_tmppath}/%{name}-root
%description %description
OpenGGSN is a Gateway GPRS Support Node (GGSN). It is used by mobile OsmoGGSN is a Gateway GPRS Support Node (GGSN). It is used by mobile
operators as the interface between the Internet and the rest of the operators as the interface between the Internet and the rest of the
mobile network infrastructure. The project also provides an SGSN mobile network infrastructure. The project also provides an SGSN
emulator suitable for GPRS core network testing. emulator suitable for GPRS core network testing.
@ -26,21 +26,21 @@ make
%install %install
make install prefix=$RPM_BUILD_ROOT/usr make install prefix=$RPM_BUILD_ROOT/usr
strip $RPM_BUILD_ROOT/usr/bin/ggsn strip $RPM_BUILD_ROOT/usr/bin/osmo-ggsn
strip $RPM_BUILD_ROOT/usr/bin/sgsnemu strip $RPM_BUILD_ROOT/usr/bin/sgsnemu
#Copy ggsn init script in place #Copy osmo-ggsn init script in place
mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
install -m755 examples/ggsn.init \ install -m755 examples/osmo-ggsn.init \
$RPM_BUILD_ROOT/etc/rc.d/init.d/ggsn $RPM_BUILD_ROOT/etc/rc.d/init.d/osmo-ggsn
#Copy ggsn.conf in place #Copy osmo-ggsn.conf in place
install -m755 examples/ggsn.conf \ install -m755 examples/osmo-ggsn.cfg \
$RPM_BUILD_ROOT/etc/ggsn.conf $RPM_BUILD_ROOT/etc/osmo-ggsn.cfg
#Copy gsn_restart file in place #Copy gsn_restart file in place
mkdir -p $RPM_BUILD_ROOT/var/lib/ggsn mkdir -p $RPM_BUILD_ROOT/var/lib/osmo-ggsn
echo "0" > $RPM_BUILD_ROOT/var/lib/ggsn/gsn_restart echo "0" > $RPM_BUILD_ROOT/var/lib/osmo-ggsn/gsn_restart
#Clean up unwanted library files #Clean up unwanted library files
rm -rf $RPM_BUILD_ROOT/usr/include/* rm -rf $RPM_BUILD_ROOT/usr/include/*
@ -52,26 +52,26 @@ rm -rf $RPM_BUILD_ROOT
make clean make clean
%post %post
/sbin/chkconfig --add ggsn /sbin/chkconfig --add osmo-ggsn
%files %files
%defattr(-,root,root) %defattr(-,root,root)
/usr/bin/ggsn /usr/bin/osmo-ggsn
/usr/bin/sgsnemu /usr/bin/sgsnemu
/etc/rc.d/init.d/ggsn /etc/rc.d/init.d/osmo-ggsn
%dir /var/lib/ggsn %dir /var/lib/osmo-ggsn
/var/lib/ggsn/gsn_restart /var/lib/osmo-ggsn/gsn_restart
%doc AUTHORS COPYING INSTALL NEWS README.md %doc AUTHORS COPYING INSTALL NEWS README.md
%doc examples/ggsn.conf %doc examples/osmo-ggsn.conf
%doc examples/sgsnemu.conf %doc examples/sgsnemu.conf
%doc examples/ggsn.init %doc examples/osmo-ggsn.init
%doc examples/firewall %doc examples/firewall
%doc /usr/man/man8/ggsn.8.gz %doc /usr/man/man8/osmo-ggsn.8.gz
%doc /usr/man/man8/sgsnemu.8.gz %doc /usr/man/man8/sgsnemu.8.gz
%config /etc/ggsn.conf %config /etc/osmo-ggsn.cfg
#/usr/lib/libgtp.a #/usr/lib/libgtp.a
@ -83,5 +83,8 @@ make clean
%changelog %changelog
* Mon Jun 30 2017 <laforge@gnumonks.org>
- Update to OsmoGGSN
* Mon Jun 30 2003 <jj@openggsn.org> * Mon Jun 30 2003 <jj@openggsn.org>
- Initial build. - Initial build.

View File

@ -1,4 +1,4 @@
# OpenGGSN - Gateway GPRS Support Node # OsmoGGSN - Gateway GPRS Support Node
# Copyright (C) 2002, 2003, 2004 Mondru AB. # Copyright (C) 2002, 2003, 2004 Mondru AB.
# #
# The contents of this file may be used under the terms of the GNU # The contents of this file may be used under the terms of the GNU

View File

@ -1,5 +1,5 @@
/* /*
* OpenGGSN - Gateway GPRS Support Node * OsmoGGSN - Gateway GPRS Support Node
* Copyright (C) 2002, 2003, 2004 Mondru AB. * Copyright (C) 2002, 2003, 2004 Mondru AB.
* *
* The contents of this file may be used under the terms of the GNU * The contents of this file may be used under the terms of the GNU