On Tue, May 10, 2016 at 10:16:33AM -0700, Tom Herbert wrote:
On Tue, May 10, 2016 at 9:27 AM, David Miller davem@davemloft.net wrote:
From: Pablo Neira Ayuso pablo@netfilter.org Date: Mon, 9 May 2016 00:55:48 +0200
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.
Is there a timeline for adding IPv6 support?
There is a preliminary kernel patch to add IPv6 that seems to be untested yet, I can share it with you or anyone else want to have a look. Specifically, there are missing bits on the netlink side of the PDP context database to support SGSN and MS IPv6 address, but that shouldn't be much of a problem.
On the userspace side, the userspace daemon OpenGGSN still doesn't support IPv6. Adding IPv6 support to this daemon is a bit of a PITA, several people using it in production told me that the daemon runs stable for production, but from a developer perspective the current codebase look not easy to extend (quite many stuff very IPv4 specific, I already spend time trying to refactor it two years ago to prepare this support). Meanwhile, this triggered a new daemon daemon implementation osmo-ggsn to replace it, I posted a proof-of-concept on the openbsc mailing list, but nobody jumped on this to support this development effort so far.