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