Re: [sfc] I-D Action: draft-ietf-sfc-nsh-tlv-02.txt

Greg Mirsky <gregimirsky@gmail.com> Wed, 01 April 2020 23:55 UTC

Return-Path: <gregimirsky@gmail.com>
X-Original-To: sfc@ietfa.amsl.com
Delivered-To: sfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2ACA63A1456; Wed, 1 Apr 2020 16:55:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, 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 iQJUhk5u_dZs; Wed, 1 Apr 2020 16:54:57 -0700 (PDT)
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com [IPv6:2a00:1450:4864:20::229]) (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 1368E3A0D83; Wed, 1 Apr 2020 16:54:56 -0700 (PDT)
Received: by mail-lj1-x229.google.com with SMTP id r24so1353363ljd.4; Wed, 01 Apr 2020 16:54:56 -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=YPKFKDECjaC6KATFnC5FuG6Bvjdl8cPyX7dPwL+oKBI=; b=ex2BCHroHRwJlqmohN/o60qgzS+LkrKDq+zfeighxxO5Rhy9JY8TO4a/fKL9vX4Js+ /BIViTvEVmWf81T1v1VxUW9JYD4ab+2sjXf9yC/ibsCB5diuvQ3yK3SBmxuf1p3HEcWh A8ZgUiR1Q0eJxHMBKVOFzSwD0XHQQk4QDNUh2/uvNqcS+4EXD99X2NLsyu+R3ujzLYA2 lZf7WmW30KI17PsT5/fMSbTnRx+cZp0ZQ8UYhNwX8nSCFZHDiW2a44GnOnsNEMpFmUaS fWd/8aSQmRc45R5iD+E1uFIir89WF83sI1iwbRI4aH7UZ0bg56M+LiWSs1mOYlBrbxrj mWww==
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=YPKFKDECjaC6KATFnC5FuG6Bvjdl8cPyX7dPwL+oKBI=; b=rdtPT2G/N4ILWaebR9lRr0GWhxNzivb/xZnYWcbm7rzOlKWSYru4waR7+lmlWBC5QA kXjg7UaIHOJkC6/2K/AprxJBHEugKy+44jWiMTvMo4HZE/140xejE8Ay3GctP7oy8fdx CjrPIuxKy16nzccg/2lMyDW7fP7LBsU9vrDkfc8bEdHNBozwEbbN5VnsaJGjKujr0bFY F73D01zsURPV8k2sz03/qeqWuK7bj5pllmkVwcDDG7yUF8o43H9+Zs2riAcRldZymjJE VyznUe0rZMP7vkYYXIJxKvBCVBRjy5ny0BC6RDo2AC7PGGTfzlXBicYXJKvzWZpo0EtT utcQ==
X-Gm-Message-State: AGi0PuYhco6hXzb2PQIquejsAHqT/vEdNzFIBINLhZBgbinqHmuqHwFg l/jasx7w+f+gDlDeRXgnYxXr19dv/24qCW+YDR4=
X-Google-Smtp-Source: APiQypIoFVF7lwWzS+f6DSphc4DZfVaFZFXzuu2bmhEWu2ydVyiOnQuVqvKZ4PrOEfNhs37US6BhiNHcxB6KixVGtwk=
X-Received: by 2002:a2e:9105:: with SMTP id m5mr384331ljg.37.1585785294935; Wed, 01 Apr 2020 16:54:54 -0700 (PDT)
MIME-Version: 1.0
References: <AD9BC8A1-C042-4FA0-8B56-D587D9278E28@cisco.com,> <AC9E0774-9E17-4332-A1E1-BB2B3FA47B7A@cisco.com> <202003301529220283544@zte.com.cn> <787AE7BB302AE849A7480A190F8B93303148958D@OPEXCAUBMA2.corporate.adroot.infra.ftgroup> <EF5269C9-7A7A-477B-A9DF-80D31065C1A6@cisco.com> <787AE7BB302AE849A7480A190F8B933031489A34@OPEXCAUBMA2.corporate.adroot.infra.ftgroup> <FB8FF9D5-5D4D-4F41-82F2-1DB4A5975B78@cisco.com>
In-Reply-To: <FB8FF9D5-5D4D-4F41-82F2-1DB4A5975B78@cisco.com>
From: Greg Mirsky <gregimirsky@gmail.com>
Date: Wed, 01 Apr 2020 16:54:43 -0700
Message-ID: <CA+RyBmUU0KkZ7w=vu1DpnVyY69yUbj4wQjzdapBjVJZrhLiVpw@mail.gmail.com>
To: "Carlos Pignataro (cpignata)" <cpignata=40cisco.com@dmarc.ietf.org>
Cc: Med Boucadair <mohamed.boucadair@orange.com>, "wei.yuehua@zte.com.cn" <wei.yuehua@zte.com.cn>, "draft-ietf-sfc-nsh-tlv@ietf.org" <draft-ietf-sfc-nsh-tlv@ietf.org>, "sfc@ietf.org" <sfc@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000031da6005a2436917"
Archived-At: <https://mailarchive.ietf.org/arch/msg/sfc/JNY3rhZBZUbFf1JaSA6qTP07PMk>
Subject: Re: [sfc] I-D Action: draft-ietf-sfc-nsh-tlv-02.txt
X-BeenThere: sfc@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Network Service Chaining <sfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sfc>, <mailto:sfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sfc/>
List-Post: <mailto:sfc@ietf.org>
List-Help: <mailto:sfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sfc>, <mailto:sfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 01 Apr 2020 23:55:01 -0000

Hi Carlos and Med,
thank you for the discussion. Please find my notes in-lined below under
GIM>> tag.

Regards,
Greg

On Tue, Mar 31, 2020 at 7:22 AM Carlos Pignataro (cpignata) <cpignata=
40cisco.com@dmarc.ietf.org> wrote:

> Hi, Med,
>
> It is somewhat hard for me to follow the inlined comments. If there’s
> something I miss, please let me know. I’ll preface with “[CMP]"
>
> 2020/03/31 午前10:07、mohamed.boucadair@orange.comのメール:
>
> Hi Carlos,
>
> Please see inline.
>
> Cheers,
> Med
>
> *De :* Carlos Pignataro (cpignata) [mailto:cpignata@cisco.com
> <cpignata@cisco.com>]
> *Envoyé :* mardi 31 mars 2020 15:23
> *À :* BOUCADAIR Mohamed TGI/OLN
> *Cc :* wei.yuehua@zte.com.cn; draft-ietf-sfc-nsh-tlv@ietf.org;
> sfc@ietf.org
> *Objet :* Re: [sfc] I-D Action: draft-ietf-sfc-nsh-tlv-02.txt
>
> Hi, Med,
>
> Really good comments!
>
> In general, I tend to agree with your second comment, which is a
> meta-comment, about adding more descriptive text. That said, I’d cautious
> that this document defines foundational data fields and not the usage and
> use cases of them.
> *[Med] Without being verbose, we need to explain why a TLV is useful/how
> it can be used. For example, a reader may ask: how the flow TLV is
> populated? Why it is needed if we can access to the inner packet? should
> the flow TLV by updated on-path? What if there are address rewriting SFs?*
>
>
>
> [CMP] I believe this document should answer the questions on syntax and
> definition/meaning, but not the use-case. Saying “Flow id is for marking
> packets of the same flow, and it is a 32-bit number” is as far as I think
> this should go.
>
> [CMP] What do others think?
>
GIM>> I agree with Med, the document should give at least one example of
how a TLV can be used. At the same time, future documents may define
another scenarios.

>
> *I may have answers to some of those questions but my point is that we
> need to have some of the details in the document (especially, when this is
> important for interoperability).  *
>
>
> Interoperability has many layers. Syntax and semantics need to be ensured
> in this doc.
>
GIM>> I think that the document should define actionable aspect of a TLV.
Just providing format seems insufficient.

>
>
> Based on that, see below.
>
>
> 2020/03/31 午前4:16、mohamed.boucadair@orange.comのメール:
>
> Hi all,
>
> Some easy to fix comments:
>
> ·         You may consider adding more description to the actual usage of
> each TLVs.
>
> This document defines information elements rather than use cases for them.
> As such, I hesitate in adding too much usage which can be containing. That
> said, do you have specific thoughts on usage?
> *[Med] I do have for some (content type, for example), but not sure about
> the others. For example, who sets the tenant-ID? Is it by control or
> extracted from the packets? Idem for the policy-ID.  *
>
>
> [CMP] To me specific usages are outside scope. Many specifications in the
> IETF describe the fields while future companion documents define usage.
> This, to me, is one of those.
>
GIM>> Yes, and there are examples when forward-looking definitions where
taken from the document and moved into the document that explains how that
object is used.

>
>
> ·         The TLVs content should also be clarified. For example, “Akin,
> but not identical to the usage described in [RFC6437]” does not say what is
> the diff vs. 6437 nor why not reusing FL would be sufficient if an IPv6
> transport is used.
>
> Agreed. I would replace:
>
>    Flow ID provides a representation of the flow.  Akin, but not
>    identical to the usage described in [RFC6437].
>
>
> With at least
>    The Flow ID provides a field in the NSH MD Type 2 to label
>    packets belonging to the same flow.  Absence of this field, or
>    a value of zero denotes that packets have not been labeled.
>
>
> *[Med] That’s a good start. Thanks. The natural questions then are: what
> is a label? What to do with a labeled a packet? do we allow to change the
> label when progressing in an SFP? We need to think about this further. *
>
>
> [CMP] I did not mean to add a “label” as a noun, but rather label as in
> mark or tag.
>
> [CMP] Immutability is a great question! I tent to think that it could
> change, but what do you think?
>
>
> ·         Clarify whether conveying multiple instances of each TLV is
> allowed.
>
> That is not for this document to say.
> *[Med] RFC8300 says the following:*
>
>    If multiple instances of the same metadata are included in an NSH
>    packet, but the definition of that Context Header does not allow for
>                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>    it, the SFC-aware SF MUST process the first instance and ignore
>    ^^
>    subsequent instances.  The SFC-aware SF MAY log or increase a counter
>    for this event.
>
> Some use cases can restrict to one interface for example, others to
> multiple.
>
>
> [CMP] Fair enough. We could add requirements on multiplicity.
>
GIM>> I agree that the question of multiple occurence of a TLV should be
specified for each TLV (or we can have a blanket statement with exceptions
though that might add to some confusion).

>
>
>
> ·         What is a “a network-centric forwarding context”?
>
> Here’s my take on text proposal on various fields (this is full text, not
> diff):
> *[Med] Thank you for drafting this. I hope I can provide text as well.*
>
>
> [CMP] Of course! That’s a back-of-napkin start only.
>
>
> 4.1.  Forwarding Context
>
>    The forwarding context used for segregation and forwarding scope can
>    Take several forms depending on the network environment. For example,
>    VXLAN/VXLAN-GPE VNID, VRF identification, and VLAN. This context
>    header carries this network-based forwarding context.
>
> 4.2.  Tenant Identifier
>
>    Tenant identification is often used for segregation within a multi-
>    tenant environment.  Orchestration system-generated tenant IDs are an
>    example of such data. This context header carries both the format and
>    value of the Tenant identifier.
>
>
> 4.3.  Content Type
> // I believe this needs further thinking on the namespace fo Content
> Types, could even be draft-penno-sfc-appid-05
>
> 4.4.  Ingress Network Information
>
>    This data identifies the ingress network node, and, if required,
>    ingress interface.
>
> // this should be split into Node and Ingress Interface.
>
> 4.4. Ingress Network Node Information
>
>
>    This context header identifies the ingress network node.
>
>
> 4.5. Ingress Network Interface Information
>
>
>    This context header identifies the ingress network interface.
>
>
>
> 4.6.  Flow ID
>    The Flow ID provides a field in the NSH MD Type 2 to label
>    packets belonging to the same flow.  Absence of this field, or
>    a value of zero denotes that packets have not been labeled.
>
>
> ...
>
>
> ·         Section 7: Please delete “IANA is requested to create a new
> "Network Service Header (NSH) TLV” as we do already have a registry at:
> https://www.iana.org/assignments/nsh/nsh.xhtml#optional-variable-length-metadata-types.
> You may use this NEW wording:
>
>    This document requests IANA to assign the following types from the
>    "NSH IETF- Assigned Optional Variable-Length Metadata Types" (0x0000
>    IETF Base NSH MD Class) registry available at:
>    https://www.iana.org/assignments/nsh/nsh.xhtml#optional-variable-
> <https://www.iana.org/assignments/nsh/nsh.xhtml#optional-variable-length-metadata-types>
>    length-metadata-types
> <https://www.iana.org/assignments/nsh/nsh.xhtml#optional-variable-length-metadata-types>
> .
>
> Indeed!!!
>
> And additionally should move the Types to TBAs.
>
> Thanks,
>
> Carlos.
>
>
>
> Thank you.
>
>
>
> [CMP] You are welcome!
>
> Carlos.
>
> Cheers,
> Med
>
> *De :* sfc [mailto:sfc-bounces@ietf.org <sfc-bounces@ietf.org>] *De la
> part de* wei.yuehua@zte.com.cn
> *Envoyé :* lundi 30 mars 2020 09:29
> *À :* cpignata@cisco.com; sfc@ietf.org
> *Cc :* draft-ietf-sfc-nsh-tlv@ietf.org; sfc@ietf.org
> *Objet :* Re: [sfc] I-D Action: draft-ietf-sfc-nsh-tlv-02.txt
>
> Dear Carlos,
> Thank you for reminding this kind of modifications to the mailing list so
> that more people could notice and give comments.
> https://tools.ietf.org/rfcdiff?url2=draft-ietf-sfc-nsh-tlv-02.txt
> Your suggestion is reasonable.
>
> Does anyone aware of implementations?
> or How do you think of TBAs?
>
> I appreciate your comments.
>
> *Best Regards,*
> *魏月华 Corona Wei*
> M: +86 13851460269 E: wei.yuehua@zte.com.cn
>
> 原始邮件
> *发件人:*CarlosPignataro(cpignata) <cpignata@cisco.com>
> *收件人:*魏月华00019655;
> *抄送人:*sfc@ietf.org <sfc@ietf.org>;draft-ietf-sfc-nsh-tlv@ietf.org <
> draft-ietf-sfc-nsh-tlv@ietf.org>;
> *日* *期* *:*2020年03月28日 21:49
> *主* *题* *:**Re: [sfc] I-D Action: draft-ietf-sfc-nsh-tlv-02.txt*
> Dear Wei,
> Thanks for the quick responses and accepting the suggestions.
>
> Only one follow-up on this, which I bring to the top:
>
> Wei>> Only editorial improvement.
> The Types in previous version were:
> 0x1,    0x4,    0x6,   0x7,  0x8,     0x9,  0xA,  0xB
> The Types in current version are:
> 0x01,  0x02,  0x03, 0x04,0x05,0x06,0x07,0x08
>
>
> I do not believe that changing a protocol value is an editorial change (or
> editorial improvement) necessarily.
>
> Are there implementations following the previous allocations? Unused
> values in between might look weird but it is to necessarily unoptimized,
> unimproved, or wrong.
>
> If a goal is to have a gapless increasing list and there are no
> implementations, then TBAs can be used and assignment at the end (e.g., if
> we split the node/interface into two).
>
> On the other hand, I’d always prioritize implementations (the entropy of
> reality will take care of disorganize the list :-)
>
> I’d leave them as they were, since there are enough numbers in the space,
> or ask on the list for changing and wait.
>
> Thanks,
>
> Carlos.
>
>
>
> 2020/03/27 午後11:13、wei.yuehua@zte.com.cnのメール:
>
> Dear Carlos,
> I appreciated your comments.
> Please see my response in line with Wei>> tag
> *Best Regards,*
> *魏月华 Corona Wei*
> M: +86 13851460269 E: wei.yuehua@zte.com.cn
>
>
>
> *发件人:*CarlosPignataro(cpignata) <cpignata=40cisco.com@dmarc.ietf.org>
> *收件人:*sfc@ietf.org <sfc@ietf.org>;
> *抄送人:*draft-ietf-sfc-nsh-tlv@ietf.org <draft-ietf-sfc-nsh-tlv@ietf.org>;
> *日* *期* *:*2020年03月27日 02:36
> *主* *题* *:**Re: [sfc] I-D Action: draft-ietf-sfc-nsh-tlv-02.txt*
>
> _______________________________________________
> sfc mailing list
> sfc@ietf.org
> https://www.ietf.org/mailman/listinfo/sfc
> Hi, SFC,
>
> Apologies, a late response to
> https://mailarchive.ietf.org/arch/msg/sfc/pNT0kOnFHZeTBLXjuIH0hoKhJs4/
>
> Looking at the document I’ve got a few comments, prefaced with “CMP”:
>
>
> 2.1.  Terminology
>
>
> CMP: Instead of duplicating definition of terms, why not point to RFC 8300
> and RFC 7665 as needed, and only define new terms.
>
> Wei>> Will delete duplicated NSH, MD Type and SFC which have been defined
> in  RFC 8300 and RFC 7665
>
>        0                   1                   2                   3
>
>        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
>
>       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>
>       |Ver|O|C|R|R|R|R|R|R|   Length  |    MD Type    | Next Protocol |
>
>       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>
>
>
>                          Figure 1: NSH Base Header
>
> CMP: This is an old version, missing TTLL from RFC 88300
> Wei>> Will modify this figure to align with RFC8300
>
>
>    where
>
>
>
>       Metadata Class (MD Class): Defines the scope of the Type field to
>
>       provide a hierarchical namespace.
>
>
>
>       Type - Indicates the explicit type of metadata being carried.  The
>
>       value is one from the Network Service Header (NSH) TLV Type
>
>       registry (Section 7).
>
>
>
>       Unassigned bit: One unassigned bit is available for future use.
>
>       This bit MUST NOT be set, and it MUST be ignored on receipt.
>
>
>
>       Length: Indicates the length of the variable-length metadata, in
>
>       bytes.  In case the metadata length is not an integer number of
>
>       4-byte words, the sender MUST add pad bytes immediately following
>
>       the last metadata byte to extend the metadata to an integer number
>
>       of 4-byte words.  The receiver MUST round the Length field up to
>
>       the nearest 4-byte-word boundary, to locate and process the next
>
>       field in the packet.  The receiver MUST access only those bytes in
>
>       the metadata indicated by the Length field (i.e., actual number of
>
>       bytes) and MUST ignore the remaining bytes up to the nearest 4-
>
>       byte-word boundary.  The length may be 0 or greater.
>
>
>
>       A value of 0 denotes a Context Header without a Variable-Length
>
>       Metadata field.
>
>
> CMP: Instead of copy/paste repeating this from RFC 8300, please add a
> pointer. Copy/past text gets desynchronized easily.
> Wei>> wil delete this part.
>
>
> 4.2.  Tenant Identifier
>
>
>
>    Tenant identification is often used for segregation within a multi-
>
>    tenant environment.  Orchestration system-generated tenant IDs are an
>
>    example of such data.
>
>
>
>        0                   1                   2                   3
>
>        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
>
>       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
>
>       |    Metadata Class = 0x0000    |  Type = 0x02  |U|  Length=12  |
>
>
> CMP: Seems like this Type, as well as others, were changed from the
> previous version. Why?
> Wei>> Only editorial improvement.
> The Types in previous version were:
> 0x1,    0x4,    0x6,   0x7,  0x8,     0x9,  0xA,  0xB
> The Types in current version are:
> 0x01,  0x02,  0x03, 0x04,0x05,0x06,0x07,0x08
>
>
> 7.  IANA Considerations
>
>
> CMP: This needs registration: Metadata Class = 0x0000
>
> CMP: Also, the Context Type (CT) needs registration.
>
> CMP: And these as well:
> * Tenant Type (TT)
> * Group Type (GT)
> * URI Type
> Wei>> Will follow your advice.
>
> Thanks!
>
> Carlos.
>
>
> _______________________________________________
> sfc mailing list
> sfc@ietf.org
> https://www.ietf.org/mailman/listinfo/sfc
>
>
>
> _______________________________________________
> sfc mailing list
> sfc@ietf.org
> https://www.ietf.org/mailman/listinfo/sfc
>