Re: [Roll] review of dao-projection -21

Michael Richardson <mcr+ietf@sandelman.ca> Tue, 23 November 2021 10:46 UTC

Return-Path: <mcr+ietf@sandelman.ca>
X-Original-To: roll@ietfa.amsl.com
Delivered-To: roll@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 271863A003C for <roll@ietfa.amsl.com>; Tue, 23 Nov 2021 02:46:11 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=sandelman.ca
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 Y3gL1awdBhtq for <roll@ietfa.amsl.com>; Tue, 23 Nov 2021 02:46:06 -0800 (PST)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [209.87.249.19]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4496A3A0028 for <roll@ietf.org>; Tue, 23 Nov 2021 02:46:05 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by tuna.sandelman.ca (Postfix) with ESMTP id 1990C18062; Tue, 23 Nov 2021 05:48:50 -0500 (EST)
Received: from tuna.sandelman.ca ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 2LZ_gkL2jeYy; Tue, 23 Nov 2021 05:48:40 -0500 (EST)
Received: from sandelman.ca (obiwan.sandelman.ca [IPv6:2607:f0b0:f:2::247]) by tuna.sandelman.ca (Postfix) with ESMTP id B988818012; Tue, 23 Nov 2021 05:48:39 -0500 (EST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=sandelman.ca; s=mail; t=1637664519; bh=K6g6VPJs/vTCs6asB31fhRCdFJUY04of7rB2bWFZbRM=; h=From:To:Subject:In-Reply-To:References:Date:From; b=cozcCrFQgkg6TF060lkWL9zVWyLVwTFZOdWZS3VTEsaXtrxqI+/2XXBQtcqNmtTSF QvWdmV8nQsW+37jNhU3DhxFoKrGX9cYtl4arqI63lFnKxiHrCXhujocjQR16Ycnz7S zeAfmXC9IEXOx2+m7XNCqpQF6QF+a+hj/aZ4yqtmvOo2QUEWmx83qE1+NJy3A6ZZ1H AtkGLo5aF5icAwyZSno864Plk7mVTL+UO1SUx2T5Ydy+0QSIKu3QvBU79mkIzgdYSz bNuCBGxMdeSiktpdBLr/eiwApR7EbxPavswZ7O8xBL13JmFYs342r59sttBiJGEk+u nL0m22UJPvvxw==
Received: from localhost (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id 44C08128B; Tue, 23 Nov 2021 05:45:52 -0500 (EST)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: "Pascal Thubert (pthubert)" <pthubert@cisco.com>, Routing Over Low power and Lossy networks <roll@ietf.org>
In-Reply-To: <CO1PR11MB4881FA1B51733ECA29AAB33CD89F9@CO1PR11MB4881.namprd11.prod.outlook.com>
References: <1193.1637193313@localhost> <CO1PR11MB4881FA1B51733ECA29AAB33CD89F9@CO1PR11MB4881.namprd11.prod.outlook.com>
X-Mailer: MH-E 8.6+git; nmh 1.7+dev; GNU Emacs 26.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha512"; protocol="application/pgp-signature"
Date: Tue, 23 Nov 2021 05:45:52 -0500
Message-ID: <28122.1637664352@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/roll/EZkEuwfNa4nKJ78tLl9WwY_J_rs>
Subject: Re: [Roll] review of dao-projection -21
X-BeenThere: roll@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Routing Over Low power and Lossy networks <roll.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/roll>, <mailto:roll-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/roll/>
List-Post: <mailto:roll@ietf.org>
List-Help: <mailto:roll-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/roll>, <mailto:roll-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 23 Nov 2021 10:46:11 -0000

Pascal Thubert (pthubert) <pthubert@cisco.com> wrote:
    >> Rahul and I (via hypothys.is) want to know why "anistropic" was part of
    >> the introduction sentence.  It's not wrong, but it seems funny to
    >> suddenly have this so prominent.

    > I opened a separate thread for this. What is hypothys.is ?

A group commenting system that Rahul and I happen to both use.
(Who remembers Netscape Group Annotations?... )

    >> You might want to consider upgrading to kramdown for your source, and
    >> then change your ascii art to something goat can upgrade to SVG.
    >> https://github.com/blampe/goat

    > I'm not that fond of kramdown, that's an extra step for me, and I use it when I must.
    > Goat seems orthogonal, I love it but lack time for fun to learn through the IETF procedure.
    > Look at https://www.ietf.org/archive/id/draft-ietf-rift-rift-13.pdf; good yes, perfect, no. Worth the effort ?

Yes, worth the effort.
Goat lets you write ASCII art in a slightly restricted way, and it upgrades
it to SVG.  The reason to use kramdown here is only because it manages that
for you.

    >> A major issue for me is how things get turned on.
    >> Does this document wait for capex?  probably?  I know that I'm probably
    >> the slow/weak link in the capex chain.

    > It would have largely benefitted from capex if capex was there.
    > For now it will be configuration / management.

So I can use it only after I know that all nodes support it.

    > See section 3.7 "

    > The "6TiSCH Architecture" [6TiSCH-ARCHI] leverages a centralized
    > model that is similar to that of "Deterministic Networking
    > Architecture" [RFC8655], whereby the device resources and
    > capabilities are exposed to an external controller which installs
    > routing states into the network based on its own objective functions
    > that reside in that external entity.
    > "

    > The management magic tells the root which node supports this and their
    > capacity. It's all done outside RPL.

I'm okay that the PCE/Root interface is outside RPL, and even that it's
non-standard.   Some roots could include the PCE internally, I think.

    > "
    > With this specification, an abstract routing function called a Path
    > Computation Element [PCE] (e.g., located in an central controller or
    > collocated with the Root) interacts with the RPL Root to compute Peer
    > to Peer (P2P) paths within a pre-existing RPL Main DODAG. "

    >> The document says, "Root or an associated PCE " a few times, so maybe
    >> we could just call it the "P-DAO engine" or something like that.

    > I like using the standard term if that's abstract enough

Works for me.

    >> Maybe, instead of trying to make a definition list for this section,
    >> make subsections, because I think that each term here actually requires
    >> more than a sentence.
    >>
    >> _subTrack_ or sub-track?
    >> 1) Not fond of camelcase in specifications.

    > This is common with the RAW architecture. I can uplift both but it's
    > work to do and undo, so I'd like to see a consensus.
    > Maybe make it an item to resolve for the WGLC?

okay.

    > "
    > 2.4.4.  Routing Stretch:

    > RPL is anisotropic, meaning that it is directional, or more exactly
    > polar.  RPL does not behave the same way "down" with multicast DIO

[wearing my dad-is-teenager-chemistry-tutor hat now wants to know if routing
can be both covalent and polar... ]

    > The term Routing Stretch denotes the length of a path, as compared
    > with a shortest path, which can be a abstract concepts in RPL when
    > the metrics are statistical and dynamic, and the concept of short
    > varies with the Objective Function.

Thanks

    >>
    >> section 3.4:
    >> "so-called Track Legs" ... I think the terminology says they are called
    >> Track Legs, so I think "so-called" is unneeded text.
    >> (ps: so now I have ZZtop in my head:
    >> https://www.youtube.com/watch?v=eUDcTLaWJuo )

    > Excellent! Done. The text can be a bit more explicit, more in the full excerpt below;

But, can we make ZZtop the theme song for this document?   :-)
     "RPL has Legs... and PCE knows how to use them!"

    >> "stitching" point... needs a definition, I think.

    > "
    > 2.4.9.  Stitching:

    > This specification using the term stitching to indicate that a track
    > is piped to another one, meaning that traffic out of the first is
    > injected in the other.
    > "
    > Works?

Good.

    >> I suggest section 4 identify when it Updates, whether it is Amending,

    > Argll you're killing me :) I still do not understand what "updates" means and now we amend?

There is a document trying to detail this, I'm just suggesting we get ahead
of that.

    > We do not break anything in existence if that is the question.

Amends doesn't mean break... it means that there is new work.

    > Following your line of thought I should make that a different section,
    > but it seems to me with this is really too picky.

if you can imagine a project manager assigning the work to two different
people, then a new section would help. "Bob, implement 4.5.6.9. Sian,
implement 4.5.6.8"

    > I already created many sections in the definition ad in section 3. This
    > will be the draft of one sentence per section.

That's okay with me, if they need to be easily referenced.
As, it, "Hey other implementer, you didn't do 4.5.6.7 correctly!"

    >> Last paragraph of 4.1.1 is about TIO/RIO, and deserves it's own Amends
    >> section.

    > I do not see why that is an amendment? The TIO/RIO discussion is today's RPL as is.

okay.

    >> I think that the 3-way-ness of this should be in the intro.

    > Let's take that as a potential addition to be discussed on the ML, too
    > big for me to yes/no just here

okay.

    >> section 6.4:
    >> The SRH-6LoRH with the Via Addresses in the NSM-VIO are not needed
    >> and MUST be omitted.
    ->
    >> The SRH-6LoRH with the Via Addresses in the NSM-VIO are not needed
    >> and MUST
    >> be ignored by the receiver.
    >>
    >> (I always prefer to tell the receiver what to discard, rather than tell
    >> the sender what to omit)

    > OK still sending it wastes energy and may cause a packet loss. What about

Of course, it's stupid to send stuff that is not necessary.
Until... it becomes necessary, so knowing how the receiver will respond is
the important detail.

    >> 6.5.2:
    >> "It makes sense to add a new Leg before removing one that is
    >> misbehaving, and switch to the new Leg before removing the old.
    >> "
    >>
    >> does it? if the old one is misbehaving, wouldn't removing it send
    >> traffic up to the root (according to non-optimized flow), allowing
    >> traffic to flow rather than get dropped?  yes, there are some cases
    >> where this doesn't work.

    > "
    > It makes sense to
    > add a new Leg before removing one that is becoming excessively lossy,
    > and switch to the new Leg before removing the old.  Dropping a Track
    > before the new one is installed would reroute the traffic via the
    > root; this may augment the latency beyond acceptable thresholds, and
    > load the network near the root.  This may also cause loops in the
    > case of stitched Tracks; the packets that cannot be injected in the
    > second Track may be routed back at reinjected at the Ingress of the
    > first."

Works for me.

    >> section 8: i like these profiles.  We do need diagrams.
    >> (again, SVG and goat may be very nice to use) Do the profiles
    >> need to be announced in some place in the protocol?

    > Argl, I do not see that. Hopefully not?

okay.

    >>
    >> section 9: I don't think that the new risk for forged P-DAOs is
    >> adequately
    >> explained.   Can we at least authenticate P-DAO messages
    >> because they
    >> come from the Root? Sometimes the Root IP address is the same
    >> as the DODAGID.
    >> (but not always? I forget)

    > For P-DAO it is, yes. But we do not secure messages from the root. That
    > would be nice. How can we do that?

I'm okay if we say that only the root (identified by IP address) can send them.

    >> RFC9008 probably has
    >> provided all the primitives.  (I hope!) But, I'd like to see a state
    >> machine of sorts that relates the P-DAO, DAO-ACK and PDR/PDR-ACK
    >> messages.

    > Again, I'd like to see this agreed by the WG. Would that be normative?

Probably.

    >> I fear that the SHOULD/MUSTs/new-ICMPs messages are too spread over the
    >> document.

    > The previous review caused some restructuring. The more we do that the
    > more we spread. What do we prefer, stricture vs. MUSt concentration?

Well, if we had the 6LR changes with state machine, then all the MUSTs would
migrate to that section.


--
Michael Richardson <mcr+IETF@sandelman.ca>   . o O ( IPv6 IøT consulting )
           Sandelman Software Works Inc, Ottawa and Worldwide