Re: [Int-area] Why combine IP-in-UDP with GUE?

Tom Herbert <tom@herbertland.com> Thu, 30 April 2015 20:08 UTC

Return-Path: <tom@herbertland.com>
X-Original-To: int-area@ietfa.amsl.com
Delivered-To: int-area@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2BA521A906A for <int-area@ietfa.amsl.com>; Thu, 30 Apr 2015 13:08:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.978
X-Spam-Level:
X-Spam-Status: No, score=-1.978 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham
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 sNOtWD5_eKSL for <int-area@ietfa.amsl.com>; Thu, 30 Apr 2015 13:08:55 -0700 (PDT)
Received: from mail-ig0-f181.google.com (mail-ig0-f181.google.com [209.85.213.181]) (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 2652D1A0181 for <int-area@ietf.org>; Thu, 30 Apr 2015 13:08:55 -0700 (PDT)
Received: by igbyr2 with SMTP id yr2so24093471igb.0 for <int-area@ietf.org>; Thu, 30 Apr 2015 13:08:54 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=C7q4z0znpsVv/FFRJRx3N1crCLIwGC4wJoDu+QoSovA=; b=QPm6UkhRPCRuvmXUbWMFYY8HR8PTKdcm9NjtllVyG9zohp7n9InVfkeGQflG+VzpPx lP7pIFRu2ITMecrSH3HOR1uOnRuYh32c3aSBzNdJWxRmetBYTJ0Psk2A+D8AzreGPQcH s4y+YPkQujmWopJELGmE0aoOu46FHbD6PKvyeV4zBvqsIYysWQ2jALpcFtHHmhBOVerD rhWBZJ5pwwVkJ9dNS9wVasRDCPIWJsk6IAY8k2/zgWJ9RLBmRXbDzManhuBMxGzpHhnd Yhz3zMMQJkfSbgvR8gbEpDZkeO7LBD+oc5bCKWZAXzEBbP3eaQtRZiksQRGOHpjWXAMm +QRA==
X-Gm-Message-State: ALoCoQloFQd+y3itvCqH1L7oFbxDvqJLIJNYbvMogoyQf8xsdQGLcvNenNWChx1+KMPMb4gKxyaj
MIME-Version: 1.0
X-Received: by 10.107.128.149 with SMTP id k21mr7831472ioi.7.1430424534552; Thu, 30 Apr 2015 13:08:54 -0700 (PDT)
Received: by 10.107.160.2 with HTTP; Thu, 30 Apr 2015 13:08:54 -0700 (PDT)
In-Reply-To: <2134F8430051B64F815C691A62D9831832E5715A@XCH-BLV-504.nw.nos.boeing.com>
References: <2134F8430051B64F815C691A62D9831832E52736@XCH-BLV-504.nw.nos.boeing.com> <2134F8430051B64F815C691A62D9831832E53CE0@XCH-BLV-504.nw.nos.boeing.com> <553EC152.1020108@isi.edu> <CALx6S36XoVci4OCnejZ2w5SXCFPTL4wpjyn6yHRdWe5EJ4k+hw@mail.gmail.com> <553EC75B.2070706@isi.edu> <CALx6S36eMXKfZfB3W07TyEBg_V=71543gEoRHKCjcoxzx1L+Dg@mail.gmail.com> <553FC3BD.7000008@isi.edu> <CALx6S35T_yn5k0KnYsaw3DL3MHiFSkh-g36-R5OX6RGJy-jgzg@mail.gmail.com> <2134F8430051B64F815C691A62D9831832E5451E@XCH-BLV-504.nw.nos.boeing.com> <2691CE0099834E4A9C5044EEC662BB9D571649FD@dfweml701-chm> <553FD17B.1010308@isi.edu> <2691CE0099834E4A9C5044EEC662BB9D57164A32@dfweml701-chm> <553FD80C.9080705@isi.edu> <2691CE0099834E4A9C5044EEC662BB9D57164A6A@dfweml701-chm> <553FEA20.8020407@isi.edu> <2691CE0099834E4A9C5044EEC662BB9D57164B7B@dfweml701-chm> <2134F8430051B64F815C691A62D9831832E5497A@XCH-BLV-504.nw.nos.boeing.com> <2134F8430051B64F815C691A62D9831832E549A0@XCH-BLV-504.nw.nos.boeing.com> <55408907.20707@cisco.com> <2691CE0099834E4A9C5044EEC662BB9D57164FB5@dfweml701-chm> <2134F8430051B64F815C691A62D9831832E55EA1@XCH-BLV-504.nw.nos.boeing.com> <2691CE0099834E4A9C5044EEC662BB9D57164FD6@dfweml701-chm> <2134F8430051B64F815C691A62D9831832E56F05@XCH-BLV-504.nw.nos.boeing.com> <CALx6S36WrK2JjczFog2m3hDvxe=KSM-OX8mmEOTHCLnx_F6JCw@mail.gmail.com> <2134F8430051B64F815C691A62D9831832E57097@XCH-BLV-504.nw.nos.boeing.com> <CALx6S342Q-d=a-Vzm3pP-RHR9UcR41p+qBzW2A3dQrRvGxJDFQ@mail.gmail.com> <2134F8430051B64F815C691A62D9831832E5715A@XCH-BLV-504.nw.nos.boeing.com>
Date: Thu, 30 Apr 2015 13:08:54 -0700
Message-ID: <CALx6S34r=EDTEh2Jj4G1FdiAEbgfEh6MwPK+t7nv48Fc2yx1Ow@mail.gmail.com>
From: Tom Herbert <tom@herbertland.com>
To: "Templin, Fred L" <Fred.L.Templin@boeing.com>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <http://mailarchive.ietf.org/arch/msg/int-area/PbMpLyUOmVNcBI_azWM2zPhXBSE>
Cc: "int-area@ietf.org" <int-area@ietf.org>
Subject: Re: [Int-area] Why combine IP-in-UDP with GUE?
X-BeenThere: int-area@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF Internet Area Mailing List <int-area.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/int-area>, <mailto:int-area-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/int-area/>
List-Post: <mailto:int-area@ietf.org>
List-Help: <mailto:int-area-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/int-area>, <mailto:int-area-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 30 Apr 2015 20:08:57 -0000

On Wed, Apr 29, 2015 at 10:20 AM, Templin, Fred L
<Fred.L.Templin@boeing.com> wrote:
> Hi Tom,
>
>> -----Original Message-----
>> From: Tom Herbert [mailto:tom@herbertland.com]
>> Sent: Wednesday, April 29, 2015 10:13 AM
>> To: Templin, Fred L
>> Cc: Lucy yong; stbryant@cisco.com; int-area@ietf.org
>> Subject: Re: [Int-area] Why combine IP-in-UDP with GUE?
>>
>> On Wed, Apr 29, 2015 at 9:28 AM, Templin, Fred L
>> <Fred.L.Templin@boeing.com> wrote:
>> > Hi Tom,
>> >
>> >> -----Original Message-----
>> >> From: Tom Herbert [mailto:tom@herbertland.com]
>> >> Sent: Wednesday, April 29, 2015 9:00 AM
>> >> To: Templin, Fred L
>> >> Cc: Lucy yong; stbryant@cisco.com; int-area@ietf.org
>> >> Subject: Re: [Int-area] Why combine IP-in-UDP with GUE?
>> >>
>> >> On Wed, Apr 29, 2015 at 7:50 AM, Templin, Fred L
>> >> <Fred.L.Templin@boeing.com> wrote:
>> >> > Hi Lucy,
>> >> >
>> >> >> -----Original Message-----
>> >> >> From: Lucy yong [mailto:lucy.yong@huawei.com]
>> >> >> Sent: Wednesday, April 29, 2015 7:48 AM
>> >> >> To: Templin, Fred L; stbryant@cisco.com; int-area@ietf.org
>> >> >> Subject: RE: [Int-area] Why combine IP-in-UDP with GUE?
>> >> >>
>> >> >>
>> >> >> Getting back to our earlier discussion, IP-in-UDP and GUE are currently two half-solutions. Put them together and you get a
>> whole
>> >> >> solution.
>> >> >> Keep them apart, and someone else is going to have to write a whole solution sometime down the line from now.
>> >> >> [Lucy] GUE can support IP payload. Don't know why you state that they are two half-solutions. Is the compression a mandatory
>> >> >> requirement here? I think that IP-in-UDP proposal as a compression version is better that use of first nibble. However we need
>> >> clarify
>> >> >> what limitation and constraint the compression solution has.
>> >> >
>> >> > GUE is missing header compression, and IP-in-UDP is missing tunnel
>> >> > fragmentation. That is what I mean when I say that if combined you
>> >> > get a whole solution.
>> >> >
>> >> Adding this header compression just adds a whole bunch of complexity
>> >
>> > The only additional requirement is to check the first nibble of the
>> > UDP-encapsulated payload.
>> >
>> >> to the protocol to save a grand total of four bytes for what is likely
>> >> a very narrow use case. This is not applicable when GUE is used for
>> >> network virtualization, we are encapsulating something other than IP,
>> >> we need OAM, or using any other feature of GUE. In my deployment, I
>> >> don't have any use case for that since minimally I will be using
>> >> remote checksum offload option because that does give a material
>> >> performance advantage.
>> >
>> > What you have just done is spelled out specific use cases that
>> > require special-purpose solutions - that is not "generic".
>> >
>> >> The premise of GUE is simple, it has a simple header that encapsulates
>> >> any IP protocol expressed by IP protocol number and allows optional
>> >> extensions and control packets-- let's keep it simple! If saving those
>> >> four bytes is really important in some deployment and GUE is still
>> >> needed in certain case, then just use GUE and IP-in-UDP in tandem.
>> >
>> > That would require two different UDP port numbers as opposed to
>> > checking the first nibble, which there was some earlier discussion
>> > about. If you want to call something "generic", then why not make it
>> > truly generic?
>> >
>>
>> It already is generic. Encapsulation of IPv4 and IPv6 is already
>> implemented and deployed. Including this optimization does not make
>> the protocol more generic.
>
> If it is deployed before the document is published as an RFC, then
> the deployed base would have to be updated to match the eventual
> RFC anyway.
>
>> Anyway, if you want to proceed with this please provide a specific
>> proposal on how do to it.
>
> Change the GUE header to treat the first nibble as a next header
> selector. 4 means IPv4, 6 means IPv6 and X means GUE.
>
Okay, thinking about this some more, I suppose we can actually support
direct IP encapsulation just by defining GUE version 0x1 to be direct
IP encapsulation. eg. 01 indicates IP encapsulation, 0100 0110 are
IPv4 and IPv6. This burns one version number and requires a subtle
change in the GUE draft to make it clear that the GUE version defines
defines everything after it, but it is forward compatible and doesn't
impact real GUE.

> Thanks - Fred
> fred.l.templin@boeing.com
>
>> Tom
>>
>> > Thanks - Fred
>> > fred.l.templin@boeing.com
>> >
>> >> Tom
>> >>
>> >> > Thanks - Fred
>> >> > fred.l.templin@boeing.com
>> >> >
>> >> >> Lucy
>> >> >>
>> >> >> Thanks - Fred
>> >> >> fred.l.templin@boeing.com
>> >> >>
>> >> >> > However, if GUE payload is
>> >> >> > IP, it is OK to inspect the first nibble of the payload to determine IPv4 or IPv6 because this aligns with IP protocol.
>> >> >> >
>> >> >> > Thanks,
>> >> >> > Lucy
>> >> >> >
>> >> >> > - Stewart
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > _______________________________________________
>> >> >> > Int-area mailing list
>> >> >> > Int-area@ietf.org
>> >> >> > https://www.ietf.org/mailman/listinfo/int-area
>> >> >> >
>> >> >> > _______________________________________________
>> >> >> > Int-area mailing list
>> >> >> > Int-area@ietf.org
>> >> >> > https://www.ietf.org/mailman/listinfo/int-area
>> >> >
>> >> > _______________________________________________
>> >> > Int-area mailing list
>> >> > Int-area@ietf.org
>> >> > https://www.ietf.org/mailman/listinfo/int-area