Re: [Roll] enrollment priority

Michael Richardson <> Wed, 29 April 2020 12:40 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id C901B3A0E54 for <>; Wed, 29 Apr 2020 05:40:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Qt8WwMQCYXeB for <>; Wed, 29 Apr 2020 05:40:50 -0700 (PDT)
Received: from ( [IPv6:2607:f0b0:f:3:216:3eff:fe7c:d1f3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id C371B3A0E52 for <>; Wed, 29 Apr 2020 05:40:49 -0700 (PDT)
Received: from ( [IPv6:2607:f0b0:f:2::247]) by (Postfix) with ESMTP id 92D213897C for <>; Wed, 29 Apr 2020 08:38:52 -0400 (EDT)
Received: from localhost (localhost [IPv6:::1]) by (Postfix) with ESMTP id BC1B4781 for <>; Wed, 29 Apr 2020 08:40:45 -0400 (EDT)
From: Michael Richardson <>
To: Routing Over Low power and Lossy networks <>
In-Reply-To: <BM1PR01MB402069CD033662DD56D11B0BA9DF0@BM1PR01MB4020.INDPRD01.PROD.OUTLOOK.COM>
References: <>, <8722.1586555051@localhost> <BM1PR01MB402069CD033662DD56D11B0BA9DF0@BM1PR01MB4020.INDPRD01.PROD.OUTLOOK.COM>
X-Mailer: MH-E 8.6; nmh 1.7+dev; GNU Emacs 25.1.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-sha256"; protocol="application/pgp-signature"
Date: Wed, 29 Apr 2020 08:40:45 -0400
Message-ID: <16252.1588164045@localhost>
Archived-At: <>
Subject: Re: [Roll] enrollment priority
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Routing Over Low power and Lossy networks <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 29 Apr 2020 12:40:55 -0000

{sorry, this email sat unsent for too long}

Rahul Jadhav <> wrote:
    >> Consider the following scenario (the attached image will help explain):
    >> Node C's preferred parent is node B and alt parent is node A. What
    >> happens if the min-priority of node B changes to 127 after the node C
    >> has joined the network with B as a preferred parent? I am assuming
    >> that the min-priority impacts only the newly joining nodes i.e., once
    >> node B changes the priority to 127 then node C also changes the
    >> priority to 127 and thus no new nodes join. However, the change in
    >> node B's min-priority may not impact node C's decision to continue
    >> using node B as the preferred parent (?). What happens when node C has
    >> alternate parent node A whose priority is lesser than 127. Should node
    >> C switch to node A so as to allow new downstream nodes to join the
    >> network?

    mcr> First, I think that if node C had a MP of 127, then it would *NOT* advertise
    mcr> itself as a Join Proxy.

    RJ> Consider non-6tisch case, where the 6LR's resources are full and does
    RJ> not want any new nodes to connect to it. In this case, it still needs
    RJ> to advertise its DIO for all the existing nodes which have already
    RJ> joined through it. The new nodes will see MP=127 and hence won't
    RJ> join. But the gist is, Node C has to keep advertising for all its
    RJ> existing nodes. It cannot stop sending DIOs.

Okay, so I think that we have further confusion of Join (DODAG thing) vs
Enroll (onboarding thing) :-)
I have taken another pass through the document to make sure that all uses of
join, other than "Join Proxy" now say Enroll.

    mcr> So if it was sending Enhanced Beacons, then it
    mcr> would:
    mcr> a) set proxy prio to 0x7f.
    mcr> b) maybe even stop sending EBs [have to think about this]

    RJ> Not sure in case of 6tisch too if it can stop sending EBs? Since it
    RJ> may be needed for existing nodes who have already joined.

Yes, it probably needs to continue sending EBs.

    mcr> If node C *does* change to node A, then it would change it's priority.
    mcr> But it has to do that, and maybe there are reasons why A won't accept it.

    RJ> Sure node A might have its own reasons to not accept it, but the MP
    RJ> suggests that it is willing to accept node C. The problem is when
    RJ> node C switches to Node A, the whole sub-DODAG rooted at C switches
    RJ> and this may result in node A's MP to reach 127. Since node B is now
    RJ> free, it's MP value will decrease. This can result in oscillations in
    RJ> the network.

The fundamental problem is that the sub-DODAG needs to be split.
I don't think that we can do that in this option or in EBs.
It has to be done in DIOs and DAO-ACKs and...
I think that we have had proposals to deal with this before (what happened to

    > 6LRs that support this option, but whose parent does not send it SHOULD
    > assume a value of 0x40 as their base value.
    > The nodes adjust this base value based upon their observed congestion,
    > emitting their adjusted DIO value to their children.

    > (0x40 is my wet-finger-in-the-air, seat-of-the-pants guess)

    RJ> Consider that a 6LR who does not support MP gets a DIO with
    RJ> MP=127. The 6LR will ignore the MP field and sends it DIO without MP
    RJ> and the downstream nodes will assume an MP of 0x40! This may be a
    RJ> problem.

I added some analysis to my slides today to deal with this.
I am open to other values, but I think we need to pick some value. Maybe 0,
but I think not.  Maybe rank * VALUE.

    >> We tried working on a problem-statement in the past in LWIG [1] which
    >> talked about how to handle the case where some upstream nodes cache
    >> (routing/neighbor) is full and how would it stop the new downstream
    >> nodes to attach in that path. Enrollment priority was referenced as a
    >> possible solution.

    > Good.  Would more informative cross-references help?
    > Do you want to co-author?

    RJ> Yes, I would love to work on this problem statement.
I will unicast to get permissions right.

Michael Richardson <>, Sandelman Software Works
 -= IPv6 IoT consulting =-