Re: [6lo] [Roll] draft-ietf-6lo-multicast-registration: route cleanups and storing MOP handling

Rahul Jadhav <rahul.ietf@gmail.com> Sun, 12 June 2022 16:44 UTC

Return-Path: <rahul.ietf@gmail.com>
X-Original-To: 6lo@ietfa.amsl.com
Delivered-To: 6lo@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1CABEC14F74A; Sun, 12 Jun 2022 09:44:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.104
X-Spam-Level:
X-Spam-Status: No, score=-2.104 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, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MKHorIMa8Kcr; Sun, 12 Jun 2022 09:44:44 -0700 (PDT)
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com [IPv6:2a00:1450:4864:20::634]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 74BD5C14F692; Sun, 12 Jun 2022 09:44:44 -0700 (PDT)
Received: by mail-ej1-x634.google.com with SMTP id y19so6907946ejq.6; Sun, 12 Jun 2022 09:44:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=H3eKo1mm+Cgs2ao5CNKomtWNb53Oy36dlNZweVC2NYg=; b=l1O6NW53vKdhguNQhmNMlJbo9ctkqTIbq8gg0rvfnr7su4MMvsdoEVtCN9Bs/mW02b x0ICz2rjOZXWq/dlO8kx6Rr5eyvSUmDZx03W7Y+i36T1WigW93EAq6ndUz0s2Okt8zCV atdR1wx2UH/lnfRxzEDvScuwG5s5CRqsOc4TAIEXQATk9dI5Q+vhlkTwa5NKfEFycpWx Noc+frGEBZj2SPq9iPmaO5S29JD++fChZxc2lWIOCcCuqarxYPd1N4tKnHBI+BsAYnKI z5NddAeKDlfMom2AuC88twmGZQcwl7N3SPQgly6m95yvsjZiUJM1QZmNr6bxnp9dhYPz Jsww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=H3eKo1mm+Cgs2ao5CNKomtWNb53Oy36dlNZweVC2NYg=; b=ZzU8gbG4BYMWckF/4z0aMf4yashtKDiI1gfnJipdR6bPxdqwYWnHpRlPXTjFeZEGyP u4+ngKD3Jpmg4jKUbjPByUh9aZz1/UevMqBVu2xSMS1hCOo2luM5/dU+KfgYz6G5ApjO IhEcZ5hg0RCJ0tWE19Lvxro393IfUWw2NyMPXTKzPSeC6OnDi8U0yx7AsC1e/n/rx8Qr Igmv1d65brV3ZldqSJlu0Q3V+LLzwwNuT4U5gKvM6uIVIBF+4Kj2Dbpq0DJHijhhmM5r WbXpZBPMd9mPEuHsbkGBspNvU0MCoAJuJOvbmWBuhwG/O1lbU0LbjW1H5c1rqO0paS2K J7bA==
X-Gm-Message-State: AOAM532CwA4HtMJ5p3tgMPI0DGjRlhPVa66AwrdeKwodQmZIvqOHWbkr iAt3QfPeyafAcrQsk6tY/HnENItljMfZaepw9rPK/BoklU0=
X-Google-Smtp-Source: ABdhPJzqY4R4eqtUDxQR6xG4PFeNIr80sLS0UcPPoaLaHq84NQVf0j1UkqqtnQHFYRx//Wx/X8JmCg+Zq1kih5Yosy4=
X-Received: by 2002:a17:907:7256:b0:711:dd35:61eb with SMTP id ds22-20020a170907725600b00711dd3561ebmr26934289ejc.445.1655052282309; Sun, 12 Jun 2022 09:44:42 -0700 (PDT)
MIME-Version: 1.0
References: <CAO0Djp3rU3Z_obYmmUdvJ80UjpK4EYfvPNKJckS3BGpdm6TBfw@mail.gmail.com> <CO1PR11MB4881549A04FC95BA9061C3A2D8A49@CO1PR11MB4881.namprd11.prod.outlook.com>
In-Reply-To: <CO1PR11MB4881549A04FC95BA9061C3A2D8A49@CO1PR11MB4881.namprd11.prod.outlook.com>
From: Rahul Jadhav <rahul.ietf@gmail.com>
Date: Sun, 12 Jun 2022 22:14:31 +0530
Message-ID: <CAO0Djp1z1P=4TxaCR3PQFcVESax=2pPVLZta-sYbF4T3gH6HXQ@mail.gmail.com>
To: Routing Over Low power and Lossy networks <roll@ietf.org>
Cc: lo <6lo@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000005f310205e142e3ff"
Archived-At: <https://mailarchive.ietf.org/arch/msg/6lo/5vRqiqGgcJYYLYeLLql-CSXjf-k>
Subject: Re: [6lo] [Roll] draft-ietf-6lo-multicast-registration: route cleanups and storing MOP handling
X-BeenThere: 6lo@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Mailing list for the 6lo WG for Internet Area issues in IPv6 over constrained node networks." <6lo.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/6lo>, <mailto:6lo-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/6lo/>
List-Post: <mailto:6lo@ietf.org>
List-Help: <mailto:6lo-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/6lo>, <mailto:6lo-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 12 Jun 2022 16:44:49 -0000

