[mpls] [Errata Held for Document Update] RFC3107 (4582)
RFC Errata System <rfc-editor@rfc-editor.org> Thu, 11 February 2016 23:41 UTC
Return-Path: <wwwrun@rfc-editor.org>
X-Original-To: mpls@ietfa.amsl.com
Delivered-To: mpls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CAFDE1B3C80; Thu, 11 Feb 2016 15:41:05 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.903
X-Spam-Level:
X-Spam-Status: No, score=-106.903 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=ham
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 PG4sA6uU3IXE; Thu, 11 Feb 2016 15:41:01 -0800 (PST)
Received: from rfc-editor.org (rfc-editor.org [4.31.198.49]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 09B001B3C7E; Thu, 11 Feb 2016 15:41:00 -0800 (PST)
Received: by rfc-editor.org (Postfix, from userid 30) id 66D12180006; Thu, 11 Feb 2016 15:40:21 -0800 (PST)
To: equinox@opensourcerouting.org, yakov@juniper.net, erosen@cisco.com
X-PHP-Originating-Script: 30:errata_mail_lib.php
From: RFC Errata System <rfc-editor@rfc-editor.org>
Message-Id: <20160211234021.66D12180006@rfc-editor.org>
Date: Thu, 11 Feb 2016 15:40:21 -0800
Archived-At: <http://mailarchive.ietf.org/arch/msg/mpls/JX8teuIpq4Zy5q_oFZuXaEdsNk0>
Cc: mpls@ietf.org, iesg@ietf.org, rfc-editor@rfc-editor.org
Subject: [mpls] [Errata Held for Document Update] RFC3107 (4582)
X-BeenThere: mpls@ietf.org
X-Mailman-Version: 2.1.15
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: Thu, 11 Feb 2016 23:41:06 -0000
The following errata report has been held for document update for RFC3107, "Carrying Label Information in BGP-4". -------------------------------------- You may review the report below and at: http://www.rfc-editor.org/errata_search.php?rfc=3107&eid=4582 -------------------------------------- Status: Held for Document Update Type: Technical Reported by: David Lamparter <equinox@opensourcerouting.org> Date Reported: 2016-01-06 Held by: Deborah Brungard (IESG) Section: GLOBAL Original Text ------------- [... section 3: ...] A BGP speaker can withdraw a previously advertised route (as well as the binding between this route and a label) by either (a) advertising a new route (and a label) with the same NLRI as the previously advertised route, or (b) listing the NLRI of the previously advertised route in the Withdrawn Routes field of an Update message. The label information carried (as part of NLRI) in the Withdrawn Routes field should be set to 0x800000. (Of course, terminating the BGP session also withdraws all the previously advertised routes.) 4. Advertising Multiple Routes to a Destination A BGP speaker may maintain (and advertise to its peers) more than one route to a given destination, as long as each such route has its own label(s). The encoding described above allows a single BGP Update message to carry multiple routes, each with its own label(s). In the case where a BGP speaker advertises multiple routes to a destination, if a route is withdrawn, and a label(s) is specified at the time of withdrawal, only the corresponding route with the corresponding label is withdrawn. If a route is withdrawn, and no label is specified at the time of withdrawal, then only the corresponding unlabeled route is withdrawn; the labeled routes are left in place. [...] Corrected Text -------------- -- ALTERNATE 1: require label value -- A BGP speaker can withdraw a previously advertised route by either (a) advertising a new route with the same NLRI (including label) as the previously advertised route, or (b) listing the NLRI of the previously advertised route in the Withdrawn Routes field of an Update message. The label information carried (as part of NLRI) in the Withdrawn Routes field MUST be set to the value previously announced. (Of course, terminating the BGP session also withdraws all the previously advertised routes.) The binding between route and label cannot be updated to change the label without withdrawing the old label and sending an update with the new label. [keep section 4 unchanged] -- ALTERNATE 2: drop multiple label support -- A BGP speaker can withdraw a previously advertised route (as well as the binding between this route and a label) by either (a) advertising a new route (and a label) with the same prefix as the previously advertised route, or (b) listing the NLRI of the previously advertised route in the Withdrawn Routes field of an Update message. The label information carried (as part of NLRI) in the Withdrawn Routes field should be set to 0x800000. (Of course, terminating the BGP session also withdraws all the previously advertised routes.) [remove section 4, remove capability "4" in section 5] -- ALTERNATE 3: clarify implications of capability "4" -- [optionally, change section 3:] The label information carried (as part of NLRI) in the Withdrawn Routes field SHOULD be set to the value previously announced. [insert section 5.1:] 5.1. Implications of Multiple Routes Capability Implementing the "multiple routes" capability introduced above slightly changes the processing of update and withdraw messages to requiring an exact match on the label, i.e. including it in NLRI comparisons. To ensure interoperability, an implementation that has this capability SHOULD NOT send updates with different label values on a session whose peer does not advertise the capability. The peer would in this case only hold the latest update, possibly introducing label oscillations. Further, the implementation MUST process incoming updates and withdraws on such sessions as if their labels were wildcards, removing any previous routes with the same prefix. It MUST NOT hold the same prefix with any but the last seen label value on these sessions. Notes ----- This issue was previously discussed in https://osdir.com/ml/ietf.idr/2004-06/msg00010.html https://osdir.com/ml/ietf.idr/2004-06/msg00018.html Sections 3 and 4 are inherently conflicting. The conflict is: Section 3 states a withdraw "should" be sent with a null label/BoS=1. This means it's not possible to withdraw a specific labeled route, instead all routes with the given prefix would need to be withdrawn. However, section 4 specifies exact-match behavior for processing updates and withdraws. Also, the Section 3 text is semantically/editorially wrong in itself, saying (shortened) "withdraw [...] binding [... by] new route (and a label) with the same NLRI". However, the label is part of the NLRI; an update with the same NLRI could thus not withdraw the binding, only possibly cause it to not be selected as best path anymore by updating attributes. I have not checked what other implementations do; Quagga (which only implements this as route reflector): - does not implement SAFI 4, but applies the behavior on SAFI 128 (VPN) - does not advertise capability 4 - excludes the label value from all comparisons - will only keep the last label value received - will set the label on withdraws to all zeroes (ignoring the recommended value) Note that, as with Quagga, this also affects BGP-VPN implementations since these essentially inherit the behavior. Also note that the "Multiple Routes Capability" is global over all AFI/SAFI pairs. P.S.: Out of curiosity / for IDR mailing list: for anyone implementing 3107 or 4364: does your implementation include/advertise the "multiple routes" capability? -------------------------------------- RFC3107 (draft-ietf-mpls-bgp4-mpls-04) -------------------------------------- Title : Carrying Label Information in BGP-4 Publication Date : May 2001 Author(s) : Y. Rekhter, E. Rosen Category : PROPOSED STANDARD Source : Multiprotocol Label Switching Area : Routing Stream : IETF Verifying Party : IESG
- [mpls] [Errata Held for Document Update] RFC3107 … RFC Errata System
- [mpls] [Technical Errata Reported] RFC3107 (4582) RFC Errata System
- Re: [mpls] [Technical Errata Reported] RFC3107 (4… Eric C Rosen
- Re: [mpls] [Technical Errata Reported] RFC3107 (4… Alexander Okonnikov