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

Jesse Gross <jesse@kernel.org> Wed, 17 October 2018 21:14 UTC

Return-Path: <jesse@kernel.org>
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 30242130E03 for <nvo3@ietfa.amsl.com>; Wed, 17 Oct 2018 14:14:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.065
X-Spam-Level:
X-Spam-Status: No, score=-7.065 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.064, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=kernel.org
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 TTHSwYz6GwSA for <nvo3@ietfa.amsl.com>; Wed, 17 Oct 2018 14:14:07 -0700 (PDT)
Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AAA33130DDD for <nvo3@ietf.org>; Wed, 17 Oct 2018 14:14:07 -0700 (PDT)
Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id B918C21476 for <nvo3@ietf.org>; Wed, 17 Oct 2018 21:14:06 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1539810847; bh=zLVIWiv3Nda5+91o1CP/yM1a6njYCCWHZ9HrNqWp09s=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=GxkIsU/FBkUIYTm+XKhcYsQrk49UR5OfVtnKpwkGjK7CaJOlM2T60Tc+SZ8369+Xf NXe1TXtFRbiKBrjQ0JSh/2yg+yOTidjvSqQeLmHCGSD1Ic+xo8v22tn5q8J+7LeeI3 qaPMZJAedWQPd8LgQtLGUIoMFEW+yjubzpzv+AeY=
Received: by mail-ed1-f52.google.com with SMTP id r1-v6so26267263edd.7 for <nvo3@ietf.org>; Wed, 17 Oct 2018 14:14:06 -0700 (PDT)
X-Gm-Message-State: ABuFfoiBF43sXM2ASzgOCFzo7DkER9hK6z6FdHwjLMyUG++1OBcy8ATq MM1IQTBw4+1uj/C1FdE+KJHERtOutXwUfKJ+1TlgeA==
X-Google-Smtp-Source: ACcGV60aWpAxDQsSKG19yr7GyiEn9aWYtbwncyTJXGTLrHXd1qqZLXGXQyothRedzrQuth8pFRKfwjjjD3POS9lUovc=
X-Received: by 2002:a50:ba3c:: with SMTP id g57-v6mr1612348edc.214.1539810844883; Wed, 17 Oct 2018 14:14:04 -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>
In-Reply-To: <CA+RyBmXYTj=1NPxnk66cgf0Ci=FWe=u7zfX+beLkBwogKW5eCw@mail.gmail.com>
From: Jesse Gross <jesse@kernel.org>
Date: Wed, 17 Oct 2018 14:13:53 -0700
X-Gmail-Original-Message-ID: <CAEh+42jkv50vnDtF5C+oGJU-V3UOrP1KvrEF2F6Xo2uKrSFhyA@mail.gmail.com>
Message-ID: <CAEh+42jkv50vnDtF5C+oGJU-V3UOrP1KvrEF2F6Xo2uKrSFhyA@mail.gmail.com>
To: gregimirsky@gmail.com
Cc: "Bocci, Matthew (Nokia - GB)" <matthew.bocci@nokia.com>, NVO3 <nvo3@ietf.org>, draft-ietf-nvo3-geneve@ietf.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/nvo3/dH1Z2AQPUk9m7S9xftZ8RjnGxpQ>
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, 17 Oct 2018 21:14:09 -0000

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.