doc/manuals: describe GTP-U kernel module

Related: OS#3209
Change-Id: Ib45cbfe03077960f216a83cf500ab3203d02cb3b
Oliver Smith 2 years ago
parent 9d82492e49
commit 1596463985
  1. 44

@ -80,3 +80,47 @@ possible to pick differing ports on the same IP address), like:
ggsn ggsn0
gtp bind-ip
=== GTP-U kernel module
WARNING: As of writing, the kernel module does not support IPv6.
OsmoGGSN has support to use the Linux kernel GTP-U tunnel driver to accelerate
the data/user plane while still implementing the control plane (GTP-C) in
userspace in OsmoGGSN. The kernel module is included in Linux 4.7.0 and higher.
Notably the Debian GNU/Linux distribution has it enabled by default.
In order to use this feature, make sure that your Linux kernel was configured
to support it (`CONFIG_GTP=m` or `=y`). Furthermore, `osmo-ggsn` must have been
built with `./configure` argument `--enable-gtp-linux` (which requires libgtpnl
to be installed).
Load the kernel module with:
$ sudo modprobe gtp
Then start OsmoGGSN with a configuration file that uses `gtpu-mode kernel-gtp`.
A full example configuration is in `osmo-ggsn-kernel-gtp.cfg`.
$ sudo osmo-ggsn -c /usr/share/doc/osmo-ggsn/examples/osmo-ggsn-kernel-gtp.cfg
.Example: APN with kernel-gtp
ggsn ggsn0
gtp state-dir /tmp
gtp bind-ip
apn internet
gtpu-mode kernel-gtp
tun-device tun4
type-support v4
ip prefix dynamic
ip dns 0
ip dns 1
ip ifconfig
no shutdown