Re: [Roll] comments on mopex-cap-00

Rahul Arvind Jadhav <> Sun, 25 August 2019 11:07 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D277D120074 for <>; Sun, 25 Aug 2019 04:07:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Y6gfu2QtUcEx for <>; Sun, 25 Aug 2019 04:07:53 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 0F12E12004E for <>; Sun, 25 Aug 2019 04:07:53 -0700 (PDT)
Received: from (unknown []) by Forcepoint Email with ESMTP id C4B59549DE6C58DD324C for <>; Sun, 25 Aug 2019 12:07:49 +0100 (IST)
Received: from ( by ( with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 25 Aug 2019 12:07:48 +0100
Received: from ([]) by ([]) with mapi id 14.03.0439.000; Sun, 25 Aug 2019 16:37:39 +0530
From: Rahul Arvind Jadhav <>
To: Routing Over Low power and Lossy networks <>
Thread-Topic: [Roll] comments on mopex-cap-00
Thread-Index: AQHVWfPtD4pbDo6IVE6ViD6SM7yZ8qcLq8dA
Date: Sun, 25 Aug 2019 11:07:38 +0000
Message-ID: <>
References: <>
In-Reply-To: <>
Accept-Language: en-IN, zh-CN, en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <>
Subject: Re: [Roll] comments on mopex-cap-00
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: Sun, 25 Aug 2019 11:07:55 -0000

Thanks Michael for the review and feedback.

Please find my comments inline.

1) If Capabilities and MOD-Extension are mutually independent, why is it in one document?
[RJ] I raised the possibility of keeping it in separate document in IETF 104. But no one voiced any specific reason to separate it out. Even though semantically the Capabilities and MOP-Extns are mutually independent, some of the scenarios discussions might require to discuss them together. Do you believe we should separate it out and if there is any advantage doing so?

2) MOP clearly applies to the entire DODAG.
   I don't know if Capabilities do from the description:

   REQ3:  Optional capabilities handshake.  Capabilities are features,
          possibly optional, which could be handshaked between the nodes
          and the root within an RPL Instance.

   Are they things that the root tells nodes, or things that the node
   tells the root?  

[RJ]: MOP is indicated by the root and the whole network has to follow it. The capabilities on the other hand are node specific. For e.g., the end node can indicate that it supports a primitive via cap flag and this info could be used by the root and vice-versa.
The answer to your questions above is, "Both".

Are they individualized, or does every node in the
   LLN have to support a capability before it can be used?
[RJ]: Nice point. I haven't thought about this in detail. In non-storing MOP, it may not be required that all the nodes support capabilities but in storing MOP, every 6LR needs to add the cap (if present) of the downstream child, thus requiring every node to support it. This definitely needs handling in the draft.

3) I argued before against the Extended-MOP-value being added to the Base
   MOP. I prefer that the value 7 means *replace* the MOP with the MOPex.
   Yes, that results in two ways to encode MOP="3", but I think that it
   leads to far less confusing code.
[RJ]: I am ok with this approach. Will update the document.

4) 3.2, if the MOP is not 7, and the MOPex is present, what does this mean?
   (Nothing, I think it should be ignored)
   Would we really ever assign a new the value 7?
[RJ] With point 3 accepted, this point is not relevant anymore. (?)

5) section 4.0:

>   Note that capabilities and MOPex are mutually exclusive and it is
>   possible for an implementation to support either or both of the
>   options.

I think that you mean, not mutually exclusive?
[RJ] I meant that caps and MOPex do not depend on each other and are mutually independent. May be I should :s/exclusive/independent/ 

4.1: >There are no capability flags defined by this document.

that makes it really hard to know how they work :-)
[RJ] Yeah, should have added an example. Will be done in the next update.

4.2: use of "could" is very non-normative.

>   Capabilities
>   advertised by non-root nodes are strictly a subset of the
>   capabilities advertised by the root.

This should be in REQ3.
[RJ] Actually I am not sure that this will be true going forward. Why can't a intermediate 6LR add its own capability in DIO (without depending on root) for its downstream childs? If this is the case then the draft's above statement is not true. I am glad you pointed this out and wish to discuss more on this.

7.1/7.3. If you take my advance about not adding, but replacing, then this document would Update the Mode of Operation registry, and we would not need a new registry.

==== having done all of this.

How will DAO-projection signal itself?  It seems like a capability to me.
I haven't read that document in a few months.  If it uses capability, then this document that creates capabilities SHOULD probably allocate a bit in it's initial table.
[RJ] I am considering this for the example use-case of caps