Re: [5gangip] IPv6 GTP-C/GTP-U

Tom Herbert <tom@herbertland.com> Thu, 25 January 2018 17:38 UTC

Return-Path: <tom@herbertland.com>
X-Original-To: 5gangip@ietfa.amsl.com
Delivered-To: 5gangip@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 78291126DFF for <5gangip@ietfa.amsl.com>; Thu, 25 Jan 2018 09:38:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=herbertland-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yVGM4-mk2oJa for <5gangip@ietfa.amsl.com>; Thu, 25 Jan 2018 09:38:51 -0800 (PST)
Received: from mail-qt0-x22b.google.com (mail-qt0-x22b.google.com [IPv6:2607:f8b0:400d:c0d::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 99E70124D68 for <5gangip@ietf.org>; Thu, 25 Jan 2018 09:38:51 -0800 (PST)
Received: by mail-qt0-x22b.google.com with SMTP id o35so21156585qtj.13 for <5gangip@ietf.org>; Thu, 25 Jan 2018 09:38:51 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=herbertland-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=9WVTagvfNPCWgcGjEfnRPYGYOh+QR1+OkFZ6x5ux5Vc=; b=ws+tk8vBq0Qao4oxT8JdULVkyYO8cE9JfGchSEfEQeLXPpUX/2E6KTcnHKdHS/bcIK UZH9MvWpUSZkz50Ks5Mhrdi84QnF1CUFu8a51G77Hwi85BO3YDHKysjWfrgI8KwBwrdw nl1BY3A69QWdwKQPAvFoMVaFPQ8WNvU3HGf0EcZ5qdByPVUKtg9neaYpd3aDC5ldE4Yp BqN8u+PGTQaD/y61/wc/Ccj5xORLQajlEEXVnyxjBhVvkrNOWpxVFoPHZ7OCLBre1WF6 mcdgNkT6OwYWJftmEHnHdUpzhwzKZSgeHSjQZqFs1HirfsCHOaHmVHlP3OH5VZZUVVSK Rwpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=9WVTagvfNPCWgcGjEfnRPYGYOh+QR1+OkFZ6x5ux5Vc=; b=kMNJ5V75A8uhjwubBr91apMcFJ4HLtJq/OQKAavsdLWRl8gMXOCn5zNNYDAmv7zUB0 LvbPfjBxTnL0T6xfPeVCgF9COGZyJQUv8LI8zuLwA80GeNqyX06dMDvIVNlTTMy5iBm2 dOfBlJmRBsEveGyjYflhqbSBAv4XbDbFml1XDzlWJcH1ZT0+YCWP63zuA1ztwJ/5q0js xKRIL3xXN4xlSOZsSl20aWNorfuv+bqpTRauGHGJDaiFMECSzk7+0ijOxtINQEL7+hH+ JO7oUUwAgcXNVNnUOny7uvVuZiVpgTQ4rrywTk9Egkd2FJ2Fb/Y3/S7K7NfoVdZ/7fzG 42RQ==
X-Gm-Message-State: AKwxytcvAS6yCpvT/PXS+kjshFQMGV7KTXpWhtw+5tuyhfviaAgo6ZcY cY5QhBmZkgO8tKO1fHzmqYm0f7R3qYcQBu/HhQeoig==
X-Google-Smtp-Source: AH8x2279ISUFkSPjGaToUqxn5CyeL9TqxYBFXCS/SiCeKwbCzmgLvqS2eyIGBZrqxFuYlAD6+0EnZ3eL3U4jMdJjJ5w=
X-Received: by 10.55.31.158 with SMTP id n30mr11515584qkh.91.1516901930486; Thu, 25 Jan 2018 09:38:50 -0800 (PST)
MIME-Version: 1.0
Received: by 10.200.56.229 with HTTP; Thu, 25 Jan 2018 09:38:50 -0800 (PST)
In-Reply-To: <73e2edb2-ad90-bdd4-cfcf-8442f08c0c31@gmail.com>
References: <1AFE10CF28AE8B4C9663445736B8034D381C109E@CAFRFD1MSGUSRJI.ITServices.sbc.com> <b11b0ce2-7300-3f8a-883a-7663c18f227d@gmail.com> <D57109449177B54F8B9C093953AC5BCD6D43CDAD@YYZEML702-CHM.china.huawei.com> <af335394-9968-0a11-8147-2136ba578ca9@gmail.com> <BD9465C3-FE96-456E-A04F-0DEE2827CC24@t-mobile.cz> <9b25c915-8849-ac54-4dc6-83f75d891ca5@gmail.com> <e55de93a-8f87-8028-bc79-2b904d034151@earthlink.net> <8b774ae7-3504-f99a-0da2-808ac8e80bfd@gmail.com> <f9e5f43ace5a4cacaf5e0420b36fabb2@HE105831.emea1.cds.t-internal.com> <73e2edb2-ad90-bdd4-cfcf-8442f08c0c31@gmail.com>
From: Tom Herbert <tom@herbertland.com>
Date: Thu, 25 Jan 2018 09:38:50 -0800
Message-ID: <CALx6S356B5OQ4pc8ijhLogO9gaJZYVmvWGEdwnf4VOvZXeYqdw@mail.gmail.com>
To: Alexandre Petrescu <alexandre.petrescu@gmail.com>
Cc: Dirk.von-Hugo@telekom.de, charles.perkins@earthlink.net, 5gangip@ietf.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/5gangip/e0GmZKiITBUWHNtyb97vqvxsrfg>
Subject: Re: [5gangip] IPv6 GTP-C/GTP-U
X-BeenThere: 5gangip@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Discussion of implications of the upcoming 5th Generation \(fixed and\) Mobile communication systems on IP protocols." <5gangip.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/5gangip>, <mailto:5gangip-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/5gangip/>
List-Post: <mailto:5gangip@ietf.org>
List-Help: <mailto:5gangip-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/5gangip>, <mailto:5gangip-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 25 Jan 2018 17:38:54 -0000

On Thu, Jan 25, 2018 at 7:40 AM, Alexandre Petrescu
<alexandre.petrescu@gmail.com> wrote:
>
>
> Le 25/01/2018 à 12:36, Dirk.von-Hugo@telekom.de a écrit :
>>
>> Hi Alex and Charlie,
>> what came to my mind was to ask authors of draft
>> https://tools.ietf.org/html/draft-ietf-intarea-tunnels-08, Joe and Mark,
>> whether they would agree to also include 3GPP protocol GTP (description and
>> issues) in that a draft … what do you think?
>
>
> I find the idea pertinent.
>
> I looked at the intarea-tunnels draft.
>
> I think they list common characteristics of Internet tunnels, but they stop
> short from describing a particular tunnel in detail.  Rather, they refer to
> RFCs.
>
> The draft intarea-tunnels does talk about design issues in UDP
> encapsulation, issues which are pertinent to GTP, e,g, checksums,
> fragmentation, etc.
>
> Maybe the intarea-tunnels could benefit from a draft that describes GTP-U.
>
Alex,

I can give a perspective from a programmer of Internet protocols point of view.

In Linux, we have a lot of kernel support for IP/IP encapsulations
(IP/IP, GRE, MPLS, etc). We also support many UDP encapsulations (GUE,
Geneve, VXLAN, GRE/UDP, MPLS/UDP, etc.). A considerable amount of
effort has been done to optimize UDP encapsulations
(https://people.netfilter.org/pablo/netdev0.1/papers/UDP-Encapsulation-in-Linux.pdf).
Mostly, implementation is straightforward: listen on a UDP socket,
handle checksum consistently, process encapsulation headers,
decapsulate and receive inner packet. Packet steering (ECMP), checksum
offload, and SW segmentation offload are common features. Typically,
there is a way to run an encapsulation as a simple virtual interface
(to isolate and develop datapath) with no control plane daemon and no
special hardware. Support for both IPv4 and IPv6 is expected from day
one.

GTP-U is nonconformant compared to other UDP encapsulations. Support
was added to Linux in 2016. This was IPv4 only and required a control
daemon (openggsn originally). It also lacked common accelerations of
other protocols. Last year, I worked on this to: 1) allow using GTP to
be configured as simple network interface 2) support common offloads
3) support IPv6 (v6/v4,v4/v6,v6/v6).

