Hi,
Some time ago, Pablo Neira Ayuso wrote a GTP-U kernel module and OpenGGSN
support for it. The OpenGGSN side is easily available in the osmocom git [1].
The kernel part is somewhat harder to find, but it's at [2].
It seems that both sides are at 70% completion and only somewhat working.
I have played with the kernel module, changed a couple things and would
like to get some feedback on my changes.
It can be found at:
https://github.com/RoadRunnr/osmo-ggsn
Things I've changed:
* requires kernel from net-next (or 4.3)
* convert to use the existing kernel iptunnel infrastructure
* fix GTP-u v1 TEI usage (we need one TEI for RX and another one
for TX)
* use UDP sockets passed from userland for sending (instead of
direct push to network interface)
* fix resource release on GTP-U socket shutdown
* release all resource on module removal
The module currently works with a proof-of-concept GGSN/PGW implemented
in Erlang (will post once the licensing is sorted). OpenGGSN will need
some small changes (will post soon).
Andreas
[1]:
http://git.osmocom.org/openggsn/
[2]:
http://git.sysmocom.de/osmo-ggsn