Re: [bess] Alvaro Retana's Discuss on draft-ietf-bess-evpn-igmp-mld-proxy-14: (with DISCUSS and COMMENT)

Alvaro Retana <aretana.ietf@gmail.com> Thu, 18 November 2021 20:50 UTC

Return-Path: <aretana.ietf@gmail.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 34A593A0A62; Thu, 18 Nov 2021 12:50:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Dd2kbBz7bAIK; Thu, 18 Nov 2021 12:50:41 -0800 (PST)
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E74AB3A0A52; Thu, 18 Nov 2021 12:50:40 -0800 (PST)
Received: by mail-ed1-x536.google.com with SMTP id z5so32840225edd.3; Thu, 18 Nov 2021 12:50:40 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:in-reply-to:references:mime-version:date:message-id:subject:to :cc:content-transfer-encoding; bh=FoA6DUYoNZeiChtCIEktE4BPFtE+jHm2Pz6EWxCgRsU=; b=OqKwiV/mhvaf181L4M0C9edpqvW3H2HjxlWyaSHtzNSsAb4f8ZE31AiRKaB+iKecxe 0/Lfz0Xgpv7GDNXoohT6RUaOToJ0v99JaWjhcWkrxJRPFyTTwagTR0L+bpp6Y+WVcH8x BPga9cuVgYhuRlEP8CKkzzAPBPLrJK4+ipkoZFpXsQ2kV1f7pC9QB9jrzm7wf1Ekwdrd znt3tKxRcXeTYKip71OpUqBdvh4+DhRTaOhbHPHZRcF9AV/QO6ZLQoZOmAngzTW9iWJq 1tC3FiUxPSpJVOn+0nLAg5N06CcgUdWz9vX77RfTdbxu+lKmSGly+5aVTkS3EyKCpFuW hLnA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:in-reply-to:references:mime-version:date :message-id:subject:to:cc:content-transfer-encoding; bh=FoA6DUYoNZeiChtCIEktE4BPFtE+jHm2Pz6EWxCgRsU=; b=NKZ7fiLUsVMuocFzIOxCRFIQlsQqzmwjDFBsEMIHh8IThVZ1ac8BKEwrwoVNLhpuFv xV+coyJmVD5qVaCdVbfpCNg//t2FULZjXG7CikLTZOlrTgeXR8Cq2XswYA84vlGFi7Cc m6gJFGgj3mlQHG1yQtTQLnX+NLWbmcyvnTLrhBzt+tyap05GhUkHdBJBEhh8ycWmVwCe 5BMpGbgZ+pcrTMUAYWeppjiWHAbsmG2dAOCAzhHs8ZFbB3XbmmMyPHMASKVIZVYEJzvz C+HB97Q428qf1Jvw+GMg2X86DDcffVeD8WUu4tCBSG+EL74DOt3OWSE8VSFxKOdmemf6 +4OA==
X-Gm-Message-State: AOAM531pyfvgnjwNw8NmbUefKkDw2d+VeoQol5sQZQz5A1B1+/ZN0MrI O4zgh8pOlPwqNoKEmaIQZDgwRav9vMG3prJkyis=
X-Google-Smtp-Source: ABdhPJxd22sKXdYqmewG21kFVTuE5+4mYPpcEbHe10nj48HANGHOAjFjc2/W9GVEzOM8Mchm6TU+Wqx5ufvkf82qbAI=
X-Received: by 2002:a17:906:2bd5:: with SMTP id n21mr447804ejg.337.1637268638647; Thu, 18 Nov 2021 12:50:38 -0800 (PST)
Received: from 1058052472880 named unknown by gmailapi.google.com with HTTPREST; Thu, 18 Nov 2021 12:50:37 -0800
From: Alvaro Retana <aretana.ietf@gmail.com>
In-Reply-To: <BYAPR11MB272513BFE26ECBA8518153C3DF9A9@BYAPR11MB2725.namprd11.prod.outlook.com>
References: <163535541146.31356.5788998139231162845@ietfa.amsl.com> <BYAPR11MB272513BFE26ECBA8518153C3DF9A9@BYAPR11MB2725.namprd11.prod.outlook.com>
MIME-Version: 1.0
Date: Thu, 18 Nov 2021 12:50:37 -0800
Message-ID: <CAMMESszKrgNHvTbu7NLvDeV4VBiYJfzdJBrz90QD6t5xOQprvw@mail.gmail.com>
To: "Mankamana Mishra (mankamis)" <mankamis@cisco.com>, The IESG <iesg@ietf.org>
Cc: "draft-ietf-bess-evpn-igmp-mld-proxy@ietf.org" <draft-ietf-bess-evpn-igmp-mld-proxy@ietf.org>, "slitkows.ietf@gmail.com" <slitkows.ietf@gmail.com>, "bess-chairs@ietf.org" <bess-chairs@ietf.org>, "bess@ietf.org" <bess@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/bess/OK6MAjvEiYbrBiUYeuN6EVKCRmw>
Subject: Re: [bess] Alvaro Retana's Discuss on draft-ietf-bess-evpn-igmp-mld-proxy-14: (with DISCUSS and COMMENT)
X-BeenThere: bess@ietf.org
X-Mailman-Version: 2.1.29
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: Thu, 18 Nov 2021 20:50:44 -0000

