Ben,

Comments inline below.

Yours Irrespectively,

John


Juniper Business Use Only

> -----Original Message-----
> From: Benjamin Kaduk <ka...@mit.edu>
> Sent: Friday, February 4, 2022 8:09 PM
> To: John E Drake <jdr...@juniper.net>
> Cc: The IESG <i...@ietf.org>; draft-ietf-bess-evpn-igmp-mld-pr...@ietf.org;
> bess-cha...@ietf.org; bess@ietf.org; slitkows.i...@gmail.com
> Subject: Re: Benjamin Kaduk's Discuss on draft-ietf-bess-evpn-igmp-mld-proxy-
> 13: (with DISCUSS and COMMENT)
> 
> [External Email. Be cautious of content]
> 
> 
> Hi John,
> 
> My apologies for taking a few weeks to reply; I was sick when this came in 
> and a
> bunch of stuff piled up, which has taken some time to get back to.
> I can only take a small amount of solace by noting that at least this is not 
> the
> last DISCUSS blocking the document from approval.
> 
> Inline...
> 
> On Tue, Jan 18, 2022 at 03:28:11PM +0000, John E Drake wrote:
> >
> > > -----Original Message-----
> > > From: Benjamin Kaduk <ka...@mit.edu>
> > > Sent: Thursday, October 21, 2021 10:08 PM
> > > To: John E Drake <jdr...@juniper.net>
> > > Cc: The IESG <i...@ietf.org>;
> > > draft-ietf-bess-evpn-igmp-mld-pr...@ietf.org;
> > > bess-cha...@ietf.org; bess@ietf.org; slitkows.i...@gmail.com
> > > Subject: Re: Benjamin Kaduk's Discuss on
> > > draft-ietf-bess-evpn-igmp-mld-proxy-
> > > 13: (with DISCUSS and COMMENT)
> > >
> > > [External Email. Be cautious of content]
> > >
> > >
> > > Hi John,
> > >
> > > Thanks for helping clarify.  Also inline.
> > >
> > > On Thu, Oct 21, 2021 at 06:35:43PM +0000, John E Drake wrote:
> > > > Ben,
> > > >
> > > > Comments inline.
> > > >
> > > > Yours Irrespectively,
> > > >
> > > > John
> > > >
> > > >
> > > > Juniper Business Use Only
> > > >
> > > > > -----Original Message-----
> > > > > From: Benjamin Kaduk via Datatracker <nore...@ietf.org>
> > > > > Sent: Wednesday, October 20, 2021 8:49 PM
> > > > > To: The IESG <i...@ietf.org>
> > > > > Cc: draft-ietf-bess-evpn-igmp-mld-pr...@ietf.org;
> > > > > bess-cha...@ietf.org; bess@ietf.org; slitkows.i...@gmail.com
> > > > > Subject: Benjamin Kaduk's Discuss on
> > > > > draft-ietf-bess-evpn-igmp-mld-proxy-
> > > 13:
> > > > > (with DISCUSS and COMMENT)
> > > > >
> > > > > [External Email. Be cautious of content]
> > > > >
> > > > >
> > > > > Benjamin Kaduk has entered the following ballot position for
> > > > > draft-ietf-bess-evpn-igmp-mld-proxy-13: 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://urldefense.com/v3/__https://www.ietf.org/blog/handling-i
> > > > > esg-
> > > > > ballot-
> > > > > positions/__;!!NEt6yMaO-
> > > > >
> > >
> gk!RdAYIQJzeV4Zo3HeoU6yFlhxJGC56JOC41jC9lqSbJyT7Gw448bi3rPSRrxQJ1U$
> > > > > for more information about how to handle DISCUSS and COMMENT
> > > positions.
> > > > >
> > > > >
> > > > > The document, along with other ballot positions, can be found here:
> > > > > https://urldefense.com/v3/__https://datatracker.ietf.org/doc/dra
> > > > > ft-i
> > > > > etf-bess-
> > > > > evpn-igmp-mld-proxy/__;!!NEt6yMaO-
> > > > >
> > >
> gk!RdAYIQJzeV4Zo3HeoU6yFlhxJGC56JOC41jC9lqSbJyT7Gw448bi3rPSbOB2k3E$
> > > > >
> > > > >
> > > > >
> > > > > ----------------------------------------------------------------
> > > > > ----
> > > > > --
> > > > > DISCUSS:
> > > > > ----------------------------------------------------------------
> > > > > ----
> > > > > --
> > > > >
> > > > > (1) Apparently each PE is supposed to store version flags for
> > > > > each other PE in the EVI (I guess on a per-route basis?), but
> > > > > this is mentioned just once, in passing, in step 2 of the Leave
> > > > > Group procedures in
> > > §4.1.2.
> > > >
> > > > [JD]  The first hop PE keeps track of which IGMP or MLD versions
> > > > are active on
> > > the ESes to which it is attached and announces this via the BGP SMET 
> > > route.
> > >
> > > Yes.  Should this statement (or something like it) be in the document 
> > > itself?
> > > (Where?)
> >
> > [JD] Would you please review sections 4 and 5 of the -16
> (https://urldefense.com/v3/__https://datatracker.ietf.org/doc/html/draft-ietf-
> bess-evpn-igmp-mld-proxy-16*section-4__;Iw!!NEt6yMaO-gk!U0f6li3uRjd2faD-
> rySykNfIC0xL6dDVldh9DGvrvQvssauGhJcWFs1_GYAo7RM$ ,
> https://urldefense.com/v3/__https://datatracker.ietf.org/doc/html/draft-ietf-
> bess-evpn-igmp-mld-proxy-16*section-5__;Iw!!NEt6yMaO-gk!U0f6li3uRjd2faD-
> rySykNfIC0xL6dDVldh9DGvrvQvssauGhJcWFs1_8b_wkkE$ ) and see if they are is
> clear enough?
> 
> You ask if they are "clear enough?"  The changes to clarify which steps are 
> done
> by which PEs are quite helpful, and thank you for that.  But they are not 
> really
> addressing the issue that was bothering me.  Nevertheless, in light of this 
> discuss
> point being raised in order to have a conversation, I guess they are clear
> *enough*, but just barely, and there's plenty of room to make them more clear.
> 
> In short, what bothers me here is that we say something like "compare ...
> with its per-PE stored version flags", but we never concretely say "store some
> per-PE version flags" anywhere.  Now, this is BGP, so of course you're storing
> what you got and from whom, but writing it in the way it's currently stated
> makes the reader work pretty hard to figure out what's going on.  If we said
> something like (with the caveat that I am surely using the wrong terminology)
> "compare ... with the version flags from the corresponding saved EVPN SMET
> route in the BGP session with this PE", that would be very clear about what 
> was
> saved and why.
> 
> We could also go further and talk about the information model concretely, a 
> la:
> 
> % The goal of IGMP and MLD proxying is to make the EVPN behave seamlessly
> for % the tenant systems with respect to multicast operations, while using a
> more % efficient delivery system for signaling and delivery across the VPN.
> % Accordingly, group state must be tracked synchronously among the PEs %
> serving the VPN, with join and leave events propagated to the peer PEs, and %
> each PE tracking the state of each of its peer PEs with respect whether % 
> there
> are locally attached group members (and in some cases, senders), what %
> version(s) of IGMP/MLD are in use for those locally attached group members, %
> etc.  In order to perform this translation, each PE acts as an IGMP router % 
> for
> the locally attached domain, and maintains the requisite state on % locally
> attached nodes, sends periodic membership queries, etc.  The role % of EVPN
> SMET route propagation is to ensure that each PE's local state is % propagated
> to the other PEs so that they share a consistent view of the % overall IGMP
> Membership Request and Leave Group state.  It is important to % note that the
> need to keep such local state can be triggered by either % local IGMP traffic 
> or
> BGP EVPN signaling.  In most cases a local IGMP event % will need to be 
> signaled
> over EVPN, though state initiated by received EVPN % traffic will not always
> need to be relayed to the locally attached domain.

