[bess] Re: Routing Directorate early review for draft-ietf-bess-evpn-per-mcast-flow-df-election-09

Acee Lindem <acee.ietf@gmail.com> Sat, 05 July 2025 20:15 UTC

Return-Path: <acee.ietf@gmail.com>
X-Original-To: bess@mail2.ietf.org
Delivered-To: bess@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 304BF3ED905C; Sat, 5 Jul 2025 13:15:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 49cCU8PaeHMM; Sat, 5 Jul 2025 13:15:25 -0700 (PDT)
Received: from mail-qk1-x72d.google.com (mail-qk1-x72d.google.com [IPv6:2607:f8b0:4864:20::72d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id EB2263ED9046; Sat, 5 Jul 2025 13:15:22 -0700 (PDT)
Received: by mail-qk1-x72d.google.com with SMTP id af79cd13be357-7d38ddc198eso241269585a.1; Sat, 05 Jul 2025 13:15:22 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751746522; x=1752351322; darn=ietf.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=gL++PJFQRqkXZ8HwT11/Tgf1BT3kyPqeAEnj+LYB+Do=; b=ZF/2mATR4A/h+0NdUHPLOH6MsH716H52rKIWzkMy7ktBg+urP0Z5QS35/L4ptO3g2m ndhnaiKDQSxTTVdNRIgQwBJz2gyrtGL7dLAlfEl3y7XTzLDriFmHR27npWvEQUdpD9F/ vjF6Gb6TPovTJBB63gDMUiaKIaqDJ6xCAVyX3H5hkV7zTztaXlRkARKdN615iILREopy ekCvxBzRjtT29LC4tsN4+ueXVSmc8ZPl4bY5fvnyD/xIlMs0R3yEh1qE7JNlYHcBAzt7 wdSaEcz8tNM63mJp4SddycHTmbLReFY4s5IOX3jsLTB7RlruhhdzuFkuTbIe6u4MQ6c6 nnoA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751746522; x=1752351322; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gL++PJFQRqkXZ8HwT11/Tgf1BT3kyPqeAEnj+LYB+Do=; b=ikG/eqpGlNkzPJFRomcuWrT4KaRyJ72Unlp4u5UmE3XXoyFj0siGCAJIgwmuJ8GaSn x2yh5a5ngm1py90W6uzrSrenM3rlAefXqob7mQI5rCuWU5nvrwMWpVwElppqfDT/dufm aahHoAF0CSj0hGZhKfCAQqyrpHikrJtkaIudx+yDB0h2OUzUnf7mbVV6veCD0/gCm1/b KUP5gxbAH1Hk6PRsd6yB1m6ILMwTJ3Aunf9ZFWjgMMCQaazFNRlGGNE0SSFV4su4YVQG G2P1V+NtoB5GhKcartCJ7VJyOQD6QX2rB9gYaODXdHd1AZVURove/dYm3XyX+i54fOYM C+Tw==
X-Forwarded-Encrypted: i=1; AJvYcCUwwvczL4VNJJa8HVwUsI+XpOQ5D9IYyBT9+Ebrdmb+D0uk713LOhsk9NRkGcQm3rHLStBo0Rg4PPLAVkqYDnxhVOZGEI+aSx/WkeCBgjDl55LqbFlhQBshoXl7Q0tG0kY=@ietf.org, AJvYcCVH03FizA4KezIl0qLLFYQNeUdTVMZY825471Dz26H6rEl4W0fOAL0YuxM2LrRKbPRuGJBGrtiN3Q==@ietf.org, AJvYcCWYeMiE4gchbofyAxvvgmjuxmktjk1JyzXfpKcI/IXcjILqkFLlBvRdjlgT7Btim8b39hOJ@ietf.org
X-Gm-Message-State: AOJu0Yz3vPKNAx74GkE4aXqxxn3ufq2V4KZ8CzB4kyNidHH1H77ggZ98 HuEA5iCg+4K7ya73Ujw2yoA9oXPtO3vq/ZFjQZw/dN1QhIoiPMkBPUrZ
X-Gm-Gg: ASbGncvzz5Z+dkEC8r23AG/qvGChwKDJsFdXsTG5YfinJ0q5c4KS1AwCVPFakxbAzZw KppeZWj0tGI9Wfr8NP9bUDIer9piJjhJLudjoJJh04FyeKZV7dYFZZL1GiAWGsOm28XZLrxFdWW zLghAa2h3iss8JkmGMO9fKGxbja0k/oRu5TB6AbTu5AL2Z5DMukR1VCSStDdBFrRG6KZXnpdb/Z rceu2/3ZrJwOHzjsK9SNXKlVDCckwaeoP74pFXQS4O+n1Tpw1LA9+DUo7r9+WauXVbVvLur2RSF HeTxfHby93nFz+29VxGDv0IIc2rvIKE3Mpx4cIaB7htJlzGa5ukOUklIqd/EbxNKHSK9WVBWvFR UFGvo37ArNAO4zw==
X-Google-Smtp-Source: AGHT+IEvpNUMqAf5M20B052Tx+IswJIWjeYiY+DxCt1zwrXaskWzhDP3x/pLsJL9vAmtj70PLRzkPQ==
X-Received: by 2002:a05:620a:838f:b0:7d4:5cea:83a3 with SMTP id af79cd13be357-7d5df1529demr865551285a.34.1751746522122; Sat, 05 Jul 2025 13:15:22 -0700 (PDT)
Received: from smtpclient.apple ([2605:a601:a6e6:6300:5dc1:46f6:c7f1:4aa8]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-702c4cd4049sm33323726d6.51.2025.07.05.13.15.21 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 05 Jul 2025 13:15:21 -0700 (PDT)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.600.51.1.1\))
From: Acee Lindem <acee.ietf@gmail.com>
In-Reply-To: <BYAPR11MB272543BC2BD4E6CC576E7395DF4DA@BYAPR11MB2725.namprd11.prod.outlook.com>
Date: Sat, 05 Jul 2025 16:15:11 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <2122229A-469B-40C6-80CB-82D3A951A8E1@gmail.com>
References: <9C5FDE48-9B4B-4ADF-A67D-43E60EAB734E@gmail.com> <BYAPR11MB272536A67421F4DF126EBFE3DF0AA@BYAPR11MB2725.namprd11.prod.outlook.com> <A67AD12D-17F9-4302-BABD-C597979B35FD@gmail.com> <BYAPR11MB272543BC2BD4E6CC576E7395DF4DA@BYAPR11MB2725.namprd11.prod.outlook.com>
To: "Mankamana Mishra (mankamis)" <mankamis@cisco.com>
X-Mailer: Apple Mail (2.3826.600.51.1.1)
Message-ID-Hash: W5LHTSKWQDWMKTA7LGCA5JQ34BCMHPJO
X-Message-ID-Hash: W5LHTSKWQDWMKTA7LGCA5JQ34BCMHPJO
X-MailFrom: acee.ietf@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-bess.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Routing ADs <rtg-ads@ietf.org>, "draft-ietf-bess-evpn-per-mcast-flow-df-election@ietf.org" <draft-ietf-bess-evpn-per-mcast-flow-df-election@ietf.org>, "bess@ietf.org" <bess@ietf.org>, Routing Directorate <rtg-dir@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [bess] Re: Routing Directorate early review for draft-ietf-bess-evpn-per-mcast-flow-df-election-09
List-Id: BGP-Enabled ServiceS working group discussion list <bess.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/bess/fGi2Zt28KjRHE7gdcHFgCmkwPU4>
List-Archive: <https://mailarchive.ietf.org/arch/browse/bess>
List-Help: <mailto:bess-request@ietf.org?subject=help>
List-Owner: <mailto:bess-owner@ietf.org>
List-Post: <mailto:bess@ietf.org>
List-Subscribe: <mailto:bess-join@ietf.org>
List-Unsubscribe: <mailto:bess-leave@ietf.org>

Hi Mankamana, 

It looks good except I had also asked for a reference for the CRC-32 checksum - I don't see that in the current version.  

Thanks,
Acee

> On Jul 5, 2025, at 1:06 AM, Mankamana Mishra (mankamis) <mankamis@cisco.com> wrote:
> 
> Hi Acee, Current revision of draft does address your comments. Will check with you during IETF week if something more needs to be added.
>  Mankamana  From: Acee Lindem <acee.ietf@gmail.com>
> Date: Wednesday, August 2, 2023 at 4:09 AM
> To: Mankamana Mishra (mankamis) <mankamis@cisco.com>
> Cc: Routing ADs <rtg-ads@ietf.org>, draft-ietf-bess-evpn-per-mcast-flow-df-election@ietf.org <draft-ietf-bess-evpn-per-mcast-flow-df-election@ietf.org>, bess@ietf.org <bess@ietf.org>, Routing Directorate <rtg-dir@ietf.org>
> Subject: Re: Routing Directorate early review for draft-ietf-bess-evpn-per-mcast-flow-df-election-09
> Hi Mankamana, 
> 
> 
> On Aug 1, 2023, at 17:44, Mankamana Mishra (mankamis) <mankamis@cisco.com> wrote:
>  Hi Acee, Thanks for reviewing and comment.  While I make changes to existing draft based on your comments,  I had question on some of the comments
>    1. Precisely explain the hashing algorithm in section 4.1 and 4.2. As
>      written, they subject to multiple interpretations. Provide a reference
>      to CRC_32() and expand acronyms on first use (e.g., MSB).
> 
>   2. In addition to explaining the hashing algorithm, the document should
>      provide a discussion on why this hashing algorithm provides a good
>      distribiution of flows.
>  https://datatracker.ietf.org/doc/html/rfc8584#section-3 defines most of the base HRW draft and its benefit . Do you expect it to be repeated in this draft too ? This draft does not change the base HRW algorithm but adds flow information as also an input parameter to calculate the weight ?
>  You shouldn’t include a formula in a document where the elements are not explained, acronyms are not expanded, and references are not provided. 
>  You could reference the RFC 8584 discussion of why the algorithm provides a good distribution of traffic this reference should be accompanied with text explaining how these benefits extend to individual multicast flows.
>  Thanks,
> Acee
>    
> 
>  Please let me know if you want only reference to be given or content to be copied here ?
>  Mankamana  From: Acee Lindem <acee.ietf@gmail.com>
> Date: Friday, July 21, 2023 at 2:43 PM
> To: Routing ADs <rtg-ads@ietf.org>, draft-ietf-bess-evpn-per-mcast-flow-df-election@ietf.org <draft-ietf-bess-evpn-per-mcast-flow-df-election@ietf.org>
> Cc: bess@ietf.org <bess@ietf.org>, Routing Directorate <rtg-dir@ietf.org>
> Subject: Routing Directorate early review for draft-ietf-bess-evpn-per-mcast-flow-df-election-09
> Hello,
> 
> I have been selected as the Routing Directorate reviewer for this draft.
> The Routing Directorate seeks to review all routing or routing-related
> drafts as they pass through IETF last call and IESG review, and
> sometimes on special request. The purpose of the review is to provide
> assistance to the Routing ADs. For more information about the Routing
> Directorate, please see:
> 
>   http://trac.tools.ietf.org/area/rtg/trac/wiki/RtgDir
> 
> Although these comments are primarily for the use of the Routing ADs,
> it would be helpful if you could consider them along with any other
> IETF Early Review/Last Call  comments that you receive, and strive to
> resolve them through discussion or by updating the draft.
> 
> Document: draft-ietf-bess-evpn-per-mcast-flow-df-election-09
> Reviewer: Acee Lindem
> Review Date: 07/20/2023
> IETF LC End Date: N/A
> Intended Status: Standards Track
> 
> Summary:
> This document describes a per-multicast-flow DF election mechanism
> which support per multicast flow load-balancing of the EVPN ES
> forwarding amongst PEs in a redundancy group. While the document describes
> a fairly straightforward function, it really needs some editing and never
> should have been adopted as a WG document in this condition. Consequently,
> I have entered a “Not Ready” disposition for the review. 
> 
> 
> Major Issues:
>   1. Precisely explain the hashing algorithm in section 4.1 and 4.2. As
>      written, they subject to multiple interpretations. Provide a reference
>      to CRC_32() and expand acronyms on first use (e.g., MSB).
> 
>   2. In addition to explaining the hashing algorithm, the document should
>      provide a discussion on why this hashing algorithm provides a good
>      distribiution of flows.
> 
>  3. While this is a minor comment, it also pertains to the hashing
>     algorithm. To better distribute the flows, why not exclude the current
>     BUM DF from the list of PEs from which to choose a per-flow DF??
> 
> 
> Minor Issues:
> 
>   1. Acronyms from RFC 7432 and RFC 8584 used without first expansion.
>      For example, none of the acronyms in the figures are defined. I'd
>      suggest adding a glossary with terms from other documents.
>   2. The acronym "Es" is used for Ethernet Segment when ES is used in
>      other EVPN documents.
>   3. Missing articles make the text unwieldy to read.
>   4. Multiple problems with agreement of subject and verb.
>   5. Define what is referred to by DFn. Presumably, this is the selected
>      PE in the redundancy group.
>   5. Number 5 in section 5 doesn't make sense as written. I was trying to
>      fix it but it needs attention from the author.
>   6. The abstract cannot include RFC references from the draft. However,
>      the RFCs may be referenced without the braces.
>   7. The security considerations for RFC 8584 are also applicable. Additionally,
>      you that you are going to be asked for a discussion of how the existing
>      security mechanisms apply to per-flow DF selection, so you might as well
>      provide it now.
> 
> 
> Nits: See diff below.
> 
> Thanks,
> Acee
> 
> 
> *** draft-ietf-bess-evpn-per-mcast-flow-df-election-09.txt.orig Wed Jul 19 11:43:37 2023
> --- draft-ietf-bess-evpn-per-mcast-flow-df-election-09.txt      Wed Jul 19 12:21:57 2023
> ***************
> *** 18,33 ****
> 
>   Abstract
> 
> !    [RFC7432] describes mechanism to elect designated forwarder (DF) at
>      the granularity of (ESI, EVI) which is per VLAN (or per group of
>      VLANs in case of VLAN bundle or VLAN-aware bundle service).  However,
>      the current level of granularity of per-VLAN is not adequate for some
> !    applications.[RFC8584] improves base line DF election by introducing
> !    HRW DF election.  [RFC9251] introduces applicability of EVPN to
> !    Multicast flows, routes to sync them and a default DF election.  This
> !    document is an extension to HRW base draft [RFC8584] and further
>      enhances HRW algorithm for the Multicast flows to do DF election at
> !    the granularity of (ESI, VLAN, Mcast flow).
> 
>   Status of This Memo
> 
> --- 18,33 ----
> 
>   Abstract
> 
> !    RFC7432 describes mechanism to elect a designated forwarder (DF) at
>      the granularity of (ESI, EVI) which is per VLAN (or per group of
>      VLANs in case of VLAN bundle or VLAN-aware bundle service).  However,
>      the current level of granularity of per-VLAN is not adequate for some
> !    applications. RFC8584 improves the base DF election by introducing
> !    Highest Random Weigth (HRW) DF election.  RFC9251 introduces applicability of EVPN to
> !    Multicast flows, routes to sync them, and a default DF election.  This
> !    document is an extension to HRW base draft and further
>      enhances HRW algorithm for the Multicast flows to do DF election at
> !    the granularity of (ESI, VLAN, Multicast flow).
> 
>   Status of This Memo
> 
> ***************
> *** 91,104 ****
>      deployments as well as service provider access/aggregation networks.
>      [RFC7432] defines the role of a designated forwarder as the node in
>      the redundancy group that is responsible to forward Broadcast,
> !    Unknown unicast, Multicast (BUM) traffic on that Ethernet Segment (CE
> !    device or network) in All-Active multi-homing.
> 
>      The default DF election mechanism allows selecting a DF at the
>      granularity of (ES, VLAN) or (ES, VLAN bundle) for BUM traffic.
> !    While [RFC8584] improve on the default DF election procedure, some
>      service provider residential applications require a finer
> !    granularity, where whole multicast flows are delivered on a single
>      VLAN.
> 
> 
> --- 91,104 ----
>      deployments as well as service provider access/aggregation networks.
>      [RFC7432] defines the role of a designated forwarder as the node in
>      the redundancy group that is responsible to forward Broadcast,
> !    Unknown unicast, Multicast (BUM) traffic on that Ethernet Segment
> !    (Customer Edge (CE) device or network) in All-Active multi-homing.
> 
>      The default DF election mechanism allows selecting a DF at the
>      granularity of (ES, VLAN) or (ES, VLAN bundle) for BUM traffic.
> !    While [RFC8584] improves on the default DF election procedure, some
>      service provider residential applications require a finer
> !    granularity, where specific multicast flows are delivered on a single
>      VLAN.
> 
> 
> ***************
> *** 154,161 ****
> 
>      Consider the above topology, which shows a typical residential
>      deployment scenario, where multiple receivers are behind an all-
> !    active multihoming segments.  All of the multicast traffic is
> !    provisioned on EVI-1.  Assume PE-2 get elected as DF.  According to
>      [RFC7432], PE-2 will be responsible for forwarding multicast traffic
>      to that Ethernet segment.
> 
> --- 154,161 ----
> 
>      Consider the above topology, which shows a typical residential
>      deployment scenario, where multiple receivers are behind an all-
> !    active multihoming segment.  All of the multicast traffic is
> !    provisioned on EVI-1.  Assume PE-2 gets elected as DF.  According to
>      [RFC7432], PE-2 will be responsible for forwarding multicast traffic
>      to that Ethernet segment.
> 
> ***************
> *** 172,194 ****
> 
>      *  Forcing sole data plane forwarding responsibility on PE-2 is a
>         limitation in the current DF election mechanism.  The topology at
> !       Figure 1 would always have only one of the PE to be elected as DF
> !       irrespective of which current DF election mechanism is in use
> !       defined in [RFC7432] or [RFC8584].
> 
>      *  The problem may also manifest itself in a different way.  For
>         example, AC1 happens to use 80% of its available bandwidth to
>         forward unicast data.  And now there is need to serve multicast
> !       receivers where it would require more than 20% of AC1 bandwidth.
>         In this case, AC1 becomes oversubscribed and multicast traffic
>         drop would be observed even though there is already another link
> !       (AC2) present in network which can be used more efficiently load
>         balance the multicast traffic.
> 
> !    In this document, we propose an extension to the HRW base draft to
>      allow DF election at the granularity of (ESI, VLAN, Mcast flow) which
> !    would allow multicast flows to be better distributed among redundancy
> !    group PEs to share the load.
> 
>   2.  Terminology
> 
> --- 172,194 ----
> 
>      *  Forcing sole data plane forwarding responsibility on PE-2 is a
>         limitation in the current DF election mechanism.  The topology at
> !       Figure 1 would always have only one of the PEs elected as DF
> !       irrespective of which DF election mechanism (defined in [RFC7432]
> !       or [RFC8584]) is in use.
> 
>      *  The problem may also manifest itself in a different way.  For
>         example, AC1 happens to use 80% of its available bandwidth to
>         forward unicast data.  And now there is need to serve multicast
> !       receivers where it would require more than 20% of AC1's bandwidth.
>         In this case, AC1 becomes oversubscribed and multicast traffic
>         drop would be observed even though there is already another link
> !       (AC2) present in network which can be used more efficiently to load
>         balance the multicast traffic.
> 
> !    In this document, we define an extension to the HRW base [RFC8584] to
>      allow DF election at the granularity of (ESI, VLAN, Mcast flow) which
> !    would allow multicast flows to be better distributed among PEs in a
> !    redundancy group to share the load.
> 
>   2.  Terminology
> 
> ***************
> *** 201,212 ****
> 
>   3.  The DF Election Extended Community
> 
> !    [RFC8584] defines an extended community, which would be used for PEs
>      in redundancy group to reach a consensus as to which DF election
>      procedure is desired.  A PE can notify other participating PEs in
> !    redundancy group about its willingness to support Per multicast flow
>      base DF election capability by signaling a DF election extended
> !    community along with Ethernet-Segment Route (Type-4).  The current
>      proposal extends the existing extended community defined in
>      [RFC8584].  This draft defines new a DF type.
> 
> --- 201,212 ----
> 
>   3.  The DF Election Extended Community
> 
> !    [RFC8584] defines an extended community, which is used by PEs
>      in redundancy group to reach a consensus as to which DF election
>      procedure is desired.  A PE can notify other participating PEs in
> !    the redundancy group as to its willingness to support per-multicast-flow
>      base DF election capability by signaling a DF election extended
> !    community along with an Ethernet-Segment Route (Type-4).  The current
>      proposal extends the existing extended community defined in
>      [RFC8584].  This draft defines new a DF type.
> 
> ***************
> *** 229,254 ****
>         -  Type 5: HRW base per (*,G) multicast flow DF election
>            (explained in this document)
> 
> !    *  The [RFC8584] describes encoding of capabilities associated to the
> !       DF election algorithm using Bitmap field.  When these capabilities
>         bits are set along with the DF type-4 and type-5, they need to be
> !       interpreted in context of this new DF type-4 and type-5.  For
>         example, consider a scenario where all PEs in the same redundancy
> !       group (same ES) can support both AC-DF, DF type-4 and DF type-5
>         and receive such indications from the other PEs in the ES.  In
>         this scenario, if a VLAN is not active in a PE, then the DF
>         election procedure on all PEs in the ES should factor that in and
> !       exclude that PE in the DF election per multicast flow.
> 
> !    *  A PE SHOULD attach the DF election Extended Community to ES route
> !       and Extended Community MUST be sent if the ES is locally
> !       configured for DF type Per Multicast flow DF election.  Only one
> !       DF Election Extended community can be sent along with an ES route.
> 
>      *  When a PE receives the ES Routes from all the other PEs for the
>         ES, it checks if all of other PEs have advertised their desire to
> !       proceed by Per multicast flow DF election.  If all peering PEs
> !       have done so, it performs DF election based on Per multicast flow
>         procedure.  But if:
> 
>         -  There is at least one PE which advertised route-4 ( AD per ES
> --- 229,254 ----
>         -  Type 5: HRW base per (*,G) multicast flow DF election
>            (explained in this document)
> 
> !    *  [RFC8584] describes encoding of capabilities associated to the
> !       DF election algorithm using a Bitmap field.  When these capabilities
>         bits are set along with the DF type-4 and type-5, they need to be
> !       interpreted in context of the DF type-4 and type-5.  For
>         example, consider a scenario where all PEs in the same redundancy
> !       group (same ES) can support both AC-DF, DF type-4, and DF type-5
>         and receive such indications from the other PEs in the ES.  In
>         this scenario, if a VLAN is not active in a PE, then the DF
>         election procedure on all PEs in the ES should factor that in and
> !       exclude that PE in the per-multicast-flow DF election.
> 
> !    *  A PE SHOULD attach the DF election Extended Community to an ES route
> !       and the Extended Community MUST be sent if the ES is locally
> !       configured for DF type Per-Multicast-flow DF election.  Only one
> !       DF Election Extended community can be sent with an ES route.
> 
>      *  When a PE receives the ES Routes from all the other PEs for the
>         ES, it checks if all of other PEs have advertised their desire to
> !       proceed with Per-multicast-flow DF election.  If all peering PEs
> !       have done so, it performs DF election based on the Per-multicast-flow
>         procedure.  But if:
> 
>         -  There is at least one PE which advertised route-4 ( AD per ES
> ***************
> *** 258,264 ****
>         -  There is at least one PE signaling single active in the AD per
>            ES route
> 
> !       it MUST be considered as an indication to support of only Default
>         DF election [RFC7432] and DF election procedure in [RFC7432] MUST
>         be used.
> 
> --- 258,264 ----
>         -  There is at least one PE signaling single active in the AD per
>            ES route
> 
> !       it MUST be considered as an indication to support of only the Default
>         DF election [RFC7432] and DF election procedure in [RFC7432] MUST
>         be used.
> 
> ***************
> *** 268,276 ****
>      repeat the description of HRW algorithm itself.
> 
>      EVPN PE does the discovery of redundancy groups based on [RFC7432].
> !    If redundancy group consists of N peering EVPN PE nodes, after the
> !    discovery all PEs build an unordered list of IP address of all the
> !    nodes in the redundancy group.  The procedure defined in this draft
>      does not require the list of PEs to be ordered.  Address [i] denotes
>      the IP address of the [i]th EVPN PE in redundancy group where (0 < i
>      <= N ).
> --- 268,276 ----
>      repeat the description of HRW algorithm itself.
> 
>      EVPN PE does the discovery of redundancy groups based on [RFC7432].
> !    If a redundancy group consists of N peering EVPN PE nodes, after the
> !    discovery all PEs, build an unordered list of IP address of all the
> !    nodes in the redundancy group.  The procedure defined in this document
>      does not require the list of PEs to be ordered.  Address [i] denotes
>      the IP address of the [i]th EVPN PE in redundancy group where (0 < i
>      <= N ).
> ***************
> *** 284,290 ****
> 
>   4.1.  DF election for IGMP (S,G) membership request
> 
> !    The DF is the PE who has maximum weight for (S, G, V, Es) where
> 
>      *  S - Multicast Source
> 
> --- 284,290 ----
> 
>   4.1.  DF election for IGMP (S,G) membership request
> 
> !    The DF is the PE who has maximum weight for (S, G, V, ES) where
> 
>      *  S - Multicast Source
> 
> ***************
> *** 292,309 ****
> 
>      *  V - VLAN ID.
> 
> !    *  Es - Ethernet Segment Identifier
> 
>      Address[i] is address of the ith PE.  The PEs IP address length does
>      not matter as only the lower-order 31 bits are modulo significant.
> 
>      1.  Weight
> 
> !        *  The weight of PE(i) to (S,G,VLAN ID, Es) is calculated by
> !           function, weight (S,G,V, Es, Address(i)), where (0 < i <= N),
>             PE(i) is the PE at ordinal i.
> 
> !        *  Weight (S,G,V, Es, Address(i)) = (1103515245.
>             ((1103515245.Address(i) + 12345) XOR D(S,G,V,ESI))+12345) (mod
>             2^31)
> 
> --- 292,309 ----
> 
>      *  V - VLAN ID.
> 
> !    *  ES - Ethernet Segment Identifier
> 
>      Address[i] is address of the ith PE.  The PEs IP address length does
>      not matter as only the lower-order 31 bits are modulo significant.
> 
>      1.  Weight
> 
> !        *  The weight of PE(i) to (S,G,VLAN ID, ES) is calculated by
> !           function, weight (S,G,V, ES, Address(i)), where (0 < i <= N),
>             PE(i) is the PE at ordinal i.
> 
> !        *  Weight (S,G,V, ES, Address(i)) = (1103515245.
>             ((1103515245.Address(i) + 12345) XOR D(S,G,V,ESI))+12345) (mod
>             2^31)
> 
> ***************
> *** 312,333 ****
> 
>      2.  Digest
> 
> !        *  D(S,G,V, Es) = CRC_32(S,G,V, Es)
> 
> !        *  Here D(S,G,V,Es) is the 31-bit digest (CRC_32 and discarding
> !           the MSB) of the Source IP, Group IP, Vlan ID and Es.  The CRC
>             MUST proceed as if the architecture is in network byte order
>             (big-endian).
> 
>   4.2.  DF election for IGMP (*,G) membership request
> 
> !    The DF is the PE who has maximum weight for (G, V, Es) where
> 
>      *  G - Multicast Group
> 
>      *  V - VLAN ID.
> 
> !    *  Es - Ethernet Segment Identifier
> 
> 
> 
> --- 312,333 ----
> 
>      2.  Digest
> 
> !        *  D(S,G,V, ES) = CRC_32(S,G,V, ES)
> 
> !        *  Here D(S,G,V,ES) is the 31-bit digest (CRC_32 and discarding
> !           the MSB) of the Source IP, Group IP, Vlan ID and ES.  The CRC
>             MUST proceed as if the architecture is in network byte order
>             (big-endian).
> 
>   4.2.  DF election for IGMP (*,G) membership request
> 
> !    The DF is the PE who has maximum weight for (G, V, ES) where
> 
>      *  G - Multicast Group
> 
>      *  V - VLAN ID.
> 
> !    *  ES - Ethernet Segment Identifier
> 
> 
> 
> ***************
> *** 343,353 ****
> 
>      1.  Weight
> 
> !        *  The weight of PE(i) to (G,VLAN ID, Es) is calculated by
> !           function, weight (G,V, Es, Address(i)), where (0 < i <= N),
>             PE(i) is the PE at ordinal i.
> 
> !        *  Weight (G,V, Es, Address(i)) = (1103515245.
>             ((1103515245.Address(i) + 12345) XOR D(G,V,ESI))+12345) (mod
>             2^31)
> 
> --- 343,353 ----
> 
>      1.  Weight
> 
> !        *  The weight of PE(i) to (G,VLAN ID, ES) is calculated by
> !           function, weight (G,V, ES, Address(i)), where (0 < i <= N),
>             PE(i) is the PE at ordinal i.
> 
> !        *  Weight (G,V, ES, Address(i)) = (1103515245.
>             ((1103515245.Address(i) + 12345) XOR D(G,V,ESI))+12345) (mod
>             2^31)
> 
> ***************
> *** 356,376 ****
> 
>      2.  Digest
> 
> !        *  D(G,V, Es) = CRC_32(G,V, Es)
> 
> !        *  Here D(G,V,Es) is the 31-bit digest (CRC_32 and discarding the
> !           MSB) of the Group IP, Vlan ID and Es.  The CRC MUST proceed as
>             if the architecture is in network byte order (big-endian).
> 
>   4.3.  Default DF election procedure
> 
> !    Per multicast DF election procedure would be applicable only when
> !    host behind Attachment Circuit (of the Es) start sending IGMP
> !    membership requests.  Membership requests are synced using procedure
> !    defined in [RFC9251], and each of the PE in redundancy group can use
> !    per flow DF election and create DF state per multicast flow.  The HRW
>      DF election "Type 1" procedure defined in [RFC8584] MUST be used for
> !    the Es DF election and SHOULD be performed on Es even before learning
>      multicast membership request state.  This default election procedure
>      MUST be used at port level but will be overwritten by Per flow DF
>      election as and when new membership request state are learnt.
> --- 356,376 ----
> 
>      2.  Digest
> 
> !        *  D(G,V, ES) = CRC_32(G,V, Es)
> 
> !        *  Here D(G,V,ES) is the 31-bit digest (CRC_32 and discarding the
> !           MSB) of the Group IP, Vlan ID and ES.  The CRC MUST proceed as
>             if the architecture is in network byte order (big-endian).
> 
>   4.3.  Default DF election procedure
> 
> !    Per-multicast-flow DF election procedure would be applicable only when
> !    host behind the Attachment Circuit (of the ES) starts sending IGMP
> !    membership requests.  Membership requests are synced using the procedure
> !    defined in [RFC9251], and each of the PEs in a redundancy group can use
> !    per-multicast-flow DF election and create DF state per multicast flow.  The HRW
>      DF election "Type 1" procedure defined in [RFC8584] MUST be used for
> !    the ES DF election and SHOULD be performed on ES even before learning
>      multicast membership request state.  This default election procedure
>      MUST be used at port level but will be overwritten by Per flow DF
>      election as and when new membership request state are learnt.
> ***************
> *** 394,400 ****
>   Internet-Draft   Per multicast flow Designated Forwarder       July 2023
> 
> 
> !                                      Multicast  Source
>                                                |
>                                                |
>                                                |
> --- 394,400 ----
>   Internet-Draft   Per multicast flow Designated Forwarder       July 2023
> 
> 
> !                                      Multicast Source
>                                                |
>                                                |
>                                                |
> ***************
> *** 436,446 ****
>          Route.  This draft does not change any of this procedure, it
>          still uses the procedure defined in [RFC7432].
> 
> !    2.  Each of the PEs in redundancy group advertise Ethernet segment
> !        route with extended community indicating their ability to
> !        participate in per multicast flow DF election procedure.  Since
> !        Per multicast flow would not be applicable unless PE learns about
> !        membership request from receiver, there is a need to have the
>          default DF election among PEs in redundancy group for BUM
> 
> 
> --- 436,446 ----
>          Route.  This draft does not change any of this procedure, it
>          still uses the procedure defined in [RFC7432].
> 
> !    2.  Each of the PEs in the redundancy group advertise an Ethernet segment
> !        route with an extended community indicating their ability to
> !        participate in per-multicast-flow DF election procedure.  Since
> !        Per multicast flow would not be applicable unless the PE learns about
> !        muilticast membership from a receiver, there is a need to have the
>          default DF election among PEs in redundancy group for BUM
> 
> 
> ***************
> *** 450,484 ****
>   Internet-Draft   Per multicast flow Designated Forwarder       July 2023
> 
> 
> !        traffic.  Until multicast membership state are learnt, we use the
> !        the DF election procedure in Section 4.3, namely HRW per (v,Es)
>          as defined in [RFC8584] .
> 
>      3.  When a receiver starts sending membership requests for (s1,g1),
> !        where s1 is multicast source address and g1 is multicast group
>          address, CE-1 could hash membership request (IGMP join) to any of
>          the PEs in redundancy group.  Let's consider it is hashed to PE-
>          2.  [RFC9251] defines a procedure to sync IGMP join state among
> !        redundancy group of PEs.  Now each of the PE would have
> !        information about membership request (s1,g1) and each of them run
> !        DF election procedure Section 4.1 to elect DF among participating
> !        PEs in redundancy group.  Consider PE-2 gets elected as DF for
> !        multicast flow (s1,g1).
> 
>          1.  PE-1 forwarding state would be nDF for flow (s1,g1) and DF
>              for rest other BUM traffic.
> 
> !        2.  PE-2 forwarding state would be DF for flow (s1,g1) and nDF
>              for rest other BUM traffic.
> 
>          3.  PE-3 forwarding state would be nDF for flow (s1,g1) and rest
>              other BUM traffic.
> 
> !    4.  As and when new multicast membership request comes, same
> !        procedure as above would continue.
> 
>      5.  If Section 3 has DF type 4, For membership request (S,G) it MUST
> !        use Section 4.1 to elect DF among participating PEs.  And
>          membership request (*,G) MUST use Section 4.2 to elect DF among
>          participating PEs.
> 
> --- 450,485 ----
>   Internet-Draft   Per multicast flow Designated Forwarder       July 2023
> 
> 
> !        traffic.  Until multicast membership state is learnt, we use the
> !        the DF election procedure in Section 4.3, namely HRW per (v,ES)
>          as defined in [RFC8584] .
> 
>      3.  When a receiver starts sending membership requests for (s1,g1),
> !        where s1 is a multicast source address and g1 is a multicast group
>          address, CE-1 could hash membership request (IGMP join) to any of
>          the PEs in redundancy group.  Let's consider it is hashed to PE-
>          2.  [RFC9251] defines a procedure to sync IGMP join state among
> !        PEs in a redundancy group.  Now each of the PE would have
> !        information about the membership request (s1,g1) and each of them would run
> !        the DF election procedure (refer to Section 4.1)( to elect
> !        a DF among participating  PEs in the redundancy group.  Consider PE-2
> !        gets elected as DF for multicast flow (s1,g1).
> 
>          1.  PE-1 forwarding state would be nDF for flow (s1,g1) and DF
>              for rest other BUM traffic.
> 
> !        2.  PE-2 forwarding state would be the DF for flow (s1,g1) and nDF
>              for rest other BUM traffic.
> 
>          3.  PE-3 forwarding state would be nDF for flow (s1,g1) and rest
>              other BUM traffic.
> 
> !    4.  When a new multicast membership request arrives, the same
> !        procedure as above would used to selected a nDF for the
> !        multicast flow.
> 
>      5.  If Section 3 has DF type 4, For membership request (S,G) it MUST
> !        use Section 4.1 to elect a DF among participating PEs.  And
>          membership request (*,G) MUST use Section 4.2 to elect DF among
>          participating PEs.
> 
> ***************
> *** 487,494 ****
>      There are multiple triggers which can cause DF re-election.  Some of
>      the triggers could be
> 
> !    1.  Local ES going down due to physical failure or configuration
> !        change triggers DF re-election at peering PE.
> 
>      2.  Detection of new PE through ES route.
> 
> --- 488,495 ----
>      There are multiple triggers which can cause DF re-election.  Some of
>      the triggers could be
> 
> !    1.  Local ES going down due to physical failure or a configuration
> !        change that triggers DF re-election at peering PE.
> 
>      2.  Detection of new PE through ES route.
> 
> ***************
> *** 509,515 ****
>      6.  Local configuration change of DF election Type and peering PE
>          consensus on new DF Type
> 
> !    This document does not provide any new mechanism to handle DF re-
>      election procedure.  It uses the existing mechanism defined in
>      [RFC7432].  Whenever either of the triggers occur, a DF re-election
>      would be done. and all of the flows would be redistributed among
> --- 510,516 ----
>      6.  Local configuration change of DF election Type and peering PE
>          consensus on new DF Type
> 
> !    This document does not provide any new mechanisms to handle DF re-
>      election procedure.  It uses the existing mechanism defined in
>      [RFC7432].  Whenever either of the triggers occur, a DF re-election
>      would be done. and all of the flows would be redistributed among