On November 17, 2021 at 3:11:49 PM, Mankamana Mishra wrote:


Mankamana:

Hi!


...
> ----------------------------------------------------------------------
> DISCUSS:
> ----------------------------------------------------------------------
>
> First of all, I am surprised that a document related to IGMP/MLD was not sent
> to the pim WG for review. I can't find any mention of this draft in the pim
> WG's archive.
>
>
> Mankamana: As in contributor to this document, all the procedures are very
> much limited to BGP overlay signaling. Not sure which aspect would be
> reviewed by PIM WG. This draft does not change any behavior of PIM or IGMP .

This document is about proxying IGMP/MLD through an EVPN domain to
"reduce the flooding of IGMP messages", which implies that the
messages are received and recreated [*] based on the BGP information.
The routers are them acting as both a multicast router and group
member -- this behavior, including the operation of multiple versions
of IGMP on the same link has already bee specified in rfc3376.  The
mechanism described in this document don't seem to be in line with
that -- starting with the requirement to consider IGMPv1 as invalid.

So, yes, there are no changes to the protocols, but the behavior
specified is not in line with the existing standards.  That is what I
want the pim to look at.

[*] That is part of Eric's DISCUSS.



...
> I am balloting DISCUSS because this document is not in line with other
> consensus documents (specifically the IGMP specification). To clear, I will
> want the document reviewed by the pim WG.
>
> Mankamana : Do you expect it to be reviewed by PIM WG or we should remove
> section talking about use of V1 ? Based on current work in PIM WG, our
> understanding is that “v1 will become deprecated, v2 will still be proposed
> standard, and v3 will become internet standard.”

I expect the document to be reviewed by pim.

As I mentioned before, the current work in pim is to move rfc3376 to
Internet Standard, which would still be backwards compatible with
IGMPv1.


...
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
>
> (1) The terminology section should include IGMP/MLD-related terminology or at
> least a pointer to the relevant RFCs.
>
> Also, the messages are called Membership Reports, and not "Join" or "IGMP
> Reports". Similar comment related to "IGMP Queries" and "Membership Requests"
> (should be Membership Query).
>
> [I will not make other comments below about this same point.]
>
>
> Mankamana : will change IGMP join to Membership Request

An "IGMP join" should be a "Membership Report" (not a request).  There
are no "requests", just "Membership Queries".



