Re: [RTG-DIR] RtgDir Early review: draft-ietf-idr-bgp-prefix-sid

"Acee Lindem (acee)" <acee@cisco.com> Sun, 04 February 2018 21:59 UTC

Return-Path: <acee@cisco.com>
X-Original-To: rtg-dir@ietfa.amsl.com
Delivered-To: rtg-dir@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3AC5E124BAC; Sun, 4 Feb 2018 13:59:54 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.531
X-Spam-Level:
X-Spam-Status: No, score=-14.531 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, 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 T9Gr3N_GFbkL; Sun, 4 Feb 2018 13:59:52 -0800 (PST)
Received: from alln-iport-5.cisco.com (alln-iport-5.cisco.com [173.37.142.92]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2BC68124207; Sun, 4 Feb 2018 13:59:52 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=8712; q=dns/txt; s=iport; t=1517781592; x=1518991192; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=8aGLWfTXkAm3HFEEJxTvqSJ/K050X9wz1nUMsl9dBqw=; b=Z6jjiTiD0UCee3QSeAGCRAfsNx9ZHNjYZJTyNTQq/tYXaUe0KpzYn7B1 H3NCGbrceyrGZa7HTMREcL0jAC252H9Ufewn4BGqygGokpXViWvJLxb0X hOCieF8RQMPpptOvp95PhwtWe9/oF+gswrv4HB2DZrLj2d90MsxlI3O8e g=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0CyAACCgXda/5JdJa1ZAxkBAQEBAQEBAQEBAQEHAQEBAQGDIDGBVigKg1uKJI4tggKXSBWCAwqFOwIagh5UGAEBAQEBAQEBAmsohSQGIxEzIgIBBgIOBgYCJgICAjAVEAIEARKKNaJznXSCJ4hyggYBAQEBAQEBAQEBAQEBAQEBAQEggQ+DW4IVgz8pgwWDLwSBVxgXCiaCUDGCNAWkJQKVb5Q3l0kCERkBgTsBHzmBUHAVPSoBghuCVRyCBniNRoEXAQEB
X-IronPort-AV: E=Sophos;i="5.46,461,1511827200"; d="scan'208";a="65629911"
Received: from rcdn-core-10.cisco.com ([173.37.93.146]) by alln-iport-5.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Feb 2018 21:59:51 +0000
Received: from XCH-RTP-011.cisco.com (xch-rtp-011.cisco.com [64.101.220.151]) by rcdn-core-10.cisco.com (8.14.5/8.14.5) with ESMTP id w14LxooM013803 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Sun, 4 Feb 2018 21:59:51 GMT
Received: from xch-rtp-015.cisco.com (64.101.220.155) by XCH-RTP-011.cisco.com (64.101.220.151) with Microsoft SMTP Server (TLS) id 15.0.1320.4; Sun, 4 Feb 2018 16:59:49 -0500
Received: from xch-rtp-015.cisco.com ([64.101.220.155]) by XCH-RTP-015.cisco.com ([64.101.220.155]) with mapi id 15.00.1320.000; Sun, 4 Feb 2018 16:59:49 -0500
From: "Acee Lindem (acee)" <acee@cisco.com>
To: Antoni Przygienda <prz@juniper.net>, "draft-ietf-idr-bgp-prefix-sid.all@ietf.org" <draft-ietf-idr-bgp-prefix-sid.all@ietf.org>, "rtg-dir@ietf.org" <rtg-dir@ietf.org>
Thread-Topic: RtgDir Early review: draft-ietf-idr-bgp-prefix-sid
Thread-Index: AQHTmnmMSKVoIHxlbE6fKX6g9SzxeqOU0f8A
Date: Sun, 04 Feb 2018 21:59:49 +0000
Message-ID: <4A287F94-F61F-49CE-A3CD-C1FFD92E0F0A@cisco.com>
References: <021E41C5-9A7D-4ED8-BF00-F7B6EB1FE148@juniper.net>
In-Reply-To: <021E41C5-9A7D-4ED8-BF00-F7B6EB1FE148@juniper.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.116.152.195]
Content-Type: text/plain; charset="utf-8"
Content-ID: <75A4BDA593280B4E8CE045CC77990D4E@emea.cisco.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtg-dir/ZuTDf1p-6OBbLkF0GNLSwNrPOAw>
Subject: Re: [RTG-DIR] RtgDir Early review: draft-ietf-idr-bgp-prefix-sid
X-BeenThere: rtg-dir@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Routing Area Directorate <rtg-dir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtg-dir>, <mailto:rtg-dir-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtg-dir/>
List-Post: <mailto:rtg-dir@ietf.org>
List-Help: <mailto:rtg-dir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtg-dir>, <mailto:rtg-dir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 04 Feb 2018 21:59:54 -0000

Hi Tony, 

Thanks for the review - see inline. I've prepended "Acee>" to my response.

