Re: [bess] John Scudder's Discuss on draft-ietf-bess-evpn-pref-df-11: (with DISCUSS and COMMENT)

"Jorge Rabadan (Nokia)" <jorge.rabadan@nokia.com> Fri, 06 October 2023 19:52 UTC

Return-Path: <jorge.rabadan@nokia.com>
X-Original-To: bess@ietfa.amsl.com
Delivered-To: bess@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 96D10C15109C; Fri, 6 Oct 2023 12:52:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.107
X-Spam-Level:
X-Spam-Status: No, score=-7.107 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, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=nokia.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eDTHwnettslr; Fri, 6 Oct 2023 12:52:20 -0700 (PDT)
Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2119.outbound.protection.outlook.com [40.107.244.119]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D8EB0C14F747; Fri, 6 Oct 2023 12:51:43 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UipxRERb2FYd1YeQTrgWVi2k1gGeaGVBOqGU/pjRNkhAg8vfTgFSlhXIvyCiipJh348/yB5yH6qKK3M7horMsNlJGQ5+WX1anWypaNZ8OHrkvALbFmFpIdshgH5zhmoN7btJxwQK7/GQ0jTMcgZz6Dyr/hIyznqFbc5WA5LL8hwQrJUqwW2Hxh041NkCwAB4zhN0zPzrx3Q/hq/xa4AN0VLnjbrx67Yi+OeglMASERD0kCBQQVvxY/RcW6uwJiw6R2WkFwNpvZgZ0/NKNNL4VwV917SK0Ls8XV/ncgowPwwEM0JPE0BuElELPGG/a1/rjuemEXQx8lQsp6udy38WWw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=a7vAiW0HeBhPbRLR5NSaBar0lQiDgQ9vpf9fwbKotY8=; b=eF2QnhsAVZ2NSZKnjtE3mfCQreOCuO2ehw+CeBqqKqDmoffsj+rEO6IJjIdPtO4CcRn98BgZV+35++jrkbJhZKt9/8XFZaK2f+3QI6lnweLixCvwbCz/W5m86naXDAb2Uks54KQHvzMKvGGdn7OvrO0SDBwIjpEA5y9qRkjm9b+HCRLNpdPISteAioEFqflXc5n71njM1Kcue0+8gSp5RynuNtou9gLrrfsyXVGdLRhamzvo43KgUMFvH7WwBxCxHSrtnWD3L1FEkFTEU94wHY/MvzSptonbwhYqL4SdXeBEm8N26SFLvk9Y8auMRX6Wm6MO1UejeTTDXedW9RUf0Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia.com; dmarc=pass action=none header.from=nokia.com; dkim=pass header.d=nokia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=a7vAiW0HeBhPbRLR5NSaBar0lQiDgQ9vpf9fwbKotY8=; b=Ecb5zS7cKIYx/gCD8bqgOd3UQKyCeobty4TR8uA87HJqXdNAYnenHOqul+gLh3F3YR+A24PPLkd9Etx2GSp5aMeWjHP62miXEpJBCSw823fXIxGXGPi99rAjOVOsCa+0QyIfvY3qOdBK+xrD3sJymfsjQwHhaGiHpTH2cVvuud+mCogJKHP63cP6TLYMlFZXzKRfbDqjjZ8pIxaa5UwKWoBz+f4cskbPQMqq1xLpOveiRlhNekCfqE0UkXzgQPQnnhWndM2J4ac6/+S/1Wgy3Vs7gugWPqCgxeCoCUaLzGJTEcU0cNXNax6wrGQk16aDbDQc3tQWoi+knno64BxKwg==
Received: from DS0PR08MB9445.namprd08.prod.outlook.com (2603:10b6:8:1b7::10) by CYXPR08MB9049.namprd08.prod.outlook.com (2603:10b6:930:d5::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6838.25; Fri, 6 Oct 2023 19:51:41 +0000
Received: from DS0PR08MB9445.namprd08.prod.outlook.com ([fe80::f036:f280:d5a9:ca7a]) by DS0PR08MB9445.namprd08.prod.outlook.com ([fe80::f036:f280:d5a9:ca7a%5]) with mapi id 15.20.6813.041; Fri, 6 Oct 2023 19:51:41 +0000
From: "Jorge Rabadan (Nokia)" <jorge.rabadan@nokia.com>
To: John Scudder <jgs@juniper.net>, The IESG <iesg@ietf.org>
CC: "draft-ietf-bess-evpn-pref-df@ietf.org" <draft-ietf-bess-evpn-pref-df@ietf.org>, "bess-chairs@ietf.org" <bess-chairs@ietf.org>, "bess@ietf.org" <bess@ietf.org>, Stephane Litkowski <slitkows.ietf@gmail.com>
Thread-Topic: John Scudder's Discuss on draft-ietf-bess-evpn-pref-df-11: (with DISCUSS and COMMENT)
Thread-Index: AQHZxnDzkl6FACvjfUKpsW60gw90sbA3OrNr
Date: Fri, 06 Oct 2023 19:51:41 +0000
Message-ID: <DS0PR08MB94457C0B11E5608E66C7666AF7C5A@DS0PR08MB9445.namprd08.prod.outlook.com>
References: <169111163293.58993.7675372752038172128@ietfa.amsl.com>
In-Reply-To: <169111163293.58993.7675372752038172128@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nokia.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DS0PR08MB9445:EE_|CYXPR08MB9049:EE_
x-ms-office365-filtering-correlation-id: a2506ff3-a3a8-4176-f19a-08dbc6a5a950
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 0JbXhyGQemv/a4ANJ+hF0wo6LXXMA6AHbWjm6Jn0dN/MLpal/OS9d1gkTnUeqkGu8oWL7FXvZ8/qa7HC3dJHz2sW8aSviRYKutokIkxIWN8kHuJASYRQBmo+0XbWCxAPWqm2BhV5ACtOfWu+PBuDCnB0Bf3tBxRT/T25TIcUWSdOhuikIT6NnnX/w/M4sTRnF4oHHFC/p8mOcEaKqGYPt5rUcCGOIr8LNc3uNZgVhpMHVnuRlbQ2FIFPSVjFnnI61sKzfbP0at7TF+eYTH59ja3RlxA7cy4zyUV0W7vviO4FfXyVvg/tnZbiA7Z8yqm4tmbiTiBNaCRxCIZnvTHqNHdFwWCPY7Eo08GOBJP98p8oNRoOjMMygULTzY7K5kDBgJYPisCmBm6+fLlTqGS40N6wg4b9w7VzWTGrS6dYoBV0qc6Dfg0yCXgaQsjuYt2+Bm9zD8wZLwnyp9f4Sx2RUzqTJZKlFOCDMIueVQgoW3eBz+PgOsCqTrscaW6ZDXq883Zwu0maHqU+PMuw2oqrvEoIt+KaHlQ5RDs2M8sTlCfRdgiJypXPHeYrYitz1VaFtYu7l+VpKDmoDjU6F7/oytZqlYQY3p0TimM9tMq5eMkjmB7/NfSxg7S6iGAAxRmSwQw5A7Tlw1fU2lL+riGnuA==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR08MB9445.namprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366004)(396003)(376002)(39860400002)(346002)(136003)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(66476007)(38100700002)(478600001)(26005)(54906003)(8936002)(83380400001)(64756008)(316002)(71200400001)(66556008)(110136005)(52536014)(55016003)(966005)(4326008)(9686003)(41300700001)(30864003)(7696005)(122000001)(53546011)(66899024)(66946007)(5660300002)(9326002)(6506007)(8676002)(2906002)(66446008)(166002)(33656002)(86362001)(82960400001)(38070700005)(76116006)(84970400001); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: IHSVs0J75PMqe1fLxDWqrsX+woBgN/Fg214lljmW/pt0ZB0NEgLFU6JHOvAw4tnPqlIXoCnpaMk/5Vc21JQ4HpCWjS6PHGN30yKOLCUWM7ZYuW+dHnsogUd8fz4W2C7PGw/iLTUMduXoE5deuB46Qp/V4IEtcWacXT4fNmf8CnaMqxIUu0gxVUs4XNsvGX+Pt3VskytNuLlRyiHq1ly6qdZDxR8rn5p0/AmLn2qYuCMx7L3n+ajOeXUfOusu40s7NiO2/BASOYAYXX7wJiF0yyAw6foPkYdLVn6xFUBCukT92K387xcPOBGCTRIg4md/4w+y6TRK9AxPq/2rlzRRx7gptSVeJr18VGIV6Z4Ph6vRGEqgOeLjXhwSMFtQ2AUdrsK/dLcpMwD9zu2OM14JhbmY9P8hFqXXVBNSE8jHVIsUzB4iVf7M3rSXVzwFB1y5LmoM7IDR8o392qxFGtM3kU4j3jOJxG/lft5pQRJOcAB6OZNRj6okliNSGW2KnGxGGN2t1qy6+wMwpOFqCqFMfEPvklt7GDbft04hzE4YgEcyO+HaTIaa6gX3R0Z2utDuZwNde4F3E96nzTcg9KvY3bxIKIVB05psVWaRIl3fPC2sShTXl9SPPiJ4NWWe7g5iTdL6T+gw0TldCcitDpVfGyREGku6yODrP/+PEuf8tFMZLqUDgC+qfE/ZhHKFlmk/gQT87XxjHYSN0QEh3WULVeBzY6u7qI3bB2AiKhoGuzu+UN3VHuH7NJeYCA8sARQni0H8LAuQv3GTk4r41FLEc+rdnMo4HLQyjmMacX/bn+8b5VFlZLm6a6EuA6SOoypBGDCLtQFei9i5VTnAQhom/Fp4Fjtku7lenkXF401/SDcI+6y0/+jtj0LvOzmKywR24A5G0+LeoQk0y8Mz/C/fhh780rqnc/fRqALFuHXkr7XftNsXu/h69OxukOv7hKLbmHxd7nY9k+UaKDoQ2T1K+Gm1rwGa8rg7RQoA17dAIpf/hR7KdhcUmyUXOYas0rNMajrU0rX0Cu+ydPkBLk0Xsj1GAkTNPxrAKdS1u9V4AoX+iHV2zN7mg7lvvnKuTKCElrKE7KWS8YzTUD5QmwcmnIWJD9J8EoKhDz6UdqqrGoUvvdvHhdbuULOFGsKaQzYZPHGl/qAdzlbdvYxcbKjOklwk0RYpWPZJiyBdYT9y88tJTHsITZTq4gmSlsJuW3z+JCjPRJkvkB6iIbfZL0jYL4bMZluu2LGW35OqSljQhq7xOaAFVU2bOBPXr4g1uA2T/en6wVT9C6S19kWcWTa8+yiIPGEzO2/ZvxC3et6mTJM9Yjf3S++0Tcn+HTR3JqtH5wFExiUOkEmj/Wb+nDl7PhqIaENHEZAcHsbnysH+FyLOtYFLG+tAYCdSdve08ULSk/Qu+nNM9puRHl5qYFmUM3HTr5cl0Q8doFwPEd2tJXYyruJbVl6eQC+IqSC6vOiLcvZv1j67xLpUcwXl+AXBKRmfebIUNhLgX/qu70bzbbbTU/NgunX49c4uWJytV31+QP58fWtILd7F1tKRZWkxSSLoQaBdz4S4G0U338EmlgXCRhBP6vLgPiJ0hl3T4s1PFGn/KnNO8d338pD5XdL3wA==
Content-Type: multipart/alternative; boundary="_000_DS0PR08MB94457C0B11E5608E66C7666AF7C5ADS0PR08MB9445namp_"
MIME-Version: 1.0
X-OriginatorOrg: nokia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DS0PR08MB9445.namprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a2506ff3-a3a8-4176-f19a-08dbc6a5a950
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Oct 2023 19:51:41.5262 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: rkrQGEiMaop6bLSYiDYRlZvp8GNLXxGhN6eCAZDu+cCPcndu/EypQlSxhl3TpOV2kpaPHGKPLudbR89fSyPDAg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR08MB9049
Archived-At: <https://mailarchive.ietf.org/arch/msg/bess/Vezh-YTTS-FNdtnNOYSSF88gYJk>
Subject: Re: [bess] John Scudder's Discuss on draft-ietf-bess-evpn-pref-df-11: (with DISCUSS and COMMENT)
X-BeenThere: bess@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
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: Fri, 06 Oct 2023 19:52:24 -0000

