GTP-C v2 in open grps
aschultz at tpip.net
Mon Sep 4 09:57:22 UTC 2017
----- On Sep 2, 2017, at 6:51 PM, Tom Herbert tom at quantonium.net wrote:
> On Sat, Sep 2, 2017 at 1:29 AM, Harald Welte <laforge at gnumonks.org> wrote:
>> Hi Tom,
>> On Fri, Sep 01, 2017 at 04:27:22PM -0700, Tom Herbert wrote:
>>> > * nwGTPv2c which is originally from https://sourceforge.net/projects/nwepc/
>>> > and has also been used in OAI at
>>> > https://gitlab.eurecom.fr/oai/openair-cn/tree/master/SRC/GTPV2-C/nwgtpv2c-0.11
>>> I looked at that, it's pretty minimal for our purposed.
>> Welcom to the (cellular) telecom world. Feels like the state of Linux in the
>> mid-1990ies: Some minimal FOSS implementations exist, but most of the work
>> has to be done. We've been trying hard since 2008 inside Osmocom, but as
>> so far no 4G related contributions (financially or in terms of code).
>>> My user requires GTPv2 (i.e. this is for 4G network). My interest here
>>> is really to do development on the user plane,
>> Are we talking about FOSS development here?
>>> but we need a GTP-C to at least prototype something for their network.
>> What exactly do you want to prototype? Which of the many GTPv2-C
>> transactions do you need? I guess if you can deal e.g. without
>> relocation, then the complexity is quite reduced.
> I need the control plane to be able to develop the data path. The
> ultimate goal of our project is to an implement and ILA data path;
> that is use it instead of GTP-U tunneling but still have the GTP-C
> control plane. The support we need starts out simple, just create a
> data path and demonstrate the benefits (maybe as much that is in
> nwgtpv2). As we proceed, obviously we'll want to prototype more of the
> capabilities such as handover. That being said, this is just a
> prototype for now!
GTPv2 control plane including GGSN/PGW handover works in erGW .
A more ready to run packaged solution it at .
It does support the kernel module for the data path and I would be
willing to help with getting a GGSN/PGW up and running, and implement
the IPv6 support in the control path (Erlang world).
I don't have the time right now to get into the data path implementation.
> How much effort do you think it would be to implement GTPv2-C?
As always, the problems are in the details and they are not obvious
from reading the specification.
>>> Also, we'd like the kernel support for GTP-U (including IPv6 which I
>>> suppose is still outstanding).
>> correct. We've just added user-plane IPv6 support to openggsn in
>> userspace, v6 user plane (or even transport plane) in kernel GTP is
>> still another area looking for contributions.
> What is the difference between user plane and transport plane?
Control plane of GTPv2, data/transport plane is GTPv1. There is
no GTPv2 for the data/transport plane.
> I'm looking at the GTP kernel code, it seems to be pretty
> straightforward to add IPv6, and the common offloads and I could look
> at that once I figure out a solution for using GTP-C v2.
The tricky parts might be the handling to IPv6 address delegations. But
I haven't really looked at it, yet.
More information about the osmocom-net-gprs