[JD]  We can add this text to section 4. 
> 
> > >
> > > > > Similarly, §6.1 defines, somewhat in passing, some "local IGMP
> > > > > Membership Request (x,G) state" that must be maintained in some cases.
> > > > > Let's discuss whether it's appropriate/useful to have a general
> > > > > introductory section that covers what new state PEs are expected
> > > > > to retain as part of supporting IGMP/MLD proxying.  Maybe the
> > > > > answer is "no", but I would like to have the conversation.
> > > >
> > > > [JD]  Section 6 generalizes the notion of a first hop PE to be the
> > > > set of multi-
> > > homed PEs attached to a given ES.  Section 6
> > > (https://urldefense.com/v3/__https://datatracker.ietf.org/doc/html/d
> > > raft-ietf-
> > > bess-evpn-igmp-mld-proxy-13*section-6__;Iw!!NEt6yMaO-
> > > gk!WAMtLTp8pHMhjeyfDY13FOVPAqTuQaEqcCu8hQOf-
> > > GMscsBgaRFDzERgy6ZEfS8$ ) explains why the multi-homed PEs need to
> > > synchronize state and section 6.1 explains what is that state:
> > >
> > > Rereading it, it does explain the need for state synchronization;
> > > thanks for pointing that out.  However, it does not appear to use or
> > > introduce the specific term that the subsequent subsections are
> > > using to refer to that state.  It seems like it could be useful to
> > > have a defined term for this state, to help readers make the
> > > connection between the need to track the state and where that state is
> referenced in the subsequent procedures.
> > >
> > > >  If the PE doesn't already have local IGMP Membership Request
> > > > (x,G) state for
> > > that BD on that ES, it MUST instantiate local IGMP Membership
> > > Request (x,G) state and MUST advertise a BGP IGMP Join Synch route
> > > for that (ES,BD).  Local IGMP Membership Request (x,G) state refers
> > > to IGMP Membership Request (x,G) state that is created as a result
> > > of processing an IGMP Membership Report for (x,G).
> > > >
> > > > i.e., IGMP Membership Request (x,G) state is the union of the
> > > > local IGMP Join
> > > (x,G) state and the installed IGMP Join Synch route.
> > >
> > > This would be a great start to a definition for such a defined term
> > > that I propose above.
> >
> > [JD]  Would you please review section 6 of the -16 version
> (https://urldefense.com/v3/__https://datatracker.ietf.org/doc/html/draft-ietf-
> bess-evpn-igmp-mld-proxy-16*section-6__;Iw!!NEt6yMaO-gk!U0f6li3uRjd2faD-
> rySykNfIC0xL6dDVldh9DGvrvQvssauGhJcWFs1_dTYpjPA$ ) and see if it is clear
> enough?
> 
> Even if you don't want to use the "concrete information model" approach I
> outline above, I think this text would be much clearer with the following 
> change
> in §6:
> 
> OLD:
>    Therefore, all PEs attached to a given ES must coordinate IGMP
>    Membership Request and Leave Group (x,G) state, where x may be either
>    '*' or a particular source S, for each BD on that ES. [...]
> 
> NEW:
>    Therefore, all PEs attached to a given ES must coordinate IGMP
>    Membership Request and Leave Group (x,G) state, where x may be either
>    '*' or a particular source S, for each BD on that ES.  Each PE has a
>    local copy of that state, and the EVPN signaling serves to synchronize
>    state across PEs.

