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

Greg Mirsky <gregimirsky@gmail.com> Wed, 31 October 2018 16:29 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 9FEA11293FB; Wed, 31 Oct 2018 09:29:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 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, URIBL_BLOCKED=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 qaB6RhZvUo16; Wed, 31 Oct 2018 09:29:04 -0700 (PDT)
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com [IPv6:2a00:1450:4864:20::132]) (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 F0AC4128CE4; Wed, 31 Oct 2018 09:29:03 -0700 (PDT)
Received: by mail-lf1-x132.google.com with SMTP id c16so12121729lfj.8; Wed, 31 Oct 2018 09:29:03 -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=Xw59/9YF4D5DcVdzFUxG0ZyeFX81bbR7qcMumkdQBtI=; b=FPp/fbVTT5YPIFPMyqOl9NAbPcQN2cD5pNxehuxAX3twFrWfYRQ78d7dTf47ehe+Bs j70Jlpu/2VpPyk8lR+VxNGyze5NtjoFjZ0Q0CRDcG9QjrnVUvv31deplJMZv0ncIszUM nx7h3cbaFt0Ye6X6Y0LDRD7Bj5MYl18rQgiN0MNvxZPJ1bqHSOclZN9fGRIQT1DXFpXD gjLG8PZGLG1aJouyIv15SjcEv+ll452iMifOkc1SJqfa165i3HNBtjgzBKaPd/x/TsgS bpQq6AOgASRJSeqas7cT0qKcEpqv4UfkWQh4D2M+LKrurrq1m8adJ4wsURo7nD+PfKXl XkXg==
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=Xw59/9YF4D5DcVdzFUxG0ZyeFX81bbR7qcMumkdQBtI=; b=quXxT3KOsCtpV0bp8JgyiY2M8nlJa452v5H85ADu/n9UUUxxQobD0kVFjiKnR+/v+p WLPcWHNDE7OESfY/sKNPXvvwMSWiLh+0nF2Zdhdea8WN/VgJkByLe+WeKBc+M/PCxzaN QDKrhG5OHuDDl8rE85KlQ6orUtqRizVrr8kq/es4mFUTq3CfcFv8tdKERZZDjdoOLxoQ UbwhLT2IEhNHA2cyk5HkDqBEE8JIpe2LJWCsXjkaOX9KJB502YknfMG2yFf5ptR6n5P1 +mXEJ6BuSMIaoLg3elUvP6ZYek+j+PnK/HaygQcRX1foTPmdYCimaU8C8RbmpzicrTfH oE1w==
X-Gm-Message-State: AGRZ1gLA64GqKrxHnft2nZIM5S+CV77v5pGuMNLv8fs/zByTHIUsvODx 4yqYqNiKdEa+zWIlVod3Y67KizuCCYmeuC7EGiQ=
X-Google-Smtp-Source: AJdET5fN+BnYPkMRD6mfDTr3KM1zc0/fEcUNcijYtwuLYNFt/uZ9rjCOHYOsybybXoq66GAEtp0juKiU6/bmP/tRLnI=
X-Received: by 2002:a19:6a13:: with SMTP id u19mr2276418lfu.46.1541003341842; Wed, 31 Oct 2018 09:29:01 -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> <CA+RyBmVjNL38dSkS5YF_2JKt6O_s6Ghmq=t=V4oS=DTZ-z8tbg@mail.gmail.com> <CAEh+42jZFbAGfjHf7k4h4SU9-W4bbaXahkS4zGhJqBTPRdv29g@mail.gmail.com>
In-Reply-To: <CAEh+42jZFbAGfjHf7k4h4SU9-W4bbaXahkS4zGhJqBTPRdv29g@mail.gmail.com>
From: Greg Mirsky <gregimirsky@gmail.com>
Date: Wed, 31 Oct 2018 09:28:53 -0700
Message-ID: <CA+RyBmV5jfCYUVqx_xk-t1Fwqxv53PB6P0j=KKJinUR_y2bztg@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="000000000000c9cd19057988cc9b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/nvo3/6L9gWDQPmBqTTyI04MWf79w39RY>
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: Wed, 31 Oct 2018 16:29:08 -0000

Hi Jesse,
I appreciate the work you've put into responding to my comments, but I
don't feel that the new proposed text regarding the O-bit addresses them.
Looking forward to the discussion in Bangkok.

Regards,
Greg

On Fri, Oct 26, 2018 at 11:59 AM Jesse Gross <jesse@kernel.org> wrote:

> Hi Greg,
>
> I believe that the rewording of the text previously sent out addresses
> the bulk of your concerns in a balanced way. It both clarifies the
> role of the payload and leaves flexibility for specifying OAM to
> additional drafts to flesh out. As far as going further and actually
> removing the bit from the base specification, I'm not comfortable
> making that change at this point in time. This bit has existed in the
> protocol for quite some time and I personally don't see that there is
> consensus within the working group for making the change that you are
> proposing. I think we need to table this discussion for now unless
> there is further support for modifying it.
>
> Jesse
>
> On Thu, Oct 25, 2018 at 8:35 PM Greg Mirsky <gregimirsky@gmail.com> wrote:
> >
> > 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.
>