Re: [sfc] draft-ietf-sfc-nsh-tlv-02 - Network Service Header TLVs
mohamed.boucadair@orange.com Fri, 10 April 2020 18:18 UTC
Return-Path: <mohamed.boucadair@orange.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 EE1873A0C2A for <sfc@ietfa.amsl.com>; Fri, 10 Apr 2020 11:18:45 -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, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=orange.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 frs54luq1l-M for <sfc@ietfa.amsl.com>; Fri, 10 Apr 2020 11:18:43 -0700 (PDT)
Received: from relais-inet.orange.com (relais-inet.orange.com [80.12.66.41]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F36293A0C0C for <sfc@ietf.org>; Fri, 10 Apr 2020 11:18:42 -0700 (PDT)
Received: from opfedar06.francetelecom.fr (unknown [xx.xx.xx.8]) by opfedar26.francetelecom.fr (ESMTP service) with ESMTP id 48zR8x2hqpzFq0c; Fri, 10 Apr 2020 20:18:41 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=orange.com; s=ORANGE001; t=1586542721; bh=Bg2iNEzmCLs/CnGBEUSGDmGc+0I7jBdJPCWaSTlkPEs=; h=From:To:Subject:Date:Message-ID:Content-Type:MIME-Version; b=k2w4bAmMkuBH44T2AxfDtiyWzKT2dwRkBM3STcg8pvsw9LF55sJl7ZDGGcS3XDdzJ ShY8eZCn8jbnkuwFnLDfNN4FskJSH748Gfbd/ssQ+ZFXtF3edNh99AF9k+ebd456nN 3cW0Mgrsf6HqIjk38/geccAbL7Kfh5OUX8DpnkUuu80n25WLUnEke2Rp2gJ42AuOdH mFdO5ML/nz24lEcstGn3ApxzgS9HPKa+q5qj4oIBBKJ5hLYAF9XZweMqCRLVwfrqRZ uCCtUTqLw078Kcw3qE5zUyAYDK/jse6HUY/zf/SYwU3isYiNDIMXWRmOomQXsBuf9R GaZcJWadWg4LA==
Received: from Exchangemail-eme6.itn.ftgroup (unknown [xx.xx.13.101]) by opfedar06.francetelecom.fr (ESMTP service) with ESMTP id 48zR8x1gwMz3wbJ; Fri, 10 Apr 2020 20:18:41 +0200 (CEST)
From: mohamed.boucadair@orange.com
To: "Carlos Pignataro (cpignata)" <cpignata=40cisco.com@dmarc.ietf.org>, "wei.yuehua@zte.com.cn" <wei.yuehua@zte.com.cn>
CC: "sfc@ietf.org" <sfc@ietf.org>
Thread-Topic: [sfc] draft-ietf-sfc-nsh-tlv-02 - Network Service Header TLVs
Thread-Index: AQHWD0+RoXgAdJ3KdUKRBoMAgof5FqhyqKew
Date: Fri, 10 Apr 2020 18:18:40 +0000
Message-ID: <787AE7BB302AE849A7480A190F8B9330314936A1@OPEXCAUBMA2.corporate.adroot.infra.ftgroup>
References: <D26A88B6-BE99-4BEA-9739-9DEADAB4D196@cisco.com,> <639BDC8B-13B0-48CF-B4C1-ACB834DEC4A5@cisco.com> <202004101047428213142@zte.com.cn> <7750B74D-0539-4034-987B-5262E24BBE80@cisco.com>
In-Reply-To: <7750B74D-0539-4034-987B-5262E24BBE80@cisco.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.114.13.245]
Content-Type: multipart/alternative; boundary="_000_787AE7BB302AE849A7480A190F8B9330314936A1OPEXCAUBMA2corp_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/sfc/zvAs-Nx4KkHasDpUFaqyDhS026s>
Subject: Re: [sfc] draft-ietf-sfc-nsh-tlv-02 - Network Service Header TLVs
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: Fri, 10 Apr 2020 18:18:46 -0000
Hi all, FWIW, that was an outcome of the interim meeting (https://datatracker.ietf.org/meeting/interim-2017-sfc-01/materials/minutes-interim-2017-sfc-01-201701171100.txt): “Room Consensus: • The TLVs with short explanations belong to common TLV doc.; other doc. may define the TLV needing more semantics for a use case. In particular, there is no point in an entry in the common document whose only text is “see WFC document X for structure and meaning of this TLV.” In that case, document X should reserve the type code.” That’s said, I echo Carlos’s comment. This applies for almost all the TLVs in this draft, unfortunately. I won’t reiterate my comment about the need to provide more context and usage. Cheers, Med De : sfc [mailto:sfc-bounces@ietf.org] De la part de Carlos Pignataro (cpignata) Envoyé : vendredi 10 avril 2020 17:49 À : wei.yuehua@zte.com.cn Cc : sfc@ietf.org Objet : Re: [sfc] draft-ietf-sfc-nsh-tlv-02 - Network Service Header TLVs Hi! Yes, it was deleted at https://tools.ietf.org/rfcdiff?url2=draft-quinn-sfc-nsh-tlv-03.txt In fact, in that revision, Subscriber/user Information / Host ID also was removed and those move forward as draft-sarikaya-sfc-hostid-serviceheader-00.txt then into draft-ietf-sfc-serviceid-header. The question I still have is: what is “ Content Type”? Without a proper definition, should it be removed/ Thanks, Carlos. 2020/04/09 午後10:47、wei.yuehua@zte.com.cn<mailto:wei.yuehua@zte.com.cn>のメール: Hi Carlos, SFCers, After backtracking the past version of this draft, I found that Application ID was deleted since draft-quinn-sfc-nsh-tlv-03 Best Regards, 魏月华 Corona Wei M: +86 13851460269 E: wei.yuehua@zte.com.cn<mailto:wei.yuehua@zte.com.cn> 原始邮件 发件人:CarlosPignataro(cpignata) <cpignata=40cisco.com@dmarc.ietf.org<mailto:cpignata=40cisco.com@dmarc.ietf.org>> 收件人:魏月华00019655; 抄送人:sfc@ietf.org<mailto:sfc@ietf.org> <sfc@ietf.org<mailto:sfc@ietf.org>>; 日 期 :2020年04月09日 00:44 主 题 :Re: [sfc] draft-ietf-sfc-nsh-tlv-02 - Network Service Header TLVs _______________________________________________ sfc mailing list sfc@ietf.org<mailto:sfc@ietf.org> https://www.ietf.org/mailman/listinfo/sfc Thank you for the response to those 3 items. In regards to your question #3, the challenge is that the current section is underspecified. Without syntax, semantics, and registry, interoperability sounds not possible. https://tools.ietf.org/html/draft-ietf-sfc-nsh-tlv-02#section-4.3 I was suggesting that penno-sfc-appid is a potentially complete superset of this functionality. Are there other proposals on how the “Cotent Type” should look like? Thanks, Carlos. 2020/04/07 午後10:43、wei.yuehua@zte.com.cn<mailto:wei.yuehua@zte.com.cn>のメール: Hi Carlos, SFCers, 1, Thank you for the work to make alignment of this draft to RFC8300! 2, I agree with you and Greg that it would make sense to split 4.4. Ingress Network Information into two elements, one for Node ID, one for Interface. 3, About 4.3. Content Type If it refers to an Application ID: https://tools.ietf.org/html/draft-penno-sfc-appid-05 . draft-penno-sfc-appid-05 <https://tools.ietf.org/html/draft-penno-sfc-appid-05> is an indivisual draft and it Expires: February 16, 2017 Shall we keep 4.3 or delete it? Thank you ! Best Regards, 魏月华 Corona Wei M: +86 13851460269 E: wei.yuehua@zte.com.cn<mailto:wei.yuehua@zte.com.cn> 发件人:CarlosPignataro(cpignata) <cpignata=40cisco.com@dmarc.ietf.org<mailto:cpignata=40cisco.com@dmarc.ietf.org>> 收件人:魏月华00019655;sfc@ietf.org<mailto:sfc@ietf.org> <sfc@ietf.org<mailto:sfc@ietf.org>>; 日 期 :2020年03月31日 12:04 主 题 :[sfc] draft-ietf-sfc-nsh-tlv-02 - Network Service Header TLVs _______________________________________________ sfc mailing list sfc@ietf.org<mailto:sfc@ietf.org> https://www.ietf.org/mailman/listinfo/sfc Hi, Wei, SFCers, I hope this email finds you well! I thought it would be useful to send not only specific comments but also text proposals on this draft https://datatracker.ietf.org/doc/draft-ietf-sfc-nsh-tlv/?include_text=1 Here they go: Network Service Header TLVs draft-ietf-sfc-nsh-tlv-02 The title is a bit of a misnomer. It’s not NSH TLVs. This should be titled “Network Service Header Metadata Type 2 Variable-Length Context Headers” Abstract This draft describes Network Service Header (NSH) MD-Type 2 metadata TLVs that can be used within a service function path. —> "This draft describes Network Service Header (NSH) Metadata (MD) Type 2 variable-length context headers that can be used within a service function path (SFP).” 1. Introduction Network Service Header (NSH) [RFC8300] is the Service Function Chaining (SFC) encapsulation protocol used to create Service Function Chains. This reads redundant. Instead: Network Service Header (NSH) [RFC8300] is the Service Function Chaining (SFC) encapsulation protocol required to support the SFC architecture. As such, NSH provides two key elements: 1. Service Function Path identification 2. Metadata This is inconsistent with RC 8300, which says: The NSH is composed of the following elements: 1. Service Function Path identification. 2. Indication of location within a Service Function Path. 3. Optional, per-packet metadata (fixed-length or variable). [RFC8300] further defines two metadata formats (MD Types): 1 and 2. MD Type 1 defines fixed length, 16 bytes-long metadata, whereas MD Type 2 defines a variable-length TLV format for metadata. This draft defines some common TLVs for use with NSH MD Type 2. s/bytes/octets/ Also, strictly, MD Type 2 does not use “TLVs”. It uses “MD Class, MD Type, Length, Value”. As such I recommend removing all mentions of TLV. “ variable-length TLV format” —> “ variable-length metadata format" 2.1. Terminology Add: "This document uses the terminology defined in the SFC Architecture [RFC 7665] and the Network Service Header [RFC 8300]”. 3. NSH Type 2 Format This is “NSH MD Type 2” 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ TTL missing, should be: 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|U| TTL | Length |U|U|U|U|MD Type| Next Protocol | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 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 [...] Please remove this as it is from RFC 8300. 4. NSH Type 2 TLVs Should be “NSH MD Type 2 Context Headers” 4.1. Forwarding Context This TLV carries a network-centric forwarding context, used for segregation and forwarding scope. Forwarding context can take several forms depending on the network environment. Commonly used data includes VXLAN/VXLAN- GPE VNID, VRF identification or VLAN. Extraneous space in VXLAN- GPE 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 = 0x01 |U| Length = 8 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CT | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Tenant ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ First, I recommend for now change all the Types to TBAs. For example 0x01 to TBA1. Note this would otherwise collide with other documents being advanced. I was thinking about this format, and the proposal from Greg Mirsky to do away from CT and instead use the length. I thought that was a good idea. However, on second thoughts, and in looking at the values defined: 0x0 - 24 bits-long VXLAN/LISP virtual network identifier (VNI) 0x1 - 32 bits-long MPLS VPN label 0x2 - VLAN * An MPLS Label is actually 20 bits. * A VLAN identifier (VID) is 12 bits. Neither of those can be expressed as a Length in octets. So, we need a CT Field. However, change to: 0x0 - 24-bits VXLAN/LISP virtual network identifier (VNI) 0x1 - 20-bits MPLS VPN label 0x2 - 12-bit VLAN identifier 4.3. Content Type Provides explicit information about the content being carried, for example, type of video or content value for billing purposes. 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 = 0x03 |U| Length = 4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Content Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 5: Content Type This does not seem to be adequately defined. What is Content Type: 0xCAFECACA? In fact I wonder if what wants to be defined here is an Application ID: https://tools.ietf.org/html/draft-penno-sfc-appid-05 4.4. Ingress Network Information This data identifies the ingress network node, and, if required, ingress interface. 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 = 0x04 |U| Length = 8 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Node ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source Interface/Port | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 6: Ingress Network Information As per previous comment from Greg Mirsky, I agree it would make sense to split this into two elements, one from Node ID, one for Interface. 7. IANA Considerations IANA is requested to create a new "Network Service Header (NSH) TLV Type" registry according to Table 1. These are not “TLV Types”. They are "Network Service Header (NSH) MD Type 2 context header metadata types” for example. This document defines the following new values (Table 2) in the Network Service Header (NSH) TLV Type registry: This should have “TBAs”. And these need subsections: * Context Type (CT) * Tenant Type (TT) * Group Type (GT) * URI Type Here’s some text: 7.1. Context Type IANA is requested to create and maintain the “ Forwarding Context Variable Length Context Header, Context Type” registry, with the following initial allocation: 0x0 - 24-bits VXLAN/LISP virtual network identifier (VNI) 0x1 - 20-bits MPLS VPN label 0x2 - 12-bit VLAN identifier 0x3-0xE - Unassigned 0xF - Reserved 7.2. Tenant Identifier IANA is requested to create and maintain the “ Tenant Identifier Variable Length Context Header, Tenant Type” registry, with the following initial allocation: * 0x0 - 32 bits-long Tenant ID * 0x1 - 64 bits-long Tenant ID 7.3. Group Type IANA is requested to create and maintain the "Source and/or Destination Groups Context Header, Group Type” registry, with the following initial allocation: * 0x0 - Reserved * 0x1 - Group Based Policy (GBP) end point group (EPG) * 0x2-0xE - Unassigned * 0xF - Reserved Thanks! Carlos.
- [sfc] draft-ietf-sfc-nsh-tlv-02 - Network Service… Carlos Pignataro (cpignata)
- Re: [sfc] draft-ietf-sfc-nsh-tlv-02 - Network Ser… wei.yuehua
- Re: [sfc] draft-ietf-sfc-nsh-tlv-02 - Network Ser… Carlos Pignataro (cpignata)
- Re: [sfc] draft-ietf-sfc-nsh-tlv-02 - Network Ser… wei.yuehua
- Re: [sfc] draft-ietf-sfc-nsh-tlv-02 - Network Ser… Carlos Pignataro (cpignata)
- Re: [sfc] draft-ietf-sfc-nsh-tlv-02 - Network Ser… mohamed.boucadair