Hi John,

Thanks very much for your review. Great comments as usual.
We addressed them in version 12 of the document. Please let us know if this new version solves your DISCUSS and COMMENTs.

Also please see in-line with [Jorge].

Thanks!
Jorg

From: John Scudder via Datatracker <noreply@ietf.org>
Date: Thursday, August 3, 2023 at 6:14 PM
To: The IESG <iesg@ietf.org>
Cc: draft-ietf-bess-evpn-pref-df@ietf.org <draft-ietf-bess-evpn-pref-df@ietf.org>, bess-chairs@ietf.org <bess-chairs@ietf.org>, bess@ietf.org <bess@ietf.org>, Stephane Litkowski <slitkows.ietf@gmail.com>, slitkows.ietf@gmail.com <slitkows.ietf@gmail.com>
Subject: John Scudder's Discuss on draft-ietf-bess-evpn-pref-df-11: (with DISCUSS and COMMENT)

CAUTION: This is an external email. Please be very careful when clicking links or opening attachments. See the URL nok.it/ext for additional information.



John Scudder has entered the following ballot position for
draft-ietf-bess-evpn-pref-df-11: 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-evpn-pref-df/



----------------------------------------------------------------------
DISCUSS:
----------------------------------------------------------------------

# John Scudder, RTG AD, comments for draft-ietf-bess-evpn-pref-df-11
CC @jgscudder