Thanks for the response.

PFA my comments inline.

One more comment:  Section 5.2 says "non-storing Mode DAO to the Root may
contain multicast addresses in the RPL Target Option (RTO),"
An RTO cannot contain multiple addresses. Is it meant to say that multiple
RTOs may contain the different multicast addresses within the same DAO?

Thanks,
Rahul

On Wed, 8 Jun 2022 at 21:23, Pascal Thubert (pthubert) <pthubert=
40cisco.com@dmarc.ietf.org> wrote:

> Hello Rahul
>
>
>
> Many thanks for your review!!
>
>
>
> Please see below:
>
>
>
> >  storing MOP handling: Even though the draft mentions that storing MOP
> should also work, the details seem to be missing (or it might be an
> oversight on my side).
>
>
>
> This is effectively
> https://datatracker.ietf.org/doc/html/rfc6550#section-12; this is
> indicated in the introduction and the overview. Effectively the TID must be
> ignored and the RFC misses text to that effect. This oversight (of ours at
> the time of RFC 6550) is corrected in the cases covered by the draft though
> we do not specifically update RFC 6550 to clarify that it also applies to
> MOP3. I’m adding text to be more specific on this:
>
>
>
> “
>
>    Though it was implicit in [RFC6550], this specification
>
>    clarifies that the freshness comparison based on the TID field is
> ignored
>
>    for RPL multicast operations. A RPL router maintains a remaining Path
>
>    Lifetime for each DAO that it receives for a multicast target, and
> sends it
>
>    own DAO for that target with the longest remaining lifetime across its
>
>    listening children.
>
> “
>
> Same for MOP 5
>
> “
>
>    As with MOP 3, the freshness comparison based on the TID field is
> ignored
>
>    for RPL MOP 5 multicast operations. The Root maintains a remaining Path
>
>    Lifetime for each DAO that it receives, and the 6LRs generate the DAO
> for
>
>    multicast addresses with the longest remaining lifetime across its
> registered
>
>    6LNs.
>
> “
>
>
>
> There is no route cleanup. There’s history of async clean up to do damage
> in race conditions. It’s hard enough for unicast, we do not attempt for
> multicast or anycast. So we leave it to lifetime elapsing.
>

Ok. That's what I assumed but wanted an explicit response.
Multicast/Anycast proactive cleanup is not possible to handle and lifetime
elapsing sounds fine to me. Should this be explicitly stated?



>
>
> > This opens up a lot of possibilities and I am not sure how the hybrid
> mode would work.
>
>
>
> Well, the  announced MOP is 1 but there’s storing mode DAO for multicast
> happening as well. Some out of band control would allow this to happen. We
> can remove that text if people think it is open ended…
>

I feel it is open-ended.


