[bess] John Scudder's Discuss on draft-ietf-bess-mvpn-evpn-aggregation-label-12: (with DISCUSS and COMMENT)
John Scudder via Datatracker <noreply@ietf.org> Tue, 03 October 2023 22:06 UTC
Return-Path: <noreply@ietf.org>
X-Original-To: bess@ietf.org
Delivered-To: bess@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id CA670C152561; Tue, 3 Oct 2023 15:06:10 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: John Scudder via Datatracker <noreply@ietf.org>
To: The IESG <iesg@ietf.org>
Cc: draft-ietf-bess-mvpn-evpn-aggregation-label@ietf.org, bess-chairs@ietf.org, bess@ietf.org, slitkows.ietf@gmail.com, slitkows.ietf@gmail.com, idr-chairs@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 11.12.1
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: John Scudder <jgs@juniper.net>
Message-ID: <169637077080.10573.15437150689132889287@ietfa.amsl.com>
Date: Tue, 03 Oct 2023 15:06:10 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/bess/1vPeazMYbVzohsSuosnlL4ZBef0>
Subject: [bess] John Scudder's Discuss on draft-ietf-bess-mvpn-evpn-aggregation-label-12: (with DISCUSS and COMMENT)
X-BeenThere: bess@ietf.org
X-Mailman-Version: 2.1.39
List-Id: BGP-Enabled ServiceS working group discussion list <bess.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/bess>, <mailto:bess-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/bess/>
List-Post: <mailto:bess@ietf.org>
List-Help: <mailto:bess-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/bess>, <mailto:bess-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 03 Oct 2023 22:06:10 -0000
John Scudder has entered the following ballot position for draft-ietf-bess-mvpn-evpn-aggregation-label-12: Discuss When responding, please keep the subject line intact and reply to all email addresses included in the To and CC lines. (Feel free to cut this introductory paragraph, however.) Please refer to https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/ for more information about how to handle DISCUSS and COMMENT positions. The document, along with other ballot positions, can be found here: https://datatracker.ietf.org/doc/draft-ietf-bess-mvpn-evpn-aggregation-label/ ---------------------------------------------------------------------- DISCUSS: ---------------------------------------------------------------------- # John Scudder, RTG AD, comments for draft-ietf-bess-mvpn-evpn-aggregation-label-12 CC @jgscudder Thanks for this spec. I have one serious concern (but I think it will be easy to take care of) and a few comments and nits. (Sorry for the iteration on this ballot, I missed one of my pages of notes in my haste to get this sent off.) ## DISCUSS ### Section 3.2, ignoring routes considered harmful There are two places toward the end of this subsection where you specify that a route must be ignored. The first is: "A PE MUST ignore a received route with both the DCB-flag and the Context Label Space ID EC attached, treating as if it was not received." The second is: "If a PE originates two x-PMSI/IMET routes with the same tunnel, it MUST ensure one of the following" ... "Otherwise, a receiving PE MUST ignore the routes." Literally ignoring routes is one of the classic Bad Ideas in BGP. There can be exceptions, if the conditions for ignoring the routes are carefully chosen so that correctness (or something like it) is preserved, but as a general matter, ignoring routes is a one-way ticket to persistent traffic loss or worse. It's for this reason that RFC 7606 specifies treat-as-withdraw for many error conditions. I'll illustrate the general problem with an example that uses simple IPv4 unicast routes: - Suppose we receive 10/8, with nexthop 1.1.1.1, choose it as best, and install it in the FIB. - Now suppose the router that advertised it to us sends a replacement, an advertisement for 10/8, nexthop 2.2.2.2, including path attribute P that we decide is malformed. We ignore the route as our error handling strategy. - We are left in a state where we still have 10/8 via 1.1.1.1 selected and installed, because we ignored the replacement, "treating it as if was not received". This is an incorrect state. I can easily show you scenarios where it leads to traffic loss, persistent loops, etc. - The correct behavior in this scenario would be to remove the 10/8 route received in the first step; RFC 7606 calls this "treat-as-withdraw". It might be that something special about MVPN/EVPN routes means this isn't an issue for the two cases I've quoted, but you haven't made this clear in the document. I think at minimum, some analysis is needed to show that the strategy is OK. On the other hand if what you meant by "ignore" is something closer to the "treat-as-withdraw" strategy, I think the language has to be made more specific and leave less to the creativity and imagination of the implementor. Let's have a discussion about which it is, and see where to go from there. Edited to add: I sent this as a followup to my original ballot, with cc idr-chairs: "I suspect my DISCUSS would have been caught if there had been review from IDR. Searching for the draft name in the IDR mailing list archive doesn’t surface any traffic about it, so I’m guessing this didn’t occur." ---------------------------------------------------------------------- COMMENT: ---------------------------------------------------------------------- ## COMMENTS ### Section 3, EC Please expand "EC" on first use, or put it in your glossary, or my personal favorite, just use the words "Extended Community" and remove "EC" altogether, it's unnecessary and (in my opinion) unhelpful to abbreviate it. ### Section 3.1, need registry? You have an ID-Type and define the semantics of type 0. You probably should create a registry for the unallocated types. ### Section 3.1, AND or OR? You have: In the remainder of the document, when we say a BGP-MVPN/EVPN A-D route "carries DCB-flag" or "has DCB-flag attached" we mean the following: * The route carries a PMSI Tunnel Attribute (PTA) and its Flags field has the Extension bit set * The route carries an "Additional PMSI Tunnel Attribute Flags" EC and its DCB flag is set I think you need to indicate if the bullets are ANDed or ORed. I infer from later context that they're ORed, in which case perhaps "we mean one or the other of the following". ### Section 3.1, values aren't TBA, they've been assigned You write, "Sub-Type value to be assigned by IANA". But your IANA section shows that the sub-type has been assigned the value 0x08. Please update the "to be assigned" language, and put the value into the diagram. You also write, "This document introduces a DCB flag (to be assigned by IANA)". Again, your IANA section shows IANA has assigned value 47, so please update the text in this section to match. ## NITS ### Section 2.2 - "number of total number of labels" --> too many "number of"s ### Section 2.2.2.3 - "w/o" --> "without" ## Notes This review is in the ["IETF Comments" Markdown format][ICMF], You can use the [`ietf-comments` tool][ICT] to automatically convert this review into individual GitHub issues. [ICMF]: https://github.com/mnot/ietf-comments/blob/main/format.md [ICT]: https://github.com/mnot/ietf-comments
- [bess] John Scudder's Discuss on draft-ietf-bess-… John Scudder via Datatracker
- Re: [bess] John Scudder's Discuss on draft-ietf-b… Jeffrey (Zhaohui) Zhang
- Re: [bess] John Scudder's Discuss on draft-ietf-b… John Scudder
- Re: [bess] John Scudder's Discuss on draft-ietf-b… Jeffrey (Zhaohui) Zhang