## DISCUSS

Thanks for this specification. It seems needed and useful. Once I put in the
effort I think I understand what you're doing. I think it could be presented
even more clearly, and I offer some suggestions toward that below. I also have
several points I want to raise about possible problem areas, which I hope we'll
be able to work through quickly.

### General, Please Update RFC 8584, add IANA Consideration

Since you modify the definition of the DF Election Extended Community, I think
you should update (with the Updates: metadata) RFC 8584, and in your IANA
Considerations you should add <this document> as an additional reference for DF
Election Extended Community in the EVPN Extended Community Sub-Types registry.
[Jorge] sounds good. Done.

### Section 3, potentially breaks other DF algorithms

You have:

      -  Bit 0 (corresponds to Bit 24 of the Designated Forwarder
         Election Extended Community and it is defined by this
         document): D bit or 'Don't Preempt' bit (DP hereafter),
         determines if the PE advertising the Ethernet Segment route
         requests the remote PEs in the Ethernet Segment not to preempt
         it as Designated Forwarder.  The default value is DP=0, which
         is compatible with the 'preempt' or 'revertive' behavior in the
         Default DF Algorithm [RFC7432].  The DP capability is supported
         by DF Algorithms Highest-Preference or Lowest-Preference, and
         MAY be used with the default DF Algorithm or HRW [RFC8584].
         The procedures of the "Don't Preempt" capability for the
         default DF Algorithm or HRW are out of the scope of this
         document.

A cursory skim of RFC 7432 Section 8.5 leads me to think that the Default DF
Algorithm (at least) works by having all PEs run the election independently;
since they run the same algorithm over the same data they are assumed to come
to the same conclusion, and pick the same DF.

If that understanding is correct then I'm concerned about the last
sentence-and-a-half of the quoted text:

         [the DP capability]
         MAY be used with the default DF Algorithm or HRW [RFC8584].
         The procedures of the "Don't Preempt" capability for the
         default DF Algorithm or HRW are out of the scope of this
         document.

because you've taken the fully-specified algorithm defined in 7432, and made it
underspecified by saying that the DP capability MAY be used with it while
explicitly not saying *how* it is to be used.

Perhaps there's some reason I shouldn't worry about this, or perhaps you should
revise the quoted text. Let's discuss.
[Jorge] I agree, John. Éric also made a similar comment, so the new text says:
>The procedures of the "Don't Preempt" capability for other DF Algorithms are out of the scope of this document. The procedures of the "Don't Preempt" capability for the Highest-Preference and Lowest-Preference DF Algorithms are described in section 4.1.


### Section 4.1, extra "not" inverts meaning of sentence

                                                        a given PE in
   the Ethernet Segment is not considered as candidate for Designated
   Forwarder Election until its corresponding Ethernet A-D per ES and
   Ethernet A-D per EVI routes are not received, as described in
   [RFC8584].

Is the second "not" mistaken, in the quoted text, i.e. should "are not
received" actually be "are received"?
[Jorge] good catch. Changed to “are received”

### Section 4.2, "any other logic" unspecified, non-interoperability ensues

   For Ethernet Segments attached to three or more PEs, any other logic
   that provides a fair distribution of the Designated Forwarder
   function among the PEs is valid, as long as that logic is consistent
   in all the PEs in the Ethernet Segment.

On the surface of it, this seems fine (well for small values of "fine" once one
has accepted that we're going to give up on using the control plane to signal
this stuff and are relying on local configuration instead). But in practice, it
seems to me as though it's a recipe for non-interoperable implementations.
Indeed I think that's explicit in "... as long as that logic is consistent in
all the PEs in the Ethernet Segment" and the dire warnings that follow.

While the example presented earlier in Section 4.2 is clean enough -- two PEs,
half of the tags get assigned lowest-preference algorithm and the others get
highest-preference -- once you've got three or more, I assume you're going to
use a hash or something like that. Since you only have two defined algorithms,
you can't cleanly accommodate more than two PEs.

This seems like an important point to be abdicating in a Standards Track
document. Is it the WG's position that two is almost always going to be enough?
(But then why have Section 4.2 at all?) Did the WG discuss and explicitly
accept that by leaving this unspecified, we almost guarantee that different
implementations won't interoperate in this use case?
[Jorge] there were multiple discussions among the authors about how to signal a different highest or lowest preference algorithm per group of Ethernet Tags, and multiple attempts to do something, and we always came back to the conclusion that using virtual Ethernet Segments was actually simpler, if there was a need of a good DF distribution and more than two PEs. So IMHO I would leave this section here, since it is documenting what some actual implementations do (and two PEs in the Ethernet Segment is actually most of the cases). However I replaced the last paragraph as follows:
“While the above logic provides a perfect load balancing distribution of Ethernet Tags per Designated Forwarder when there are only two PEs, for Ethernet Segments attached to three or more PEs, there would be only two Designated Forwarder PEs for all the Ethernet Tags. Any other logic that provides a fair distribution of the Designated Forwarder function among the three or more PEs is valid, as long as that logic is consistent in all the PEs in the Ethernet Segment. It is important to note that, when a local policy overrides the Highest-Preference or Lowest-Preference signaled by all the PEs in the Ethernet Segment, this local policy MUST be consistent in all the PEs of the Ethernet Segment. If the local policy is inconsistent for a given Ethernet Tag in the Ethernet Segment, packet drops or packet duplication may occur on that Ethernet Tag. For all these reasons the use of virtual Ethernet Segments is RECOMMENDED for cases where more than two PEs per Ethernet Segment exist and a good load balancing distribution per Ethernet Tag of the Designated Forwarder function is desired.”

Would that be enough?

----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------


## COMMENTS

### Abstract

   The Designated Forwarder (DF) in Ethernet Virtual Private Networks
   (EVPN) is defined as the PE responsible for sending Broadcast,
   Unknown unicast and Broadcast traffic (BUM)

Should be "and Multicast", surely?
[Jorge] yes, fixed.

### Section 2, orphan terms

In the terminology section, these terms are defined but never used:
  - BD
  - NDF
  - BDF
  - Ethernet A-D per ES route
  - ISID
  - MAC-VRF

And these terms are defined but never used outside the Abstract and
Introduction where they're already defined in-line (thanks for that) so they're
also not needed:
  - BUM
  - ESI
[Jorge] removed, thanks.

### Section 4.1, need forward reference to Section 4.3 about DP bit

In 4.1(e) where you discuss the use of the DP bit, I strongly suggest that you
add a forward reference to Section 4.3 since it's not possible to understand
the use of the DP bit until you walk through the fact that it's going to be
twiddled dynamically to effect the desired behavior.
[Jorge] done.

### General, need an overview somewhere early on; Introduction feels unfinished

I would have been spared a lot of confusion if there had been a brief overview
early on so that I didn't keep hitting surprises. Now that I look at it, the
Introduction seems unfinished, with only the problem statement and
requirements. The natural thing would be to add a Section 1.3, Solution
Overview, that presents just the bare bones outline of the solution, something
like:

1.3. Solution Overview

        To provide a solution that satisfies the above requirements, we
        introduce two new DF Algorithms that can be advertised in the DF
        Election Extended Community [Section 3]. Carried with the new DF
        Election Extended Community variants are a DF election preference
        advertised for each PE, that influences which PE will become DF
        [Section 4.1]. The advertised DF election preference can dynamically
        vary from the administratively configured preference to provide
        non-revertive behavior [Section 4.3].

        An optional solution is discussed in [Section 4.2], for use in Ethernet
        segments that support large numbers of Ethernet Tags and therefore need
        to balance load among multiple DFs.

Feel free to use any of that, or not, as you see fit.
[Jorge] the text is a perfect summary, we could not have come up with a better one. Took it all. Thank you very much!

### Section 4.3, why is highest-preference more complex than lowest-preference?

In the paragraph right before point (1), you have, "The procedure is described
assuming Highest-Preference Algorithm in the Ethernet Segment, where local
policy overrides the tie-breaker for a given Ethernet Tag, since this is the
most complex case."

I don't see why highest-preference is any more complex than lowest-preference?
[Jorge] it is poorly written – my bad. I didn’t want to convey that highest-preference is more complex, but the part “local policy overrides the tie-breaker for a given Ethernet Tag” is the one that required more explanation. Hopefully the new text in version 12 makes sense.

### Section 4.3, algorithm is strangely specified

In point 5, you specify picking *two* reference-PEs, both a Highest-PE and a
Lowest-PE:

       *  Select two "reference-PEs" among the Ethernet Segment routes
          in the virtual Ethernet Segment, the "Highest-PE" and the
          "Lowest-PE":

[and so on]

But then in the paragraph right after point (6), you say

   If the Ethernet Segment uses Highest-Preference Algorithm (for all
   the Ethernet Tags, no local policy), the PEs only need to select the
   "Highest-PE" as the "reference-PE" (i.e., no need to select the
   "Lowest-PE").  If the Ethernet Segment uses Lowest-Preference
   Algorithm for all the Ethernet Tags, the PEs only need to select the
   "Lowest-PE" as the "reference-PE".  The rest of the procedure remains
   the same.

While it's possible to patch together a coherent algorithm after considering
all this, I can't imagine why you trick the reader by telling them to pick
both, but then at the end saying "ha ha, I was only joking, you need just one".
The more straightforward approach, IMO, would be something like this:

OLD:
       *  Select two "reference-PEs" among the Ethernet Segment routes
          in the virtual Ethernet Segment, the "Highest-PE" and the
          "Lowest-PE":

NEW:
       *  Select a "reference-PE" among the Ethernet Segment routes
          in the virtual Ethernet Segment. If the Ethernet Segment uses
          the Highest-Preference algorithm, select a "Highest-PE". If it
          uses the Lowest-Preference algorithm, select a "Lowest-PE", as
          follows:

Or perhaps (since in my suggested text I elided the "no local policy" stuff)
that's the hint for me about why you did it that way. But I think this can
still be done in line, and more clearly, as in:

NEW2:
       *  Select a "reference-PE" among the Ethernet Segment routes
          in the virtual Ethernet Segment. If the Ethernet Segment uses
          the Highest-Preference algorithm, select a "Highest-PE". If it
          uses the Lowest-Preference algorithm, select a "Lowest-PE". If
          some more complex local policy is in use, as discussed in
          [Section 4.2], it may be necessary to select both a Highest-PE
          and a Lowest-PE. They are selected as follows:

And then get rid of the paragraph following (6).
[Jorge] ok, done. See the new text in version 12.

### Section 5, attacker can force revertive behavior

I wasn't going to mention this, but since you point to the non-revertive
behavior as a security benefit (I agree), I think you also have to consider
that an attacker who gets access to the configuration of a PE in the Ethernet
Segment will be able to easily disable non-revertive behavior, by advertising a
conflicting DF election algorithm and thereby forcing fallback to the Default
algorithm.
[Jorge] fair point, added. Thanks.

## NITS

- s/candidate lits/candidate list/
- s/The existence of both provide/The existence of both provides/
[Jorge] fixed, thanks

## 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