Re: [Roll] draft-rahul-roll-rpl-observations-00 Section 2.1: Wear leveling

Michael Richardson <mcr+ietf@sandelman.ca> Sat, 12 May 2018 18:58 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 42E6C12EAAF for <roll@ietfa.amsl.com>; Sat, 12 May 2018 11:58:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, 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 wRd4UoSAoNRy for <roll@ietfa.amsl.com>; Sat, 12 May 2018 11:58:12 -0700 (PDT)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [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 ietfa.amsl.com (Postfix) with ESMTPS id 6FC46126DFB for <roll@ietf.org>; Sat, 12 May 2018 11:58:12 -0700 (PDT)
Received: from sandelman.ca (obiwan.sandelman.ca [209.87.249.21]) by tuna.sandelman.ca (Postfix) with ESMTP id 10ACE20090 for <roll@ietf.org>; Sat, 12 May 2018 15:10:11 -0400 (EDT)
Received: by sandelman.ca (Postfix, from userid 179) id 70AE62F85; Sat, 12 May 2018 14:57:51 -0400 (EDT)
Received: from sandelman.ca (localhost [127.0.0.1]) by sandelman.ca (Postfix) with ESMTP id 6E3962F79 for <roll@ietf.org>; Sat, 12 May 2018 14:57:51 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: Routing Over Low power and Lossy networks <roll@ietf.org>
In-Reply-To: <b3265ca6f74545468c00007dadaa0fb7@XCH-RCD-001.cisco.com>
References: <8EC2893F-731B-439D-86FE-984505349D8D@tzi.org> <982B626E107E334DBE601D979F31785C5DBCD1B4@BLREML503-MBS.china.huawei.com> <22477.1525301358@localhost> <CAO0Djp1sCSFJSZSbVNL+RLgV2FrjwZQrJ6p-9ExndMbQqua-QA@mail.gmail.com> <0522ea86b4234490bdd56b1428db0762@XCH-RCD-001.cisco.com> <29982.1525354228@localhost> <685a615a79e8442f9f7b19983ef2a36d@XCH-RCD-001.cisco.com> <25461.1525367718@localhost> <982B626E107E334DBE601D979F31785C5DBE374F@BLREML503-MBX.china.huawei.com> <23345.1525709153@localhost> <CAO0Djp3a2AXMC3ORDhTGbyhwr09nw+8poDeQL03V7t2Bksp-bQ@mail.gmail.com> <b3265ca6f74545468c00007dadaa0fb7@XCH-RCD-001.cisco.com>
X-Mailer: MH-E 8.6; nmh 1.7+dev; GNU Emacs 24.5.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-sha1"; protocol="application/pgp-signature"
Date: Sat, 12 May 2018 14:57:51 -0400
Message-ID: <17986.1526151471@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/roll/JQV6EARHedb8cBCnzhmJVJeoUw0>
Subject: Re: [Roll] draft-rahul-roll-rpl-observations-00 Section 2.1: Wear leveling
X-BeenThere: roll@ietf.org
X-Mailman-Version: 2.1.22
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: Sat, 12 May 2018 18:58:14 -0000

Pascal Thubert (pthubert) <pthubert@cisco.com> wrote:
    mcr> So I think that the errata against 6550 is that it should be a lollipop
    mcr> counter, and I think that this solves the reboot problem, and eliminates
    mcr> having to write it to flash.

    rj> [RJ] this still does not solve the reboot issue... The text in the
    rj> draft actually considers dtsn to be a lollipop counter and explains
    rj> the problem when rebooting within the sequence window of lollipop
    rj> counter. Please refer to section 7.2 of the draft for example. Errata
    rj> is nonetheless needed for dtsn to be a lollipop counter.

    pt> Well, yes, but that’s true for any of the sequence counters, not just
    pt> DTSN, and was not perceived as an “issue”. 
    pt> The lollipop by design detects one reboot during the straight
    pt> part. More will cause a delay. There are ways to avoid that like
    pt> persistent memory or alleviate it like making the straight part
    pt> shorted on reliable links.  I’m not sure there’s much to add to that
    pt> or to fix, is there?

Pascal, I feel that Rahul has some point that we've missed.

>   behalf of node A).  As per section 7.2. of [RFC6550], when node B
>   receives this packet it will consider the information to be old
>   (since 240 < 250).

>   Based on this figure, there is dead zone (240 to 0) in which if A
>   operates after reboot then the seqcnt will always be considered
>   smaller.  Thus node A needs to maintain the seqcnt in persistent
>   storage and reuse this on reboot.

My instinct is there are one of two bugs (maybe both documentation and code):
   a) node A SHOULD rapidly move from 240 to 0, that the numbers from 240 to
      0 should be considered "setup", and node A was wrong to advance only
      to 250, and not as soon as it felt "stable", move to 0.

   b) that node B, should recognize that during the 240 to 0 stage, that
      the counters should not be compared.  Anything < 0 is "setup", and is
      always "new", but that 251 > 250 require immediate action.

I found it unusual that the lollipop should require 16 values in the stem, I
think that one ('0') would have worked, but maybe there was some reason to
prefer 16.

-- 
]               Never tell me the odds!                 | ipv6 mesh networks [ 
]   Michael Richardson, Sandelman Software Works        | network architect  [ 
]     mcr@sandelman.ca  http://www.sandelman.ca/        |   ruby on rails    [