osmo-ggsn(8)
π osmo-ggsn β the manual page, but make it make sense π
okay bestie, gather round, because we're talking about osmo-ggsn β it's a System Manager's Manual situation, section 8, and it's literally the Gateway GPRS Support Node. yes that's a lot of letters. we'll get there. π«Ά
β¨ NAME β¨
osmo-ggsn β Gateway GPRS Support Node. that's the whole vibe. π
β¨ SYNOPSIS β¨
osmo-ggsn --help
osmo-ggsn --version
osmo-ggsn [ --help ] [ --daemonize ] [ --config-file file ] [ --version ]
like, three whole ways to summon it. pick your fighter. π
β¨ DESCRIPTION β¨
so osmo-ggsn is part of the OsmoGGSN project, and it implements a Gateway GPRS Support Node. mobile operators use it as the interface between the Internet and the rest of the mobile network infrastructure. it's giving border control but for packets. π
the GPRS functionality and protocols were standardised by the Third Generation Partnership Project (3GPP). and according to the 3GPP specifications, a GGSN has exactly two interfaces:
- the Gn/Gp interface
- the Gi interface
π¦ the Gn/Gp interface (downlink era)
think of Gn/Gp as the downlink interface of the GGSN. it's the one that talks to the Serving GPRS Support Node (SGSN), which in turn interfaces to the radio access network. Gn/Gp uses the GPRS tunneling protocol (GTP). user data packets β typically IP packets β get tunneled over GTP, and GTP itself uses UDP over IP. tunnels within tunnels, no cap. π
πΈ the Gi interface (uplink era)
the other one is basically the uplink interface, and it connects the GGSN to an external data network. Gi is most often an interface to the Internet. osmo-ggsn uses the TUN/TAP driver for the Gi interface. a tun network interface gets established when osmo-ggsn is started. β¨
π« what it actually does all day
osmo-ggsn will accept incoming connections from mobile stations through the radio access network and the SGSN. when a connection request comes in, the ggsn will allocate a dynamic IP address for the mobile station, and allow the mobile station to access the Gi interface. connections are terminated by either the mobile station or the SGSN. runtime errors are reported using the Osmocom logging framework. π
π deployment tea
typically osmo-ggsn gets deployed with two Ethernet interfaces. one for the Gn/Gp interface, and one for the Gi interface. and listen β policy routing and firewall rules should be used in order to separate Gi traffic from Gn/Gp traffic. don't skip that part, bestie. π§
β¨ OPTIONS β¨
--helpβ print help and exit. the classic "what do i even do here" button. π--versionβ print version and exit. cute lil flex. πββοΈ--daemonizeβ run in background as a daemon. default = off.--config-file fileβ read configuration file. default =./openggsn.cfg.
β¨ FILES β¨
./osmo-ggsn.cfgβ the configuration file forosmo-ggsn. π/var/run/osmo-ggsn.pidβ process ID file. that's where the pid lives, rent free. π/var/lib/osmo-ggsnβ directory holding nonvolatile data. πΎ
β¨ BUGS β¨
report all bugs to the OsmoGGSN bug tracking list at:
https://osmocom.org/projects/openggsn
also, real talk: osmo-ggsn has very limited management support. currently both SNMP as well as billing mechanisms are missing. not me being honest about my shortcomings. π
β¨ SEE ALSO β¨
sgsnemu(8)β go read that one too, bestie. π«Ά
β¨ NOTES β¨
besides the long options documented in this man page, osmo-ggsn also accepts a number of short options with the same functionality. use osmo-ggsn --help for a full list of all the available options. iykyk. π
the TUN/TAP driver is required for proper operation of 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:
modprobe tun
for automatic loading, this line:
alias char-major-10-200 tun
can be added to /etc/modules.conf. for other platforms, see:
http://vtun.sourceforge.net/tun/
for information on how to install and configure the tun driver. π§
osmo-ggsn uses the GPRS Tunneling Protocol (GTP) as specified by the Third Generation Partnership Project (3GPP). 3GPP protocols specifications can be found at:
http://www.3gpp.org
β¨ COPYRIGHT β¨
Copyright (C) 2002, 2003 by Mondru AB. Copyright (C) 2017 Harald Welte.
the contents of this file may be used under the terms of the GNU General Public License Version 2, provided that the above copyright notice and this permission notice is included in all copies or substantial portions of the software. periodt. π
β¨ AUTHORS β¨
- Jens Jakobsen
<jj@openggsn.org> - Harald Welte
<laforge@gnumonks.org>
so this whole thing was last touched August 2017, it lives in the System Manager's Manual corner of the world as osmo-ggsn(8), and that's the vibe check β completed. slay, go tunnel something. ππ
β¨
π¦ where this page comes from
- debian bookworm: osmo-ggsn 1.9.0-3+b1 Β· GPL-2.0-only
- debian trixie: osmo-ggsn 1.13.0-2 Β· GPL-2.0-only
- nixos 26.05: osmo-ggsn 1.14.0
- nixpkgs unstable: osmo-ggsn 1.15.0
- opensuse-leap 16.0: osmo-ggsn 1.11.0-bp160.1.14 Β· GPL-2.0-only AND LGPL-2.1-or-later
- opensuse-leap 16.0: osmo-ggsn 1.11.0-bp160.1.14 Β· GPL-2.0-only AND LGPL-2.1-or-later
- opensuse-leap 16.0: osmo-ggsn 1.11.0-bp160.1.14 Β· GPL-2.0-only AND LGPL-2.1-or-later
- opensuse-leap 16.0: osmo-ggsn 1.11.0-bp160.1.14 Β· GPL-2.0-only AND LGPL-2.1-or-later
- ubuntu jammy: osmo-ggsn 1.6.0-2build2 Β· GPL-2.0-only
- ubuntu noble: osmo-ggsn 1.9.0-3.1build1 Β· GPL-2.0-only
- ubuntu questing: osmo-ggsn 1.13.0-2
- ubuntu resolute: osmo-ggsn 1.13.0-2build1 Β· GPL-2.0-only
- ubuntu stonking: osmo-ggsn 1.13.0-2build1 Β· GPL-2.0-only
- Copyright (C) 2002, 2003 Mondru AB
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms