gtp: add initial driver for datapath of GPRS Tunneling Protocol (GTP-U)
authorPablo Neira <pablo@netfilter.org>
Sun, 8 May 2016 22:55:48 +0000 (00:55 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 10 May 2016 16:25:04 +0000 (12:25 -0400)
commit459aa660eb1d8ce67080da1983bb81d716aa5a69
tree4c109121a7894781048385e104036fb6cd6820ff
parentc047c3b1af6214b447e353527e394fa3f3e86397
gtp: add initial driver for datapath of GPRS Tunneling Protocol (GTP-U)

This is an initial implementation of a netdev driver for GTP datapath
(GTP-U) v0 and v1, according to the GSM TS 09.60 and 3GPP TS 29.060
standards. This tunneling protocol is used to prevent subscribers from
accessing mobile carrier core network infrastructure.

This implementation requires a GGSN userspace daemon that implements the
signaling protocol (GTP-C), such as OpenGGSN [1]. This userspace daemon
updates the PDP context database that represents active subscriber
sessions through a genetlink interface.

For more context on this tunneling protocol, you can check the slides
that were presented during the NetDev 1.1 [2].

Only IPv4 is supported at this time.

[1] http://git.osmocom.org/openggsn/
[2] http://www.netdevconf.org/1.1/proceedings/slides/schultz-welte-osmocom-gtp.pdf

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/Kconfig
drivers/net/Makefile
drivers/net/gtp.c [new file with mode: 0644]
include/net/gtp.h [new file with mode: 0644]
include/uapi/linux/Kbuild
include/uapi/linux/gtp.h [new file with mode: 0644]
include/uapi/linux/if_link.h
include/uapi/linux/udp.h