> (2)
> [Line numbers from idnits.]
>
> 260 1. When the first hop PE receives several IGMP Membership Reports
> 261 (Joins), belonging to the same IGMP version, from different
> 262 attached hosts for the same (*,G) or (S,G), it SHOULD send a
> 263 single BGP message corresponding to the very first IGMP
> 264 Membership Request (BGP update as soon as possible) for that
> 265 (*,G) or (S,G). This is because BGP is a stateful protocol and
> 266 no further transmission of the same report is needed. If the
>
> The behavior in this rule is not required. Under what circumstances is it ok
> for the PE to not wait for several Membership Reports from multiple hosts
> before sending a BGP message?
>
> Waiting for multiple messages can clearly result in a delay for an interested
> host in receiving the multicast service. Note that rfc3376 says that
> "Multicast routers need to know only that *at least one* system on an attached
> network is interested..."
>
>
> Mankamana :
>
>
> it SHOULD send a
> 263 single BGP message corresponding to the very first IGMP
> 264 Membership Request (BGP update as soon as possible) for that
>
>
> does this not mean, BGP update should be sent ASAP. It does not state to wait
> for many ?

The first part of that sentence says: "When the first hop PE receives
several IGMP Membership Reports..."  The action is predicated (in the
text) by receiving multiple messages -- after that you're right, the
message would be send ASAP.