On 2/2/18, 11:58 PM, "Antoni Przygienda" <prz@juniper.net> wrote:

    I have been selected to do a routing directorate “early” review of draft-ietf-idr-bgp-prefix-sid  draft.
    
    Document: draft-ietf-idr-bgp-prefix-sid
    Reviewer: Tony Przygienda
    Review Date: 1/30/18
    Intended Status: Standards Track
    
    Summary:
    Choose from this list...
    
    I have some comments about this document that I think should be resolved before it is submitted to the IESG.
    
    Comments, mostly clarification and readability improvement
    
    1. The introduction would make the document significantly more readable by pointing out that SPRING SID can only be carried over RFC8277 and SRv6 SID only over RFC4760. Yes, it is described later while the elements are described but makes the reading of the draft hard without this information upfront. 

Acee> This is in the sixth paragraph of the introduction. However, I've added:

   Usage of the BGP Prefix-SID attribute for other AFI/SAFI combinations
   is not defined herein but may be specified in future specifications.

    2. The sentence “The BGP Prefix-SID attached to a BGP prefix P represents the instruction "go to Prefix P" along its BGP best path (potentially ECMP-enabled)” is confusing and would need rewriting IMO. It is the prefix that advises to go to the prefix by lookup and forwarding obviously (if one would use such language) and not the “prefix sid attached to the prefix”.  Maybe something like “BGP Prefix SID present in the segment list should trigger the action of …. and with that ultimately forward the packet to the prefix the SID is associated with along the best ….”

Acee> I agree and have never had an attachment to this phrasing. Here is what I replaced it with. Feel free to suggest changes. 

   The BGP Prefix-SID advertised for BGP prefix P indicates that the
   segment routed path should be used (as described below) if the BGP
   best path selects the corresponding NLRI.


    3. The document should explain whether 
    a. It is valid to receive Originator SRGB TLV without Label Index TLV being present 

Acee> Since the Label Index TLV is required for labeled unicast AFI/SAFIs, the attribute will not be used in this case. 

I did add this:

   Since the Label-Index TLV is required for IPv4/IPv6 prefix applicability,
   the originator SRGB will be ignored if it is not specified consistent
   with Section 6.

    b. It is valid to receive both SRv6 and SPRING SID for the same prefix 

Acee>I think this is stated since it says either will be ignored for an AFI/SAFI for they are not applicable. 

    c. It is valid to receive SRGB TLV while having obtained it by other topology distribution mechanism and which one has preference

Acee>This alternative is outside the scope of the specification. Feel free to suggest text. Typically BGP is fairly liberal with respect to local policy overriding what is learned. 

    4. The document could explain for readability that it is assumed that multiple ranges in SRGB represent logically speaking really a single range to which the index is applied and not multiple ranges of which one is chosen (yes, it could go a long way to not call everything here range). Or reference an RFC where such a thing is clearly explained. 

Acee>I've added this. 

The receiving routers concatenate the ranges and build the Segment
   Routing Global Block (SRGB) as follows:

         SRGB = [100, 199]
                       [1000, 1099]
                       [500, 599]

   The indexes span multiple ranges:

            index=0 means label 100
            ...
            index 99 means label 199
            index 100 means label 1000
            index 199 means label 1099
            ...
            index 200 means label 500
            ...

    5. Those two sentences seem to contradict each other directly. “The mechanisms through which a given label index value is assigned to a given prefix are outside the scope of this document.  The label-index value associated with a prefix is locally configured at the BGP node originating the prefix.”

Acee>I removed the second sentence. 

    6. Not English (important for next point)
    a. “The label index gives the information to the receiving node on which local/incoming label the BGP speaker SHOULD assign.”

Acee> Changed to: 
 
   The label index provides the receiving BGP speaker with
   guidance as to the incoming label that SHOULD be assigned by that BGP
   speaker.


    7. The unparsable sentence in point 6. Makes understanding the forwarding behavior difficult. So is the normal MPLS label used and when and for what (except when SID cannot be derived as described)?  If not, why is the null label signaling needed? In fact what does that mean “Specifically, a BGP speaker receiving a prefix with a BGP Prefix-SID attribute and a label NLRI field of Implicit NULL from a neighbor MUST adhere to standard behavior and program its MPLS dataplane to pop the top label when forwarding traffic to the prefix.  The label NLRI defines the outbound label that MUST be used by the receiving node.”. If we got a NULL and strip what’s there left and what label do we use as the “The label NLRI defines the outbound label” if the label NLRI is implicit NULL. Am I confused?  A small set of examples would go a long way. 

Acee>This is really just RFC 8277.  Reordered the paragraphs appropriately.

  The outgoing label is always programmed as per classic Multiprotocol
   BGP labeled IPv4/IPv6 Unicast ([RFC8277]) operation.  Specifically, a
   BGP speaker receiving a prefix with a BGP Prefix-SID attribute and a
   label NLRI field of Implicit NULL from a neighbor MUST adhere to
   standard behavior and program its MPLS dataplane to pop the top label
   when forwarding traffic to the prefix.  The label NLRI defines the
   outbound label that MUST be used by the receiving node.

   The label index provides the receiving BGP speaker with guidance as
   to the incoming label that SHOULD be assigned by that BGP speaker.

Thanks,
Acee