>
>
> > "MUST retain a routing table entry for each children", is a change from
> the default behaviour and thus has impact on backward compatibility which
> is not called out in the corresponding backward compatibility section.
>
>
>
> This is described in section 12 of RFC 6550 for MOP 3:
>
> “
>
>
>
>    As a result, multicast routing states are installed in each router on
>
>    the way from the listeners to the DODAG root, enabling the root to
>
>    copy a multicast packet to all its children routers that had issued a
>
>    DAO message including a Target option for that multicast group.
>
>
>
> “
>
>
>
> > What is the preferred mode for sending syntax fixes since I dont see
> this draft on github?
>
>
>
> The git is https://github.com/pthubert/6lo-multicast-registration; you’re
> very welcome to submit a pull request. I pushed the changes above in
> https://github.com/pthubert/6lo-multicast-registration/commit/02f5b9144f39f54e76ee2c8b480703449450ddf3
>

I have raised a PR to your repo here
<https://github.com/pthubert/6lo-multicast-registration/pull/1>.



> I suggest to move it to the ROLL git when we transfer focus to ROLL?
>
>
>
> Many thanks again
>

MAny Thanks

>
>
> Pascal
>
>
>
>
>
>
>
> *From:* Roll <roll-bounces@ietf.org> *On Behalf Of *Rahul Jadhav
> *Sent:* vendredi 3 juin 2022 17:16
> *To:* lo <6lo@ietf.org>; Routing Over Low power and Lossy networks <
> roll@ietf.org>
> *Subject:* [Roll] draft-ietf-6lo-multicast-registration: route cleanups
> and storing MOP handling
>
>
>
> Hello Pascal, Authors,
>
>
>
> Thank you for this work. We had discussions before where the ability to
> register anycast/multicast addresses for 6LN nodes spanning RPL (or even
> non-RPL) network was missing. This work fulfills that requirement.
>
>
>
> Following is my review of the draft:
>
> 1. storing MOP handling: Even though the draft mentions that storing MOP
> should also work, the details seem to be missing (or it might be an
> oversight on my side). Consider following instances (for storing MOP):
>
>    a. in the case where multiple 6LNs subscribe to the same multicast
> address in the same DODAG, how will the intermediate 6LR handle this
> situation? Is it expected that the 6LR maintains state for all DAOs? Note
> that the DAOs may come from different paths when the parent switching
> happens and thus bloat the state. The only new thing added in the context
> is the 'M' flag in the RTO. The path-sequence, TID seems to be getting
> mandatorily ignored as per the text.
>
>   b. How would the route cleanup happen for multicast/anycast addresses?
>
>
>
> From non-storing mode perspective, I realize that it will be much easier
> handling since the DAO from the 6LR is directly targeted to the root and
> thus the root would be able to handle all the complexity.
>
> But the text seem to be loosely specified in the context of storing mode.
> For e.g., consider section 5.1 which talks about storing MOP handling... it
> states,
>
>  "Though it is preferred to build separate RPL Instances,
>
>    one in MOP 1 and one in MOP 3, this specification allows to hybrid
>    the Storing Mode for multicast and Non-Storing Mode for unicast in
>    the same RPL Instance, more in Section 10."
>
> This opens up a lot of possibilities and I am not sure how the hybrid mode
> would work.
>
>
>
> I see text in Section 5.3 that roughly handles some part by stating,
>
> "Like the 6LR, a RPL router in Storing Mode propagates the route to
>
>    its parent(s) in DAO messages once and only once for each address,
>    but it MUST retain a routing table entry for each of the children
>    that advertised the address."
>
> "MUST retain a routing table entry for each children", is a change from
> the default behaviour and thus has impact on backward compatibility which
> is not called out in the corresponding backward compatibility section.
>
>
>
> What is the preferred mode for sending syntax fixes since I dont see this
> draft on github?
>
>
>
> Again, thanks for this work.
>
>
>
> Best Regards,
>
> Rahul
>
>
> _______________________________________________
> Roll mailing list
> Roll@ietf.org
> https://www.ietf.org/mailman/listinfo/roll
>