[JD]  This is fine. 

> 
> But is it "clear enough" as-is?  Again, just barely, and I will demote this 
> topic to a
> COMMENT-level remark.
> 
> > >
> > > > >
> > > > > (2) I am not sure if the body text is consistent with what is
> > > > > being allocated from IANA.  §8 describes PEs that are not using
> > > > > ingress replication as being identifiable as """any PE that has
> > > > > advertised an Inclusive Multicast Tag route for the BD without
> > > > > the "IGMP Proxy Support" flag""", but the IANA considerations
> > > > > allocate flags for both IGMP Proxy Support and MLD Proxy
> > > > > Support.  Is a PE that advertises MLD Proxy Support but not IGMP
> > > > > Proxy Support to be treated as
> > > not using ingress replication, as the literal interpretation of this
> > > text would require?
> > > > > Similarly, §9.2.1 and §9.3.1 include restrictions on indication
> > > > > of support for "IGMP Proxy" with no mention of "MLD Proxy".
> > > >
> > > > [JD]  It should be either IGMP or MLD Proxy Support
> > >
> > > Yes.  Hopefully this is easy to insert into the document itself.
> >
> > [JD]  Would you please review sections 8 and 9.4 of the -16 version
> (https://urldefense.com/v3/__https://datatracker.ietf.org/doc/html/draft-ietf-
> bess-evpn-igmp-mld-proxy-16*section-8__;Iw!!NEt6yMaO-gk!U0f6li3uRjd2faD-
> rySykNfIC0xL6dDVldh9DGvrvQvssauGhJcWFs1_U63FOVo$ , and
> https://urldefense.com/v3/__https://datatracker.ietf.org/doc/html/draft-ietf-
> bess-evpn-igmp-mld-proxy-16*section-9.4__;Iw!!NEt6yMaO-
> gk!U0f6li3uRjd2faD-rySykNfIC0xL6dDVldh9DGvrvQvssauGhJcWFs1_QXUa-Og$ )
> and see if they are is clear enough?
> 
> I think they are still problematic in this regard.
> 
> §8 now talks about an "IGMP or MLD Proxy Support" flag, but we actually have
> separate "IGMP Proxy Support" and "MLD Proxy Support" flags.
[
JD]  We will fix this. 

> 
> The §9.2.1 and 9.3.1 text still has discussion relating to "indicate that it
> supports" proxying of one or the other multicast protocols, and §9.4 has a
> paragraph that I paraphrase as "if it supports IGMP proxy, it MUST set the 
> IGMP
> proxy flag to 1".  But the disclaimer in §3 is specifically worded to only 
> cover
> "IGMP Membership Report" as including MLD Membership Report, and to have
> version genericity within IGMP and within MLD.  Being specific to the
> Membership Report in this way means that it does *not* come into effect for
> discussions of "support for IGMP proxy" or "support for MLD proxy", which is
> what seems problematic to me, here.
> 
> It seems like it ought to be pretty straightforward to craft some text that
> expands the disclaimer in §3 to cover things like "Likewise, when there is 
> text
> considering whether a PE indicates support for IGMP proxying, the
> corresponding behavior has a natural analogue for indication of support for
> MLD proxying, and the analogous requirements apply as well".

[JD]  We will add this. 

