Hi Tom,
----- On Sep 2, 2017, at 6:51 PM, Tom Herbert tom(a)quantonium.net wrote:
On Sat, Sep 2, 2017 at 1:29 AM, Harald Welte
<laforge(a)gnumonks.org> wrote:
Hi Tom,
On Fri, Sep 01, 2017 at 04:27:22PM -0700, Tom Herbert wrote:
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
still
has to be done. We've been trying hard since 2008 inside Osmocom, but as
indicated
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?
Yes.
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 [1].
A more ready to run packaged solution it at [2].
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.
Regards
Andreas
[1]:
https://github.com/travelping/ergw
[2]:
https://github.com/travelping/ergw-gtp-c-node