Re: [nvo3] Working Group Last Call and IPR Poll for draft-ietf-nvo3-geneve-08.txt

Greg Mirsky <gregimirsky@gmail.com> Fri, 26 October 2018 03:36 UTC

Return-Path: <gregimirsky@gmail.com>
X-Original-To: nvo3@ietfa.amsl.com
Delivered-To: nvo3@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 74E73130DC9; Thu, 25 Oct 2018 20:36:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 1EaIkHQtkpGN; Thu, 25 Oct 2018 20:35:58 -0700 (PDT)
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com [IPv6:2a00:1450:4864:20::22a]) (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 5FE4212DD85; Thu, 25 Oct 2018 20:35:57 -0700 (PDT)
Received: by mail-lj1-x22a.google.com with SMTP id o14-v6so10215985ljj.2; Thu, 25 Oct 2018 20:35:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=tbTKgvQEV3Cu20ma6h6ECBs9cCgIgyn0d72J8j8/sa4=; b=qXfjM0VdVJxjNJjbdjsB90/ro2Z6YEbNvRudp+ohO6Rurs9ndj7HJrFt7LtxiWNoyT juyiOrIZbyQzVx88Dn5bjgzcfvB2Yz5700ADwFRVFSTO62uZweS+yNdGcx6ucbZLCvCN 5PTwGVfpBsfDAuI/JgqAj76Ma4Jgr/MI2Q8lAH110pXCUlVVWE9na4HyxtrjhYzCWP6b U8E2K+LUhidFN/chIYB+A7QWbUAjkekNIeJCsNt5PjFXw9RNyKkdaqkD8UzKqtbf3dyb MdF4zaaPDJRpUonfVUG5BuMxUBzKYvs5MSgXTOW/0zrHWRAsQddMp/i9/PFDe0Ue9cBp XU+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=tbTKgvQEV3Cu20ma6h6ECBs9cCgIgyn0d72J8j8/sa4=; b=bk3b+r4jaG9wA9GXz3U3a6rsV6vWMbAZ/P/BOb3RhJstX5t/mwMn9gmA9jFEb3I7Jg IBZ7raKKQflmKCX1rpGAh3Vz9OVaM2l6dsDgdQiQ+gO3Ocw3QVHXop9nzjOTPh2qqj9v 9otEdKZLRLQO1FoELyFoth60gtsfXT9zmXXo1hNYZe/7b39lYnz/ydTTV+dpeCd1jxsJ atH5ZP57DvQjr3AtAx+r+sdJQNafXwnMYwhDIfkXDtzkC9Ug0WBdepYlpjKcGs9fvlzN g1O1WKRrCMI8xJC5OydMFsXAX71GsBgN5McaQGMY9KdIplfIPspkpXytGEZJZLuF5FXs z8TQ==
X-Gm-Message-State: AGRZ1gJeQv8/D8Izt0gby+kMudMFTRE+DtzsVASbIOeAR+6Io9IgUUpw Kr2DlGFaGmW2yapV89xsK+ql8oBPIsSbTZ6rCfI=
X-Google-Smtp-Source: AJdET5e7eWI0BJBV87P4S3pTylv2WpycoWQFq+Xc1uiWsrTXYO6P8n1K4Fm72Myn1zS3SXc2hBa+fEqlgbhHKaETyP4=
X-Received: by 2002:a2e:484:: with SMTP id a4-v6mr1078116ljf.27.1540524955277; Thu, 25 Oct 2018 20:35:55 -0700 (PDT)
MIME-Version: 1.0
References: <C35AB375-99DA-4629-8D67-D8991FF69434@nokia.com> <CA+RyBmXLXerc7CmsT71XK31CL-Hd75tm=vw9te5=4+7jvea_og@mail.gmail.com> <CAEh+42ik9WbAhxa+SjDxV4scEEaFfvACw4PWvLHLYcO04gAV1A@mail.gmail.com> <CA+RyBmXYTj=1NPxnk66cgf0Ci=FWe=u7zfX+beLkBwogKW5eCw@mail.gmail.com> <CAEh+42jkv50vnDtF5C+oGJU-V3UOrP1KvrEF2F6Xo2uKrSFhyA@mail.gmail.com> <CA+RyBmWiJDrRUaNq0ZLRVkvQE+0UAdp2a8ryQeGG7VP6n8av6w@mail.gmail.com> <C560D21D-1A4A-4CF9-9D01-F2727AE87CE3@nokia.com> <CAEh+42jFMqnRvd4c2DRtoLvAP=XjomDDu1Xrbmhg-qYVD8DrwA@mail.gmail.com>
In-Reply-To: <CAEh+42jFMqnRvd4c2DRtoLvAP=XjomDDu1Xrbmhg-qYVD8DrwA@mail.gmail.com>
From: Greg Mirsky <gregimirsky@gmail.com>
Date: Thu, 25 Oct 2018 20:35:43 -0700
Message-ID: <CA+RyBmVjNL38dSkS5YF_2JKt6O_s6Ghmq=t=V4oS=DTZ-z8tbg@mail.gmail.com>
To: jesse@kernel.org
Cc: "Bocci, Matthew (Nokia - GB)" <matthew.bocci@nokia.com>, NVO3 <nvo3@ietf.org>, draft-ietf-nvo3-geneve@ietf.org
Content-Type: multipart/alternative; boundary="000000000000ba1e340579196a53"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nvo3/li4D62KcxjX96tQidv35Ha1aP-Q>
Subject: Re: [nvo3] Working Group Last Call and IPR Poll for draft-ietf-nvo3-geneve-08.txt
X-BeenThere: nvo3@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Network Virtualization Overlays \(NVO3\) Working Group" <nvo3.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nvo3>, <mailto:nvo3-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nvo3/>
List-Post: <mailto:nvo3@ietf.org>
List-Help: <mailto:nvo3-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nvo3>, <mailto:nvo3-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 26 Oct 2018 03:36:01 -0000

Hi Jesse,
I think that directing the O-bit to identify the presence of "a control
message" would require the definition of the control message or, at least,
some examples. Another question may arise to the interpretation of "packet
contains a control message". Can other, non-control messages, be present in
the packet with O-bit set? I can only re-state my proposal I've shared
earlier:

   - release O-bit to Reserved pool
   - defer discussion of OAM in Geneve to the future work.

Regards,
Greg

On Thu, Oct 25, 2018 at 3:24 PM Jesse Gross <jesse@kernel.org> wrote:

> Hi Matthew,
>
> Thank you for the suggestion. We've been thinking about it and believe
> that this can address everyone's concerns. The description of this bit
> already references control messages rather than OAM, so that name
> seems like a more accurate reflection of its purpose. It also allows
> the flexibility for OAM to be specified separately by not commingling
> the two concepts, as Greg mentioned.
>
> We will edit the text to read:
>
>    O (1 bit):  Control packet.  This packet contains a control message.
>       Control messages are sent between
>       Geneve endpoints.  Endpoints MUST NOT forward the payload and
>       transit devices MUST NOT attempt to interpret or process it.
>       Since these are infrequent control messages, it is RECOMMENDED
>       that endpoints direct these packets to a high priority control
>       queue (for example, to direct the packet to a general purpose CPU
>       from a forwarding ASIC or to separate out control traffic on a
>       NIC).  Transit devices MUST NOT alter forwarding behavior on the
>       basis of this bit, such as ECMP link selection.
>
> Jesse
>
> On Fri, Oct 19, 2018 at 3:26 AM Bocci, Matthew (Nokia - GB)
> <matthew.bocci@nokia.com> wrote:
> >
> > Greg, Jesse
> >
> >
> >
> > Is there any value in renaming the O bit to something more generic to
> indicate that it is really acting as an exception mechanism to tell the
> terminating NVE to process the packet in its control plane, rather than
> forward it or imply something about the protocol. It seems that its
> function is more aligned with the GAL or ‘0001b’ nibble in the PW-ACH.
> >
> >
> >
> > Matthew
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > From: Greg Mirsky <gregimirsky@gmail.com>
> > Date: Thursday, 18 October 2018 at 16:21
> > To: "jesse@kernel.org" <jesse@kernel.org>
> > Cc: "Bocci, Matthew (Nokia - GB)" <matthew.bocci@nokia.com>, NVO3 <
> nvo3@ietf.org>, "draft-ietf-nvo3-geneve@ietf.org" <
> draft-ietf-nvo3-geneve@ietf.org>
> > Subject: Re: [nvo3] Working Group Last Call and IPR Poll for
> draft-ietf-nvo3-geneve-08.txt
> >
> >
> >
> > Hi Jesse,
> >
> > thank you for kind consideration of my comments and I'm looking forward
> to the updated definition of the O-bit flag. In the meantime, I'll note
> that using the flag to indicate that the payload, e.g., Ethernet frame of
> IP packet, contains OAM message, e.g., CCM or BFD, seems unnecessary to me.
> Consider that Ethernet uses EtherTypeand IP uses port number to demultiplex
> OAM. I imagine that the egress Geneve node will terminate a packet and
> realize that the payload, the frame or the packet, is addressed to it. Then
> the type will be properly identified and acted upon. In MPLS we use IP/UDP
> encapsulation for BFD and Ping, and over VXLAN have to add Ethernet header
> to IP/UDP encapsulated BFD control message. At the same time, MPLS label
> stack may include GAL special label that indicates that the label stack is
> followed by the Generic Associated Channel header, which includes the
> Channel Type field to demultiplex the payload. In this case, IP/UDP
> encapsulation is not used.
> >
> > Apologies if my example came out too wordy. My point is that if Geneve
> identifies the payload as OAM, there's no an apparent benefit in having the
> payload encapsulated in one of the network layers.
> >
> >
> >
> > Regards,
> >
> > Greg
> >
> >
> >
> > On Wed, Oct 17, 2018 at 2:14 PM Jesse Gross <jesse@kernel.org> wrote:
> >
> > On Wed, Oct 17, 2018 at 1:32 PM Greg Mirsky <gregimirsky@gmail.com>
> wrote:
> > > On Wed, Oct 17, 2018 at 11:31 AM Jesse Gross <jesse@kernel.org> wrote:
> > >>
> > >> Greg,
> > >>
> > >> The 'O' bit does not override or interact with the Protocol Type
> > >> field, so there is no issue with precedence. It is possible to
> > >> implement OAM on Geneve using options, in which case the payload could
> > >> be a stub of a packet to ensure consistent behavior between OAM and
> > >> data packets as has been done with other protocols. In this situation,
> > >> the Protocol Type would still indicate the type of the stub packet as
> > >> usual. It is also possible to implement OAM using the payload of the
> > >> packet as you describe and the Protocol Type would indicate that using
> > >> an EtherType assigned for this purpose.
> > >
> > > GIM>> If understand you correctly, O-bit indicates presence of OAM
> TLV(s) not the type of the payload. But, in my opinion, that is not how the
> O-bit is currently defined:
> > >  O (1 bit):  OAM packet.  This packet contains a control message
> instead of a data payload.
> > > The definition is the definition of a packet in active OAM per RFC
> 7799 but your description suggests that the O-bit only characterizes the
> content of TLVs, not of the payload of the Geneve packet. Would you agree?
> >
> > No, I am not saying that the bit indicates the presence of OAM TLVs.
> > TLVs are always processed in the usual way by looking at the Opt Len
> > field and the individual TLV header fields. The 'O' bit does not
> > change this, similar to how it does not change the Protocol Type
> > field.
> >
> > I think we can rework the first sentence to simply say something like
> > "This packet is a control message." As you point out, the text about
> > "instead of a data payload" is confusing because the bit does not
> > impact the processing of the payload.
> >
> > > GIM>> In addition, yes, TLV may be used to implement OAM but, as I
> believe, it would not support all requirements usually set for OAM. For
> example, because the length of the Value field is limited TLV could not
> support testing with synthetic packets of large size. You can find more
> details in draft-mirsky-rtgwg-oam-identify.
> >
> > This is a good example of a use for a stub of packet that I mentioned
> > earlier. However, that does not mean that the OAM instructions also
> > need to be in the payload. They can still be in a TLV and then a
> > synthetic payload is present. I believe that this is the cleanest
> > implementation because it keeps everything consistent between OAM and
> > non-OAM packets and active and passive OAM.
> >
> > Although I prefer the use of TLVs for OAM, it is possible to implement
> > OAM using a shim layer in the payload as well - Geneve has the
> > flexibility to do it both ways and the behavior of the 'O' bit remains
> > the same.
> >
> > >> In either case, the meaning of the 'O' bit is the same and it only
> > >> affects the behavior of endpoint devices processing OAM. Most devices
> > >> are oblivious to this and will simply use the Protocol Type field to
> > >> process the payload as usual. The appropriate behavior for 'O' bit
> > >> flagged packets is described in the draft:
> > >>
> > >>       Endpoints MUST NOT forward the payload and
> > >>       transit devices MUST NOT attempt to interpret or process it.
> > >>       Since these are infrequent control messages, it is RECOMMENDED
> > >>       that endpoints direct these packets to a high priority control
> > >>       queue (for example, to direct the packet to a general purpose
> CPU
> > >>       from a forwarding ASIC or to separate out control traffic on a
> > >>       NIC).  Transit devices MUST NOT alter forwarding behavior on the
> > >>       basis of this bit, such as ECMP link selection.
> > >
> > > GIM>> Could you please clarify what is considered as "transit
> devices"? Is it node in Geneve layer or is it a node in the underlay
> network. If it is the latter, then the requirement is just re-stating layer
> preservation. If it is the former, then it appears to prohibit tracing OAM
> operation on multi-segment Geneve tunnel.
> >
> > The draft defines a transit device as:
> >
> > Transit device.  A forwarding element along the path of the tunnel
> >    making up part of the Underlay Network.  A transit device MAY be
> >    capable of understanding the Geneve packet format but does not
> >    originate or terminate Geneve packets.
> >
> > i.e. it is a node in the underlay.
> >
> > >> The 'O' bit does not otherwise change the interpretation of the
> packet.
> > >
> > > GIMM> I disagree. At least as the curreent definition of the O-bit
> states - O-bit defines the payload of the Geneve packet.
> >
> > I think by changing the first sentence as I suggested above, we can
> > correct this. The intention is that the 'O' bit only has the effects
> > quoted above.
>