> 
> -Ben
> 
> > >
> > > Thanks again,
> > >
> > > Ben
> > >
> > > > > I do see that there is a generic disclaimer at the end of
> > > > > Section 3 but the way it is written does not actually seem to cover 
> > > > > this
> usage.
> > > > >
> > > > >
> > > > > ----------------------------------------------------------------
> > > > > ----
> > > > > --
> > > > > COMMENT:
> > > > > ----------------------------------------------------------------
> > > > > ----
> > > > > --
> > > > >
> > > > > As one of the directorate reviewers noted (and Éric promoted to
> > > > > a DISCUSS), this document does not really give any specific
> > > > > description of how an EVPN PE should construct outgoing IGMP/MLD
> > > > > messages to send out on its ACs as a result of receiving EVP
> > > > > information over BGP.  From a brief examination of the relevant
> > > > > IGMP messages, it seems that the EVPN messages might actually
> > > > > contain information to populate literally all the IGMP fields,
> > > > > but this is probably worth mentioning explicitly.  In
> > > > > particular, guidance might be interesting for
> > > > > (e.g.) IGMPv3, that lets multiple Group Records be included in a
> > > > > single Membership Report.
> > > > > (Pedantically, such IGMPv3 multiplexing might also require
> > > > > phrasing changes for the reverse process, taking IGMP and
> > > > > constructing EVPN routes, since we refer to (e.g) "the Group
> > > > > address of the IGMP Membership Report" in places, and that is
> > > > > not a well-defined concept in the absence of some text
> > > > > indicating group-by- group processing.)
> > > > >
> > > > > Abstract
> > > > >
> > > > >    This document describes how to support efficiently endpoints 
> > > > > running
> > > > >    IGMP for the above services over an EVPN network by incorporating
> > > > >    IGMP proxy procedures on EVPN PEs.
> > > > >
> > > > > I see Lars already noted the dangling reference to "above services".
> > > > > That really needs to be fixed before approval, and even looking
> > > > > at the diff from -
> > > > > 12 to -13 does not give me a clear picture of what to suggest as a
> rewrite.
> > > > >
> > > > > Section 1
> > > > >
> > > > > I strongly suggest mentioning and referencing some of the core
> > > > > technologies that readers are assumed to be familiar with (e.g.,
> > > > > RFC
> > > > > 7432 for EVPN, RFC 6514 for various tunnel types including
> > > > > Ingress
> > > Replication).
> > > > > At present the document is quite unfriendly to a reader from an
> > > > > outside field, who has little to no indication as to what
> > > > > background material is required in order to be able to make sense of 
> > > > > this
> document.
> > > > >
> > > > >    In DC applications, a point of delivery (POD) can consist of
> > > > > a
> > > > >
> > > > > Data Center is not marked as "well-known" at
> > > > > https://urldefense.com/v3/__https://www.rfc-
> > > > > editor.org/materials/abbrev.expansion.txt__;!!NEt6yMaO-
> > > > >
> > >
> gk!RdAYIQJzeV4Zo3HeoU6yFlhxJGC56JOC41jC9lqSbJyT7Gw448bi3rPSLlJ3XlU$
> > > > > and needs to be expanded on first use.
> > > > >
> > > > >    2.  Distributed anycast multicast proxy: it is desirable for the 
> > > > > EVPN
> > > > >        network to act as a distributed anycast multicast router
> > > > > with
> > > > >
> > > > > I honestly don't know what a "distributed anycast multicast router"
> > > > > is supposed to be.  Google finds only a handful of instances of
> > > > > that
> > > > > (quoted) phrase, most of which can be traced back to this document.
> > > > > There is a similar phrase in §4.2 that perhaps clarifies that
> > > > > the collection of EVPN PEs is intended to function as a
> > > > > distributed multicast router (that is perhaps in some sense 
> > > > > transparent to
> the CEs).
> > > > > But how does the "anycast" part come into play?  How is the
> > > > > anycast IP address assigned, and which protocol messages is it 
> > > > > conveyed
> in?
> > > > >
> > > > > Section 3
> > > > >
> > > > > I suggest adding SMET to the terminology listed here.
> > > > >
> > > > >    o  Ethernet Segment (ES): When a customer site (device or network) 
> > > > > is
> > > > >       connected to one or more PEs via a set of Ethernet links.
> > > > >
> > > > > That looks like an extremely unconventional definition for
> > > > > "Ethernet
> > > Segment".
> > > > >
> > > > >    Membership Report too.  Similarly, text for IGMPv2 applies to MLDv1
> > > > >    and text for IGMPv3 applies to MLDv2.  IGMP / MLD version encoding 
> > > > > in
> > > > >    BGP update is stated in Section 9
> > > > >
> > > > > I suggest stating explicitly that this equivalence is possible
> > > > > because the indicated versions provide analogous functionality
> > > > > for IPv4 and
> > > IPv6, respectively.
> > > > >
> > > > > Section 4.1.1
> > > > >
> > > > >        is considered as a new BGP route advertisement.  When different
> > > > >        version of IGMP join are received, final state MUST be as per
> > > > >        section 5.1 of [RFC3376].  At the end of route processing local
> > > > >        and remote group record state MUST be as per section 5.1 of
> > > > >        [RFC3376].
> > > > >
> > > > > I interpret "different version of IGMP join" as "join messages
> > > > > from different IGMP protocol versions", which makes this
> > > > > reference to RFC
> > > > > 3376 make no sense to me -- the referenced section does not talk
> > > > > about multiple protocol versions at all.  Please clarify what
> > > > > behavior from RFC 3376 is being referenced.
> > > > >
> > > > >        logged.  If the v3 flag is set (in addition to v2), then the IE
> > > > >        flag MUST indicate "exclude".  If not, then an error SHOULD be
> > > > >        logged.  [...]
> > > > >
> > > > > It's great to say that this is an error condition and should be 
> > > > > logged.
> > > > > What does the recipient actually do while processing the message?
> > > > > An RFC 7606 named behavior would be nice.
> > > > >
> > > > > Section 4.2
> > > > >
> > > > >    As mentioned in the previous sections, each PE MUST have proxy
> > > > >    querier functionality for the following reasons:
> > > > >
> > > > > I'm not really sure which previous mentions this is supposed to refer 
> > > > > to.
> > > > >
> > > > > Section 6.2.1
> > > > >
> > > > > Just to confirm: the PE receiving a BGP Leave Synch route does
> > > > > *not* produce local IGMP Query messages, on the assumption that
> > > > > the PE that did receive the Leave locally has already done so?
> > > > > (I don't think this necessarily needs to be written out in the
> > > > > document itself; I just want to confirm my understanding.)
> > > > >
> > > > > Section 6.3
> > > > >
> > > > >    A PE which has received an IGMP Membership Request would have
> synced
> > > > >    the IGMP Join by the procedure defined in section 6.1.  If a PE 
> > > > > with
> > > > >    local join state goes down or the PE to CE link goes down, it would
> > > > >    lead to a mass withdraw of multicast routes.  Remote PEs (PEs
> > > > > where
> > > > >
> > > > > Can we have greater clarity on "would lead to"?  Are there
> > > > > actually routes that will be withdrawn and we are just ignoring
> > > > > the consequences of that for the purposes of local state, using
> > > > > some heuristic (as mentioned later) for detecting whether a
> > > > > mass-withdraw is due to a failure at a peer?  Or is the mass
> > > > > withdraw a hypothetical scenario
> > > that the procedures described here fully avoid?
> > > > >
> > > > >    these routes were remote IGMP Joins) SHOULD NOT remove the state
> > > > >    immediately; instead General Query SHOULD be generated to refresh
> the
> > > > >    states.  There are several ways to detect failure at a peer, e.g.
> > > > >    using IGP next hop tracking or ES route withdraw.
> > > > >
> > > > > Does each PE initiate the General Query, in this scenario?
> > > > >
> > > > > Section 7
> > > > >
> > > > >    Note that to facilitate state synchronization after failover, the 
> > > > > PEs
> > > > >    attached to a multihomed ES operating in Single-Active redundancy
> > > > >    mode SHOULD also coordinate IGMP Join (x,G) state.  In this
> > > > > case all
> > > > >
> > > > > What are the drawbacks of not performing such synchronization?
> > > > > Alternately, in what cases does it make sense to not perform
> > > > > synchronization (so that the guidance is SHOULD rather than MUST)?
> > > > >
> > > > > Section 9.1
> > > > >
> > > > > It might be nice to mention that the length fields are measured
> > > > > in bits here in this section, where the NLRI format is laid out,
> > > > > in addition to
> > > > > §9.1.1 where the procedures for constructing it are laid out.
> > > > >
> > > > >    o  If route is used for IPv6 (MLD) then bit 7 indicates support for
> > > > >       MLD version 1.  The second least significant bit, bit 6
> > > > > indicates
> > > > >
> > > > > How does the receiver know if the route is being used for IPv6?
> > > > > (Also applies in §9.2, 9.3)
> > > > >
> > > > > Section 9.1.1
> > > > >
> > > > > Is there any requirement for consistency about using IPv4 vs
> > > > > IPv6 addresses in all three address fields?  The description
> > > > > given here would seem to allow mixing address families, but I
> > > > > don't really expect that to
> > > work in practice.
> > > > >
> > > > >    version and any source filtering for a given group membership.  All
> > > > >    EVPN SMET routes are announced with per- EVI Route Target extended
> > > > >    communities.
> > > > >
> > > > > Is there a good reference for discussion of these associated ECs?
> > > > >
> > > > > Section 9.1.2
> > > > >
> > > > >    PE2 to receive multicast traffic.  In this case PE2 MUST originate 
> > > > > a
> > > > >    (*,*) SMET route to receive all of the multicast traffic in the 
> > > > > EVPN
> > > > >    domain.  To generate Wildcards (*,*) routes, the procedure from
> > > > >    [RFC6625] SHOULD be used.
> > > > >
> > > > > Is the PE expected to identify this case based on protocol
> > > > > messages received at runtime (e.g., any PIM at all), or is this 
> > > > > external
> configuration?
> > > > >
> > > > > Section 9.3.1
> > > > >
> > > > >    Maximum Response Time is value to be used while sending query as
> > > > >    defined in [RFC2236]
> > > > >
> > > > > Is it actually right to describe this as "while sending query
> > > > > [messages]"?  My understanding is that a PE receiving this route
> > > > > over BGP would in fact *not* actually send IGMP Query messages,
> > > > > but simply use the time to set a timer and potentially clear up
> > > > > state if certain conditions are met at the end of the period in 
> > > > > question.
> > > > >
> > > > > Section 10
> > > > >
> > > > > Just to confirm my understanding here: in the immediate leave
> > > > > case, the Leave Synch route will be advertised just for the
> > > > > "delta" period of time described in
> > > > > §6.2 and then withdrawn?
> > > > >
> > > > >    IGMP MAY be configured with immediate leave option.  This
> > > > > allows the
> > > > >
> > > > > Is there a suitable reference for "immediate leave"?  I did not
> > > > > see much relevant in RFCs 2236 and 3376.
> > > > >
> > > > > Section 12
> > > > >
> > > > > I support Roman's point about detailing which aspects are
> > > > > covered in which referenced RFCs.
> > > > >
> > > > > I also noted that the "delta" value used in the Last Member
> > > > > Query process must be configured on each node, and to the same value.
> > > > > Such requirement for identical configuration opens up the chance
> > > > > for skew, and sometimes any such skew is security-relevant and
> > > > > must be documented in the security considerations.  However, I'm
> > > > > not sure that that's the case, here, as it seems that skew would
> > > > > mostly only serve to cause a brief "blip" where a PE drops its
> > > > > group state only to recreate it when a report shows up later.
> > > > > Is there a scenario where the skew goes the other way, and a PE
> > > > > leaves group state in place
> > > indefinitely that should have been dropped?
> > > > >
> > > > > Section 16.1
> > > > >
> > > > > Since we only reference RFC 4684 to say that its procedures are
> > > > > not applicable to what we describe, it seems like it could be
> > > > > classified as only an informative reference.
> > > > >
> > > > > NITS
> > > > >
> > > > > We seem quite inconsistent about whether we write "BCP Leave
> > > > > Synch route" or "IGMP Leave Synch route" (but I believe these
> > > > > are both supposed to be the same thing).
> > > > >
> > > > > Section 1
> > > > >
> > > > >    communication and orchestration.  However, EVPN is used as standard
> > > > >    way of inter-POD communication for both intra-DC and
> > > > > inter-DC.  A
> > > > >
> > > > > intra-DC and inter-DC are both adjectives that need to modify some
> noun.
> > > > > Please supply such a noun (e.g., "traffic").
> > > > >
> > > > >    These hosts express their interests in multicast groups on a given
> > > > >    subnet/VLAN by sending IGMP Membership Reports (Joins) for their
> > > > >    interested multicast group(s).  [...]
> > > > >
> > > > > I think that this phrase "IGMP Membership Reports (Joins)" is
> > > > > intended to serve some cross-protocol clarification role (e.g.,
> > > > > "Join" is used by
> > > > > IGMPv3 and MLD but not IGMPv2).  Since this is the first place
> > > > > where we use that formulation, some additional text to clarify
> > > > > the shorthand seems
> > > in order.
> > > > >
> > > > > Section 3
> > > > >
> > > > >    o  BD: Broadcast Domain.  As per [RFC7432], an EVI consists of a
> > > > >       single or multiple BDs.  In case of VLAN-bundle and
> > > > > VLAN-aware
> > > > >
> > > > > RFC 7432 spells "VLAN Bundle" with no hyphen.
> > > > >
> > > > >    o  Single-Active Redundancy Mode: When only a single PE, among all
> > > > >       the PEs attached to an Ethernet segment, is allowed to forward
> > > > >       traffic to/from that Ethernet segment for a given VLAN, then the
> > > > >       Ethernet segment is defined to be operating in Single-Active
> > > > >       redundancy mode.
> > > > >
> > > > >    o  All-Active Redundancy Mode: When all PEs attached to an Ethernet
> > > > >       segment are allowed to forward known unicast traffic to/from 
> > > > > that
> > > > >       Ethernet segment for a given VLAN, then the Ethernet segment is
> > > > >       defined to be operating in All-Active redundancy mode.
> > > > >
> > > > > Is it important that the second definition only covers "unicast 
> > > > > traffic"
> > > > > but the former uses the unqualified term "traffic"?
> > > > >
> > > > >    o  OIF: Outgoing Interface for multicast.  It can be physical
> > > > >       interface, virtual interface or tunnel.
> > > > >
> > > > > s/physical/a physical/
> > > > >
> > > > > Section 4
> > > > >
> > > > >    The IGMP Proxy mechanism is used to reduce the flooding of IGMP
> > > > >    messages over an EVPN network similar to ARP proxy used in
> > > > > reducing
> > > > >
> > > > > "similarly to how ARP proxy is used"
> > > > >
> > > > >    speakers.  The information is again translated back to IGMP message
> > > > >    at the recipient EVPN speaker.  Thus it helps create an IGMP
> > > > > overlay
> > > > >
> > > > > "IGMP messages" plural, to match the previous sentence.
> > > > >
> > > > > Section 4.1.1
> > > > >
> > > > >    1.  When the first hop PE receives several IGMP Membership Reports
> > > > >        (Joins), belonging to the same IGMP version, from different
> > > > >        attached hosts for the same (*,G) or (S,G), it SHOULD send a
> > > > >        single BGP message corresponding to the very first IGMP
> > > > >        Membership Request (BGP update as soon as possible) for that
> > > > >        (*,G) or (S,G).  [...]
> > > > >
> > > > > What is an "IGMP Membership Request"?  Is this just a typo for Report?
> > > > >
> > > > >                         This is because BGP is a stateful protocol and
> > > > >        no further transmission of the same report is needed.  If the
> > > > >        IGMP Membership Request is for (*,G), then multicast group
> > > > >        address MUST be sent along with the corresponding version flag
> > > > >        (v2 or v3) set.  [...]
> > > > >
> > > > > (ditto)
> > > > >
> > > > >                                    If the IGMP Join is for (S,G), then
> > > > >        besides setting multicast group address along with the version
> > > > >        flag v3, the source IP address and the IE flag MUST be set.
> > > > > It
> > > > >
> > > > > "setting the multicast group address" (add "the").
> > > > >
> > > > >    2.  When the first hop PE receives an IGMPv3 Join for (S,G) on a
> > > > >        given BD, it SHOULD advertise the corresponding EVPN Selective
> > > > >        Multicast Ethernet Tag (SMET) route regardless of whether
> > > > > the
> > > > >
> > > > > Forward reference Section 9.1, please?
> > > > >
> > > > >    4.  When the first hop PE receives an IGMP version-X Join first for
> > > > >        (*,G) and then later it receives an IGMPv3 Join for the same
> > > > >        multicast group address but for a specific source address S, 
> > > > > then
> > > > >        the PE MUST advertise a new EVPN SMET route with v3 flag set 
> > > > > (and
> > > > >        v2 reset).  The IE flag also need to be set accordingly.
> > > > > Since
> > > > >
> > > > > What does "v2 reset" mean?  "The v2 flag is not set" or "the v2
> > > > > flag is
> > > cleared"?
> > > > > I recommend not using the word "reset" in this context as it's 
> > > > > ambiguous.
> > > > >
> > > > >    7.  Upon receiving EVPN SMET route(s) and before generating the
> > > > >        corresponding IGMP Membership Request(s), the PE checks
> > > > > to see
> > > > >
> > > > > "Membership Request" again.
> > > > >
> > > > >        whether it has any CE multicast router for that BD on any of 
> > > > > its
> > > > >        ES's . The PE provides such a check by listening for PIM Hello
> > > > >        messages on that AC (i.e, ES,BD).  If the PE does have the
> > > > >        router's ACs, then the generated IGMP Membership Request(s) are
> > > > >        sent to those ACs.  If it doesn't have any of the router's AC,
> > > > >        then no IGMP Membership Request(s) needs to be generated.
> > > > > [...]
> > > > >
> > > > > The writing here seems rather jumbled, though perhaps I just
> > > > > misunderstand the terminology in question.  Assuming that a PE
> > > > > router has one or more ACs connecting it to one or more CE
> > > > > routers (possibly in a many-to-many fashion), then I don't see
> > > > > how we can write about the PE "have[ing] [any of] the router's
> > > > > ACs" -- wouldn't the relevant criterion be that the AC has CE
> > > > > routers participating in
> > > multicast?
> > > > >
> > > > > Section 4.1.2
> > > > >
> > > > >    2.  When a PE receives an EVPN SMET route for a given (*,G), it
> > > > >        compares the received version flags from the route with its 
> > > > > per-
> > > > >        PE stored version flags.  If the PE finds that a version flag
> > > > >        associated with the (*,G) for the remote PE is reset,
> > > > > then the PE
> > > > >
> > > > > [same comment about the word "reset" as above]
> > > > >
> > > > >        MUST generate IGMP Leave for that (*,G) toward its local
> > > > >        interface (if any) attached to the multicast router for
> > > > > that
> > > > >
> > > > > Probably "router(s)" since there could be more than one.
> > > > > And "interface(s)" as well?
> > > > >
> > > > >        multicast group.  It should be noted that the received EVPN 
> > > > > route
> > > > >        MUST at least have one version flag set.  If all version flags
> > > > >        are reset, it is an error because the PE should have
> > > > > received an
> > > > >
> > > > > ["reset" again]
> > > > >
> > > > > Section 5
> > > > >
> > > > >    Consider the EVPN network of Figure-1, where there is an EVPN
> > > > >    instance configured across the PEs shown in this figure (namely 
> > > > > PE1,
> > > > >    PE2, and PE3).  Let's consider that this EVPN instance consists of 
> > > > > a
> > > > >    single bridge domain (single subnet) with all the hosts,
> > > > > sources, and
> > > > >
> > > > > This is the only instance of the word "bridge" in this document
> > > > > (but "broadcast domain" appears as a defined term).  Is "BD" intended?
> > > > >
> > > > > Section 5.1
> > > > >
> > > > >    all these local ports are associated with the hosts.  PE1 sends an
> > > > >    EVPN Multicast Group route corresponding to this join for (*,G1) 
> > > > > and
> > > > >    setting v2 flag.  This EVPN route is received by PE2 and PE3
> > > > > that are
> > > > >
> > > > > s/setting/sets the/
> > > > >
> > > > >    information.  However, when it receives the IGMPv3 Join from H3 for
> > > > >    the same (*,G1).  Besides adding the corresponding port to
> > > > > its OIF
> > > > >
> > > > > incomplete sentence; could add ", EVPN messaging is required" to
> > > > > connect to the next sentence.
> > > > >
> > > > > Section 6
> > > > >
> > > > >    either DF or non-DF; i.e., different IGMP Membership Request
> > > > > messages
> > > > >
> > > > > "Membership Request" again.
> > > > >
> > > > >    needed.  All-Active multihoming PEs for a given ES MUST support 
> > > > > IGMP
> > > > >    synchronization procedures described in this section if they need 
> > > > > to
> > > > >    perform IGMP proxy for hosts connected to that ES.
> > > > >
> > > > > Can we unpack the actual requirement here?  Is it: "if a given
> > > > > ES uses all-active multihoming, in order for IGMP proxying to be
> > > > > used on that ES, all the PEs on that segment must support the
> > > > > synchronization procedures described in the following subsections"?
> > > > > The analogous text in §6.2 seems more clear to me on what the
> > > > > preconditions are.
> > > > >
> > > > > Also, s/MUST support/MUST support the/ and s/IGMP proxy/IGMP
> > > > > proxying/
> > > > >
> > > > > Section 6.1
> > > > >
> > > > >    belongs.  If the PE doesn't already have local IGMP Membership
> > > > >    Request (x,G) state for that BD on that ES, it MUST instantiate 
> > > > > local
> > > > >    IGMP Membership Request (x,G) state and MUST advertise a BGP
> > > > > IGMP
> > > > >
> > > > > "Membership Request", albeit perhaps defensible since it is "state"
> > > > > and not a message being sent.
> > > > >
> > > > >    Join Synch route for that (ES,BD).  Local IGMP Membership Request
> > > > >    (x,G) state refers to IGMP Membership Request (x,G) state that is
> > > > >    created as a result of processing an IGMP Membership Report for
> > > > >    (x,G).
> > > > >
> > > > > It's typically easier for the reader when the new term is
> > > > > defined before it is used, rather than after.  Especially so
> > > > > when the defined term is similar to an existing,
> > > > > well-established, term that means
> > > something else.
> > > > >
> > > > > Section 9.1
> > > > >
> > > > >    o  This EVPN route type is used to carry tenant IGMP multicast 
> > > > > group
> > > > >       information.  The flag field assists in distributing IGMP
> > > > >       Membership Report of a given host for a given multicast route.
> > > > >       The version bits help associate IGMP version of receivers
> > > > >       participating within the EVPN domain.
> > > > >
> > > > >    o  The include/exclude bit helps in creating filters for a given
> > > > >       multicast route.
> > > > >
> > > > > Is "assists" and "helps" really the terminology we want to use
> > > > > when this information is literally required in order to
> > > > > construct the relevant IGMP messages?  (Similarly for the
> > > > > subsequent subsections.)
> > > > >
> > > > > Section 9.1.1
> > > > >
> > > > >    The Originator Router Address is the IP address of router 
> > > > > originating
> > > > >    this route.  The SMET Originator Router IP address MUST match that 
> > > > > of
> > > > >    the IMET (or S-PMSI AD) route originated for the same EVI by the 
> > > > > same
> > > > >    downstream PE.
> > > > >
> > > > > References for IMET and S-PMSI AD might be nice.
> > > > >
> > > > >    The Flags field indicates the version of IGMP protocol from which 
> > > > > the
> > > > >    Membership Report was received.  It also indicates whether
> > > > > the
> > > > >
> > > > > Probably "version(s)" and "Report(s)" since we encourage coalescing.
> > > > >
> > > > > Section 9.3.1
> > > > >
> > > > >    Maximum Response Time is value to be used while sending query as
> > > > >    defined in [RFC2236]
> > > > >
> > > > > "the value to be used while sending queries" (though see the
> > > > > non-nit
> > > comment).
> > > > >
> > > > >

_______________________________________________
BESS mailing list
BESS@ietf.org
https://www.ietf.org/mailman/listinfo/bess

Reply via email to