Re: [mpls] Opsdir last call review of draft-ietf-mpls-sfc-encapsulation-02

"Carlos Pignataro (cpignata)" <cpignata@cisco.com> Mon, 25 February 2019 04:54 UTC

Return-Path: <cpignata@cisco.com>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DD8BC130DD3; Sun, 24 Feb 2019 20:54:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.5
X-Spam-Level:
X-Spam-Status: No, score=-14.5 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 6whIeuaFNvCs; Sun, 24 Feb 2019 20:54:17 -0800 (PST)
Received: from alln-iport-8.cisco.com (alln-iport-8.cisco.com [173.37.142.95]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7B6581200D8; Sun, 24 Feb 2019 20:54:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=51684; q=dns/txt; s=iport; t=1551070456; x=1552280056; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=0UwI39Hx+dDATmFOAe1CYQL9rwfYatnKxsdgn7muJkg=; b=fanhHv0h9JHF+jsfqAOBh6azmUQTL1cNq1SzFuSNQ+c7r3ddUuGcJAxu Iyb3EUWa8v9/xcUTpjviO16taT+XHWAy5xlY4OUoG1CuYDyE4rPayNgU5 +xL75tJCud+1lJlL2NO3EINDmvMpZ0H+9XHUZeIjtLOETg2wb6eP4/ahe w=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AEAADQdHNc/5tdJa1bChoBAQEBAQIBAQEBBwIBAQEBgVEFAQEBAQsBgQ1MKmeBAycKg36IGpcRjnGBewsBASOESQIXg2ciNAkNAQMBAQIBAQJtHAyFSwYjRBIQAgEIEiYBBgMCAgIfERQDDgIEDgWDIAGBDkwDFQ+qUIEvhENBgnQNghkFjEgXgUA/gREnH4JMgldHAQEDAYEyBCaDCzGCJgKKCQMHgX4pg32HG4s3JDMJAoc/gzOENYM9GYFxhVuDQ4Rmgx6LZYRAgS6IJ4JsAhEUgSgfOIFWcBUaSwGCDQEzPoFqBRKBAAEIh1aFP0ExjT6BLoEfAQE
X-IronPort-AV: E=Sophos;i="5.58,410,1544486400"; d="scan'208,217";a="240491829"
Received: from rcdn-core-4.cisco.com ([173.37.93.155]) by alln-iport-8.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Feb 2019 04:54:14 +0000
Received: from XCH-RTP-018.cisco.com (xch-rtp-018.cisco.com [64.101.220.158]) by rcdn-core-4.cisco.com (8.15.2/8.15.2) with ESMTPS id x1P4sE5I000580 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Mon, 25 Feb 2019 04:54:14 GMT
Received: from xch-rtp-020.cisco.com (64.101.220.160) by XCH-RTP-018.cisco.com (64.101.220.158) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Sun, 24 Feb 2019 23:54:13 -0500
Received: from xch-rtp-020.cisco.com ([64.101.220.160]) by XCH-RTP-020.cisco.com ([64.101.220.160]) with mapi id 15.00.1395.000; Sun, 24 Feb 2019 23:54:13 -0500
From: "Carlos Pignataro (cpignata)" <cpignata@cisco.com>
To: "Joel M. Halpern" <jmh@joelhalpern.com>
CC: "Andrew G. Malis" <agmalis@gmail.com>, mpls <mpls@ietf.org>, "ops-dir@ietf.org" <ops-dir@ietf.org>, "draft-ietf-mpls-sfc-encapsulation.all@ietf.org" <draft-ietf-mpls-sfc-encapsulation.all@ietf.org>, IETF Discussion <ietf@ietf.org>, "sfc@ietf.org" <sfc@ietf.org>
Thread-Topic: [mpls] Opsdir last call review of draft-ietf-mpls-sfc-encapsulation-02
Thread-Index: AQHUyhBL6QxMzhBFbEuO+4PZE0wBEaXrX0GAgADV+YCAACX5AIAD8MoA
Date: Mon, 25 Feb 2019 04:54:13 +0000
Message-ID: <7CA6EE6E-3D6C-4ACF-B9B4-540C57A658E8@cisco.com>
References: <155072147698.20210.381511429964485828@ietfa.amsl.com> <CAA=duU0sWgRERuqCBBt6cmWOETNz5vhzNDdiVB1nYSz_2YsLcg@mail.gmail.com> <6A97863A-DD90-4D62-9607-569386F5F850@cisco.com> <CAA=duU2zwNY5=AhqT915cJP2hTFwyO85O1vNR0HvUV6qz21HkA@mail.gmail.com> <03769b15-8375-a23a-a882-0a183056a8b5@joelhalpern.com>
In-Reply-To: <03769b15-8375-a23a-a882-0a183056a8b5@joelhalpern.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3445.102.3)
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.70.231.8]
Content-Type: multipart/alternative; boundary="_000_7CA6EE6E3D6C4ACFB9B4540C57A658E8ciscocom_"
MIME-Version: 1.0
X-Outbound-SMTP-Client: 64.101.220.158, xch-rtp-018.cisco.com
X-Outbound-Node: rcdn-core-4.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/mpls/YKCG6q0ZsFz6Vj0y6r_NzInhzbw>
Subject: Re: [mpls] Opsdir last call review of draft-ietf-mpls-sfc-encapsulation-02
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Multi-Protocol Label Switching WG <mpls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mpls>, <mailto:mpls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mpls/>
List-Post: <mailto:mpls@ietf.org>
List-Help: <mailto:mpls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mpls>, <mailto:mpls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 25 Feb 2019 04:54:21 -0000

