[ovs-dev] GTP support to OVS upstream

Joe Stringer joe at ovn.org
Thu Jul 6 14:17:24 UTC 2017


On 5 July 2017 at 02:37, Wieger IJntema <wieger.ijntema.tno at gmail.com> wrote:
> Dear Developers,
>
> I would like to start a discussion to actually get native GTP tunneling
> support in Openvswitch keeping it still compatible with the current
> OpenFlow standard.
> https://en.wikipedia.org/wiki/GPRS_Tunnelling_Protocol
>
> I the past there has been a patch for OVS to actually have GTP support.
> https://www.mail-archive.com/dev@openvswitch.org/msg56446.html, Feb 2016?,
> Niti Rohilla, OVS 2.5.0
> Main concern was that there was no Linux upstream GTP support.
>
> This work is updated to work with version OVS 2.6.1
> https://github.com/ashishkurian/ovs, Dec 2016, Ashish Kurian, OVS 2.6.1
> I have tested it extensively if all nodes use the samen OVS version with
> GTP support it works good!
>
> It is just working like Lisp or GRE tunneling and you can set the key with
> the set "tunnel_id" command from openflow.
> I have used RYU as a controller to control multiple OVS switches with GTP
> tunneling.
>
> In mobile networks research there is a lot interest to get GTP support in
> OVS.
> Especially in development towards 5G mobile network, where Openflow is
> considered a protocol to be used there as switch-controller protocol.
> I'm currently testing this in "pre 5G" Core solution where GTP
> encapsulation is done by OVS.
>
> From OSMOCOM.org there is now an GTP-U (GTP userplane) Linux upstream
> implementation and it think we can use it together with the Openvswitch GTP
> patch to get native GTP-U support in OVS.
> https://osmocom.org/projects/linux-kernel-gtp-u/wiki, Since linux kernel
> v4.7.0
> https://www.kernel.org/doc/Documentation/networking/gtp.txt
> http://elixir.free-electrons.com/linux/v4.8.9/source/drivers/net/gtp.c
>
> I would like to start working on this, if you guys have suggestions or
> reservations please let me know.

Hi Wieger,

Thanks for writing this up. I believe that there are quite a few
people in the community who are interested in some kind of GTP
integration with OVS and the above looks like it accurately describes
the current status of GTP today. Now that there is an upstream GTP
tunnel device, a large part of the work is most likely already
completed, but I know that for instance the implementation you pointed
to in OVS uses the OVS 'set tunnel' action which sets up metadata_dst
on the skb, whereas the upstream Linux GTP implementation does not
have support for this. Probably it needs to be extended with something
similar to the IFLA_GRE_COLLECT_METADATA flag that GRE devices have.
If you're using OVS to define the entire PDP context in the metadata,
then presumably OVS needs to be informed of this information from
somewhere and therefore there needs to be some co-ordination with your
SGSN/GGSN software that's handling GTP-C. I don't have any particular
ideas about how that should work.

Cheers,
Joe


More information about the dev mailing list