Re: [Roll] enrollment priority

Konrad Iwanicki <iwanicki@mimuw.edu.pl> Wed, 24 November 2021 20:48 UTC

Return-Path: <iwanicki@mimuw.edu.pl>
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 751A13A0C12 for <roll@ietfa.amsl.com>; Wed, 24 Nov 2021 12:48:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.751
X-Spam-Level:
X-Spam-Status: No, score=-3.751 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, NICE_REPLY_A=-1.852, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 Z3n09Jy9HFmI for <roll@ietfa.amsl.com>; Wed, 24 Nov 2021 12:48:17 -0800 (PST)
Received: from mail.mimuw.edu.pl (mail.mimuw.edu.pl [193.0.96.6]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 12EC03A0A9C for <roll@ietf.org>; Wed, 24 Nov 2021 12:48:16 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by duch.mimuw.edu.pl (Postfix) with ESMTP id DD0E061FE2C57; Wed, 24 Nov 2021 21:48:09 +0100 (CET)
X-Virus-Scanned: amavisd-new at mimuw.edu.pl
Received: from duch.mimuw.edu.pl ([127.0.0.1]) by localhost (mail.mimuw.edu.pl [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id cnHr93g1ePAX; Wed, 24 Nov 2021 21:48:07 +0100 (CET)
Received: from [IPV6:2a02:a311:813e:880:113f:8542:aa65:5595] (unknown [IPv6:2a02:a311:813e:880:113f:8542:aa65:5595]) (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 duch.mimuw.edu.pl (Postfix) with ESMTPSA; Wed, 24 Nov 2021 21:48:05 +0100 (CET)
Message-ID: <f193773b-dee7-99c6-7200-1f37ee63d5b9@mimuw.edu.pl>
Date: Wed, 24 Nov 2021 21:48:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:91.0) Gecko/20100101 Thunderbird/91.3.2
Content-Language: en-US
To: "Pascal Thubert (pthubert)" <pthubert@cisco.com>, Routing Over Low power and Lossy networks <roll@ietf.org>
References: <30208.1637590535@localhost> <74673648-79a7-9611-5b71-b089a9a3e37e@mimuw.edu.pl> <76746.1637774741@dooku> <9C03FC6E-05D6-45FB-99C5-8BC84193C3AD@cisco.com>
From: Konrad Iwanicki <iwanicki@mimuw.edu.pl>
In-Reply-To: <9C03FC6E-05D6-45FB-99C5-8BC84193C3AD@cisco.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/roll/H9B3FHkLI7dtp1EXI6P05tBhVRY>
Subject: Re: [Roll] enrollment priority
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: Wed, 24 Nov 2021 20:48:25 -0000

Hello Pascal and Michael,

My replies are inline.

On 24/11/2021 21:21, Pascal Thubert (pthubert) wrote:
>> Le 24 nov. 2021 à 18:26, Michael Richardson <mcr+ietf@sandelman.ca> a 
>> écrit :
>> let me collect replies into a single response.
>> I've also opened issues in github.
>>
>> Konrad Iwanicki <iwanicki@mimuw.edu.pl> wrote:
>>> As we discussed throughout the mailing list, we also need a sequence
>>> number so that correct values of DODAG_Size and min_priority are
>>> adopted. This in turn requires putting more information in the draft on
>>> the rules of adopting the values. They are explicitly formulated in my
>>> earlier e-mail about GLOBAL vs FLEXIBLE.
>>
>> I thought that we needed a lollipop counter only if the values were 
>> going to
>> be different in different places in the DODAG.
>>
> 
> It’s mostly to figure which is the most recent when several parents are 
> not at the same level.

Yes. This was the motivation.

>> Pascal Thubert (pthubert) <pthubert@cisco.com> wrote:
>>> Please see
>>> https://datatracker.ietf.org/doc/minutes-interim-2021-roll-02-202108311800/
>>
>> I see that I agreed we need another lollipop counter, and I'll add that to
>> the document.  Is there text is another non-RFC6550 that I should use as
>> best-of-breed to explain the counter?
> 
> Actually every text I’m aware of point to section 7 of rfc 6550.

Me too.

>>> (https://mailarchive.ietf.org/arch/msg/roll/2MaZ4wXLVzJbmLC-LO6c--DsbWQ/)
>>> I do not see a use case for it, so it looks like overdesign but I'm
>>> open to be convinced otherwise
>>
>> okay.
>>
>> Konrad Iwanicki <iwanicki@mimuw.edu.pl> wrote:
>>> - How do changes to min priority (and OSN) affect DIO Trickle timers?
>>> [OSN == the lollipop sequence counter]
>>
>> I think that if we have the counter, that increments the OSN reset the 
>> trickle
>> timer, but Pascal suggests an additional bit to reset the trickle?
>> Maybe I'm lost here.
>> https://github.com/roll-wg/draft-ietf-roll-enrollment-priority/issues/13
>>
> 
> Some casual updates do not deserve to be flooded faster than normal 
> stable DIO. But emergency and network control ones should. So we need a 
> trigger to say that this DIO message should reset trickle. May that bit 
> should not be in that option. It could be more generically used in DIOs.
> 
> 
>>
>> Konrad> OK. This seems reasonable. I would thus recommend that the draft
>> Konrad> contain explicit rules REQUIRING the bit to be set when min 
>> priority
>> Konrad> changes from:
>> Konrad>   - anything else to max (denoting saturation)
>> Konrat>   - max to anything else as these changes would normally by 
>> the ones
>> Konrat>   that should be propagated fast.
>>
>> We can certainly build these rules into enrollment priority option.
>> But, I wonder if resetting trickle has general application, and should 
>> actually be
>> signaled by inclusion of a new DIO option.
> 
> Oups i read this after thinking the same. I agree.

Now, I have second thoughts about the option (and the bit). Initially, I 
thought that having a new option is nice but now I do not see 
immediately what its semantics would be. In particular, how would a node 
know whether it has already reset its Trickle counter in response to the 
option or whether it should do this just now? The same goes for the bit.

I can imagine that the option could contain another lollipop counter but 
wonder whether it is a way to go?

>>  That removes the above implicit
>> logic from the nodes and moves it to the root.
>> (And invokes the adage about "naming and cache invalidation" being the 
>> hard problems)
>> https://github.com/roll-wg/draft-ietf-roll-enrollment-priority/issues/12
>>
> 
> Yes

See above.

>>> - How does a (temporal) lack of a preferred parent affect the proxy
>>> priority of the node in EBs (and in general, the node's behavior)?
>>
>> If the node can't send traffic up to the root, then I think that it should
>> turn off EBs until it can.
> 
> Yes; at least advertise 7F for the priority if it needs to beacon for 
> other reasons

I would vote for advertising 7f because at least this will update nodes 
that might have cached locally the node's old join priority and that 
attempt to use it as a proxy despite its lack of the preferred parent.

>> In a 6tisch situation, it is likely that the lack of a preferred parent is
>> probably due to falling out of the schedule.
>>
> 
> Yes

Yes, but this is just one of the reasons.

>> Pascal> A node that does not have a feasible parent should poison or
>> Pascal> detach. It does not make sense for a detached node to take
>> Pascal> visitors. So probably it should beacon a join priority of 0x7F.
>>
>> Does detach mean to send a DIO with infinite rank?
> 
> Poison means that. Detaching means forming its own dodag with the G bit 
> not set (not grounded)
> 
>> I'm undecided if it should send a beacon at all.
>> https://github.com/roll-wg/draft-ietf-roll-enrollment-priority/issues/11
>>
> 
> No se

I would do poisoning in this case. See above concerning the 7f value.

>> Rahul> The Root should have the ability to send any value into the 
>> DODAG. If
>> Rahul> Root is limited to value 0/1 and if it is not possible for any 
>> 6LRs to
>> Rahul> update the value then we might as well restrict the parameter 
>> size to
>> Rahul> 1 bit! Am I missing anything here?
>>
>> A goal here is to allow a device which is re-attaching to be able to judge
>> between several equivalent DODAGs which might be on different PANIDs, with
>> different capacities.   0/1 might not be enough here, and I'd prefer 
>> to err
>> on the side of creating a slider which we never use in the end.
>>
>> https://github.com/roll-wg/draft-ietf-roll-enrollment-priority/issues/10

I have no strong opinion on any of the solutions. Having more than 1 bit 
seems more generic. Whether those bits will be used in a different 
manner than "binary" is probably deployment specific.

Take care,
-- 
- Konrad Iwanicki.