Hi, Joel,

Maybe I am misunderstanding something. Is the SFF Label, in the context of MPLS transport encapsulation for the SFC NSH, ever expected to be used for Forwarding? Is its TTL ever expected to be decremented and the packet sent? If so, I did not understand that from the existing text, since it is equivalent to a PW Label. If not, we can take advantage of TTL.

Either way is good, I’m just asking to make this explicit.

Thanks,

— Carlos Pignataro

On Feb 23, 2019, at 1:43 AM, Joel M. Halpern <jmh@joelhalpern.com<mailto:jmh@joelhalpern.com>> wrote:

My comment on this may not have made it to everyone.  If you receive a duplicate, I apologize  (I received DMARC errors from something about translations from the draft.all address to gmail addresses.)

Speaking as a co-author...

It is not at all clear to me that GTSM applies or how it would apply. There is no requirement that successive SFF be one MPLS hop apart.

Yours,
Joel

On 2/22/19 9:27 AM, Andrew G. Malis wrote:
Carlos,
Looks good on all but one point - I think I see why you're referencing GTSM, since packets at the SFC layer would generally be one hop away from each other at that layer. Is that correct? However, I really don't have sufficient experience with GTSM to craft specific text. If you think it's important enough to include, could you propose some text for me to include?
Thanks again,
Andy
On Thu, Feb 21, 2019 at 8:41 PM Carlos Pignataro (cpignata) <cpignata@cisco.com<mailto:cpignata@cisco.com> <mailto:cpignata@cisco.com>> wrote:
   Hi, Andy,
   On Feb 21, 2019, at 1:06 PM, Andrew G. Malis <agmalis@gmail.com<mailto:agmalis@gmail.com>
   <mailto:agmalis@gmail.com>> wrote:

   Carlos,

   Many thanks for your review! I'm also including the SFC WG on my
   reply.
   Thanks for the quick response, and for considering the comments!
   I enjoyed reading this document — please see below.

   Comments inline.

   On Wed, Feb 20, 2019 at 10:58 PM Carlos Pignataro
   <cpignata@cisco.com<mailto:cpignata@cisco.com> <mailto:cpignata@cisco.com>> wrote:

       Reviewer: Carlos Pignataro
       Review result: Has Issues

       Reviewer: Carlos Pignataro
       Review Result: Has Issues

       I have reviewed this document as part of the Operational
       directorate's
       ongoing effort to review all IETF documents being processed by
       the IESG.  These
       comments were written with the intent of improving the
       operational aspects of
       the IETF drafts. Comments that are not addressed in last call
       may be included
       in AD reviews during the IESG review.  Document editors and WG
       chairs should
       treat these comments just like any other last call comments.

       This document is highly readable, includes very clear textual
       descriptions, and
       is very well organized. Easy to read in its simplicity.
       However, it would
       benefit from a more explicit connection to the transport encap
       mechanics from
       RFC 8300 (e.g., S4, S6.1). Specifically, I'd recommend adding
       a Figure or an
       SFF NSH Mapping Table example, to depict and/or exemplify the
       SFF function.


   I'm trying to envision what would make a good figure here. We
   could add an additional line to Table 1 of RFC 8300 and reference
   that table:

          +------+------+---------------------+-------------------------+
          | SPI  | SI   | Next Hop(s)         | Transport Encapsulation |
          +------+------+---------------------+-------------------------+
          | 25   | 220  | Label 5467          | MPLS                    |
          +------+------+---------------------+-------------------------+

   Is that what you had in mind? If not, I'm open to other suggestions.
   If you think it helps, this would be a good addition.

       >From an Operational standpoint, the document seems largely
       appropriate in terms
       of dataplane considerations. Some key considerations are
       explicitly out of
       scope:
          The method used by the downstream receiving node to
       advertise SFF
          Labels to the upstream sending node is out of scope of this
       document.

       This really seems to mean that, with the simple definition in this
       Informational document, interoperable implementations cannot
       yet exist. If
       there is no mechanism to advertise the SFF Label or to manage
       the semantics of
       this particular label, how will it know? Static configuration,
       which is not
       covered anyway, is not in my humble opinion a manageable
       scalable approach.


   Actually, while it is outside the scope of this document, it is
   within the scope of draft-ietf-bess-nsh-bgp-control-plane, and
   text is being added to the next revision of that draft to show how
   it can be used to signal the encapsulation defined here. This was
   worked out after this draft was forwarded to the IESG, but we can
   now add a reference to that draft seeing as we'll be doing a
   post-last-call update.
   I think that will help, as an Informative “one embodiment” type of link.

       Title: MPLS Encapsulation For The SFC NSH

       RFC 8300 makes an explicit distinction between the terms
       'encapsulation' and
       'transport encapsulation' (see e.g., Figure 1, Section 1.5 5.,
       and Section 4 of
       RFC 8300).

       It seems to me that this is the "MPLS Transport Encapsulation
       for the SFC NSH"


   Thanks, we'll fix that.


       2.  MPLS Encapsulation Using an SFF Label

       Similarly, "2. MPLS Transport Encapsulation Using an SFF Label"

          The encapsulation is a standard MPLS label stack [RFC3032]
       with an
          SFF Label at the bottom of the stack, followed by a NSH as
       defined by
          [RFC8300] and the NSH payload.

       Insteadf of "NSH payload" I think "orignal packet" is meant.


   RFC 8300 uses both "payload" and "original packet/frame", but the
   latter more than the former. So we can change "payload" to
   "original packet/frame".


       Also, this encapsulation is Underdefined: What is the value of
       TTL? TC?


   I've been looking back at other related RFCs (such as PW and IP
   VPN label definitions) and they're also mostly silent on these
   values. I did find the following in RFC 6073:

       The setting of the TTL of the PW MPLS
       label is a matter of local policy on the originating PE, but SHOULD
       be set to 255.

   Regarding the TC, we can follow the example of RFC 6391:

       This document does not define a use for the Traffic Class (TC) field
       [RFC5462  <https://tools.ietf.org/html/rfc5462>] (formerly known as the Experimental Use (EXP) bits
       [RFC3032  <https://tools.ietf.org/html/rfc3032>]) in the flow label.  Future documents may define a use for
       these bits; therefore, implementations conforming to this
       specification MUST set the TC field to zero at the ingress and MUST
       ignore them at the egress.

   Do you have any alternative suggestions?
   These two approaches sounds good to me. And Ack to the other
   previous responses.

          Much like a pseudowire label, an SFF Label is allocated by the
          downstream receiver of the NSH from its per-platform label
       space.

       A PW Label is more restrictive. RFC 8077 says it MUST be
       allocated as
       per-platform:

          egress LSR only.  Note that the PW label must always be at
       the bottom
          of the packet's label stack, and labels MUST be allocated
       from the
          per-platform label space.

       Is this the case for the SFF Label as well? If so, what is the
       implication of
       the MUST? If not, why is it different than other equivalent
       similar labels?


   We can change the text to:

    Much like a pseudowire label, an SFF Label MUST be allocated by
   the downstream receiver of the NSH from its per-platform label
   space, since the meaning of the label is identical independent of
   which incoming interface it is received [RFC3031].

   That’s a great improvement.

          2.  Push the SFF Label to identify the desired SFF in the
       receiving
              MPLS node.

       TTL value? 1? 2? 255 for GTSM? GTSM RFC 5082 could be used here.


   As I noted above, 255, although I used RFC 6073 as my source
   rather than 5082. We'll add that here as well.

   Sounds good.
   These protocols use 5082 in one form or another:
   https://datatracker.ietf.org/doc/rfc5082/referencedby/

       4.  Operations, Administration, and Maintenance (OAM)
       Considerations

          OAM at the SFC Layer is handled by SFC-defined mechanisms
       [RFC8300].
          However, OAM may be required at the MPLS transport layer.         If so,
          then standard MPLS-layer OAM mechanisms such as the Generic
          Associated Channel [RFC5586] label may be used.

       RFC 5586 is _not_ an OAM mechanism. It is an associated
       channel creation
       mechanism, over which OAM could be carried.

       Thus, what traditional MPLS OAM can be carried here? Things
       like RFC 4379 / RFC
       8029 would need the definition of an SFF Label FEC (which does
       not exist).
       Which other one? IP/ICMP seems of very limited value.


   That's a good point about RFC 5586. The intention is that the MPLS
   OAM would be at the transport label layer above the SFF label, so
   most any MPLS-layer OAM would be applicable. So how about
   rewording to make that more clear:

   OAM at the SFC Layer is handled by SFC-defined mechanisms
   [RFC8300]. However, OAM may be required at the MPLS transport
   layer.  If so, then standard MPLS-layer OAM mechanisms may be used
   at the transport label layer (the labels above the SFF label).
   Looks good to me, thank you.


       6.  Security Considerations

       Have you considered the use of GTSM?


   No, we hadn't. Can you point me to any examples of GTSM being used
   in an MPLS or PW context?
   Yes, see above.

       8.  References

          [RFC7665]  Halpern, J., Ed. and C. Pignataro, Ed., "Service
       Function
                     Chaining (SFC) Architecture", RFC 7665,
                     DOI 10.17487/RFC7665, October 2015,
                     <https://www.rfc-editor.org/info/rfc7665
       <https://www..rfc-editor.org/info/rfc7665>>.

       SHould RFC 7665 be Normative? It defines the "SFF" which is
       quite central to
       understanding this document.


   Good point. It was there because 7665 is an Informational RFC, but
   RFC 8067 does allow normative references to informational RFCs, so
   I'll move it.
   Thank you.

       Other Nits and Editorials:

          SFF Labels are similar to other service labels at the
       bottom of an
          MPLS label stack that denote the contents of the MPLS
       payload being
          other than IP, such as a layer 2 pseudowire, an IP packet
       that is
          routed in a VPN context with a private address, or an Ethernet
          virtual private wire service.

       This says "being other than IP, such as IP", which seems to be
       self-contradictory :-)

   :-)

   How about we change "other than IP," to "other than a normally
   routed IP packet”,
   That would disambiguate it.
   Thanks again.
   To me, the control plane / advertisement was the most important
   operationally-relevant comment.
   Thanks,
   Carlos.

   Thanks again,
   Andy