The last point is where I hit problems. My expectation was that
supporting IPv6 should be straightforward, changing interfaces and
protocol implementations to use IPv6 addresses. This was not the case.
The feedback was that a lot is required in the control plane and many
3GPP specs need to be read. Unfortunately, I didn't have time to
pursue this so the patch set was dropped. To date, there's no IPv6 GTP
support and several common features are lacking relative to other UDP
encapsulations.

An RFC certainly would have be helpful in this exercise, if nothing
else to normalize GTP to make it seem like just another UDP
encapsulation (which is a good property). IMO, a GTP-U draft should be
standalone protocol specification so that anyway could implement it
and compare its behavior and properties to other UDP encapsulation
defined in IETF. I don't believe there could be normative references
to 3GPP documents, and this doesn't seem like a WG item but maybe
should be an independent submission.

> Or maybe the GTP-U description could go into that intarea-tunnels draft.
>
That seems reasonable as a bullet point in the intro with the list of
other protocols. Conversely, a GTP-U draft should reference the
intarea-tunnels draft as requirements of IP tunnels. It should also
reference other RFCs on interactions between tunneling and IP
protocols (e.g. RFC2983, RFC6040, RFC4459). The outer UDP checksum
needs careful consideration if it is to be set to zero. RFC6935 and
RFC6936 describe requirements for a zero UDPv6 checksum and RFC8086
(GRE/UDP) section 6.2 is an example of how a protocol applies these
requirements.

>> Perhaps for that we could rely on existing old drafts mentioned below?
>
>
> Maybe the intarea-tunnels draft could refer to draft-casati-gtp-00 of year
> 2000. But if we suggest this to them, I am afraid they would object, because
> typically one needs all the References in a draft to be up to date before
> being able to advance that draft.
>
draft-casati-gtp-00 is very scant and nothing close to being a
specification that someone could take and implement. It would need a
lot of work to be a useful reference.

Tom