> (3)
>
> 269 (v2 or v3) set. In case of IGMPv3, the exclude flag MUST also be
> 270 set to indicate that no source IP address must be excluded
> 271 (include all sources "*"). If the IGMP Join is for (S,G), then
> 272 besides setting multicast group address along with the version
> 273 flag v3, the source IP address and the IE flag MUST be set. It
>
> "the exclude flag MUST also be set" I think you meant to reference the Exclude
> Group and the IE field in the flags. Note that the second part ("IE flag MUST
> be set") also refers to the same field, but for a different condition. Please
> be consistent and call things (the IE field, in this case) by a single name.
>
> The definitions in §9.* are not consistent either.
>
>
> Mankamana : will IE (Include or Exclude) in terminology be enough ? First
> part of statement talks about (*,G) join where only Exclude flag would be
> set. Where for (S,G) Include or Exclude either can be set.

No -- please be consistent throughout.

Note that the flag is called IE (in §9.1) and defined as a single bit,
so talking about how "Include or Exclude either can be set" is
confusing: the bit is either set or it isn't -- these are not
independent flags.




> (4)
>
> 277 2. When the first hop PE receives an IGMPv3 Join for (S,G) on a
> 278 given BD, it SHOULD advertise the corresponding EVPN Selective
> 279 Multicast Ethernet Tag (SMET) route regardless of whether the
> 280 source (S) is attached to itself or not in order to facilitate
> 281 the source move in the future.
>
> When is it ok for the SMET route not to be advertised? IOW, why is it a
> recommendation and not a requirement?
>
>
> Mankamana : changing SHOULD to MUST ?

That's the question! :-)

It seems to be that the SMET route should be advertised always
(required = MUST), but I'm asking why you chose to allow for it to not
be advertised sometimes (recommended = SHOULD)?



> (5)
>
> 283 3. When the first hop PE receives an IGMP version-X Join first for
> 284 (*,G) and then later it receives an IGMP version-Y Join for the
> 285 same (*,G), then it MUST re-advertise the same EVPN SMET route
> 286 with flag for version-Y set in addition to any previously-set
> 287 version flag(s). In other words, the first hop PE MUST NOT
> 288 withdraw the EVPN route before sending the new route because the
> 289 flag field is not part of BGP route key processing.
>
> The requirement (MUST) to re-advertise the same SMET route assumes that there
> was an advertisement done already, but rule 2 doesn’t require that.
>
>
> Mankamana : Changing previous one to MUST should fix this comment too.

Yes, if that is the right thing to do there.



> (6)
>
> 291 4. When the first hop PE receives an IGMP version-X Join first for
> 292 (*,G) and then later it receives an IGMPv3 Join for the same
> 293 multicast group address but for a specific source address S, then
> 294 the PE MUST advertise a new EVPN SMET route with v3 flag set (and
> 295 v2 reset). The IE flag also need to be set accordingly. Since
> 296 source IP address is used as part of BGP route key processing it
> 297 is considered as a new BGP route advertisement. When different
> 298 version of IGMP join are received, final state MUST be as per
> 299 section 5.1 of [RFC3376]. At the end of route processing local
> 300 and remote group record state MUST be as per section 5.1 of
> 301 [RFC3376].
>
> Receiving an IGMPv3 Membership Report for the first time, as described here,
> is equivalent to the case in rule 2, However, the normative language is
> different: sending an SMET route is required here, but only recommended in
> rule 2. I fail to see why the conditions are different.
>
> Also, this rule mentions that the “IE flag also need[s] to be set
> accordingly” while rule 1 requires a specific setting.
>
> This section is talking about the actions of a PE when it receives IGMP
> messages — this is what rfc3376 refers to as a multicast router. §5.1/rfc3376
> refers to the host function (group members). Both statements (which seems
> redundant to me) requiring compliance with rfc3376 are misplaced.
>
>
> Mankamana : Sending you diff soon for your review.

Ok



> BTW, these are the only references (in the specification part of the text) to
> rfc3376. Given that this document is about IGMP/MLD Proxy, there should be
> other references that make clear the normative relationship. The same comment
> applies to the other versions of IGMP mentioned as well as MLD.
>
>
> Mankamana : Will add reference to IGMP and MLD RFC

Please do closer to the start of the document, to establish the
relationship early on.



> (7)
>
> §4.1.1: The set of rules in this section (IGMP/MLD Membership Report
> Advertisement in BGP) is preceded with:
>
> 256 When a PE wants to advertise an IGMP Membership Report (Join) using
> 257 the BGP EVPN route, it follows the following rules (BGP encoding
> 258 stated in Section 9):
>
> But rules 5-7 are about the actions related to the SMET route being received,
> not advertising it. Perhaps divide the list of rules so that it is clear when
> they apply.
>
>
> Mankamana : making it two section ? one who advertising the route and other
> for who receiving it ?

Two sections is ok -- or simply two lists in the same section.  Up to you.



...
> (9)
> §4.1.2: Rules 2-3 are about the actions after the SMET route is received,
> which doesn't match with the preface to the rules. Perhaps divide the list
> of rules...
>
>
>
> Mankamana : making some changes and sending new text soon.

Ok.



> (10)
>
> 1269 IGMP MAY be configured with immediate leave option. This allows the
> 1270 device to remove the group entry from the multicast routing table
> 1271 immediately upon receiving a IGMP leave message for (x,G). In case
> 1272 of all active multi-homing while synchronizing the IGMP Leave state
> 1273 to redundancy peers, Maximum Response Time MAY be filled in as Zero.
> 1274 Implementations SHOULD have identical configuration across multi-
> 1275 homed peers. In case IGMP Leave Synch route is received with Maximum
> 1276 Response Time Zero, irrespective of local IGMP configuration it MAY
> 1277 be processed as an immediate leave.
>
> By "immediate leave" I assume you're referring to "low leave latency"
> (rfc2236/rfc3376), is that right? There is no "immediate leave" mentioned in
> those documents.
>
> "IGMP MAY be configured with immediate leave option." This "MAY" seems to just
> be stating a fact. s/MAY/may
>
> When is it ok for implementations to not have the same configuration? IOW, why
> is that a recommendation and not a requirement?
>
> Mankamana: Yes immediate leave is “low leave latency”. Since its optional
> functionality, its not hard requirement. An implementation may or may not
> support this functionality.

Ok.  Let me ask a different question: what is the effect of not having
the same configuration?  Just from the leave latency point of view, it
looks like the behavior may be inconsistent.


Thanks!

Alvaro.