Re: [Roll] knowing which multiple metrics matter: MRHOF related questions

Ralph Droms <> Fri, 01 June 2012 19:47 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id E833111E80A0 for <>; Fri, 1 Jun 2012 12:47:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -103.399
X-Spam-Status: No, score=-103.399 tagged_above=-999 required=5 tests=[AWL=0.200, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id CV0tAcIzwfBz for <>; Fri, 1 Jun 2012 12:47:22 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id A60C011E809B for <>; Fri, 1 Jun 2012 12:47:22 -0700 (PDT)
Received: by vbbez10 with SMTP id ez10so1690081vbb.31 for <>; Fri, 01 Jun 2012 12:47:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; bh=y62dQS8QQR8ALX55VLiIN6VSGcY6m+VsTqc8OHdExLU=; b=PbT8RuCaEdjJ0phZbYoyyBV0cJry3U9uWPFTB/RkH0CJZil9PJyKDq7ziHCDVVqeAL xh67qN6f/kFkJ30KFpHNHMTXlJdOzFR3lMmG3ONzgGc9EjF+3RKQsrwrO/XDx+vaRwHa jM4NRKx+RMY+QDif5LsrX+OwFgePr61LfGwlbN8KR0OqK4gkQ1UqkdUPIOQhMCqpMDEy Dvkfpuo0pb/9P1dlCLhSr9g8GKQf5jqyeCuLgZzabjJilHZ09Iod9F+RM5wWCBC0pApM mtoGeQoetbc4VJOn7WDzwn+GXpi32qcvH8PzEQEpDyyNDkC7uBTfowY3nEptY+yHSKEh VswQ==
Received: by with SMTP id b7mr3813177vcw.62.1338580041223; Fri, 01 Jun 2012 12:47:21 -0700 (PDT)
Received: from ( []) by with ESMTPS id l12sm2606404vdh.8.2012. (version=TLSv1/SSLv3 cipher=OTHER); Fri, 01 Jun 2012 12:47:19 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1278)
Content-Type: text/plain; charset="us-ascii"
From: Ralph Droms <>
In-Reply-To: <>
Date: Fri, 01 Jun 2012 15:47:16 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <>
To: Michael Richardson <>
X-Mailer: Apple Mail (2.1278)
Cc:, "Pascal Thubert (pthubert)" <>
Subject: Re: [Roll] knowing which multiple metrics matter: MRHOF related questions
X-Mailman-Version: 2.1.12
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: Fri, 01 Jun 2012 19:47:24 -0000

On May 25, 2012, at 12:31 PM 5/25/12, Pascal Thubert (pthubert) wrote:

> Hi Michael:
> I think RPL does not want to take party there. The OF is a piece of logic to tie metrics and policies together. 
> As such, there could be multiple metrics as long as there is good logic to tie them in. for instance one would look at optimizing metric A within contraints as expressed by metric B and the OF model will allow that.
> OTOH, it a flows requires a certain optimization (say per one metric) and another requires something different, then certainly you want two instances.
> So ... it depends!
> Pascal
> -----Original Message-----
> From: [] On Behalf Of Michael Richardson
> Sent: vendredi 25 mai 2012 16:54
> To:
> Subject: [Roll] knowing which multiple metrics matter: MRHOF related questions
> Ralph asked some questions a few days ago.
> His originally DISCUSS is at:
> This was my reply.    I am particularly interested in replies from
> Pascal, Anders and Mukul about my assertion about how we would never pick RPL instances by metrics; that they would in fact be seperate RPL Instance numbers and DODAG values, and that these things would provisioned by the network installer.
> ====
> I'm going to reply to your comments in a different order than you asked them, because I think question #3 is most important, and the rest fall out of it.
>>>>>> "Ralph" == Ralph Droms <> writes:
>    Ralph> 3. Based on (1) and (2), would configuration and selection
>    Ralph> issues be ameliorated if the five candidate selected metrics
>    Ralph> were each asssigned a separate objective function?  Use of a
>    Ralph> separate OF code point for each of the five possible selected
>    Ralph> metrics would allow multiple RPL instances.
> I think that it's important to understand that ROLL has a whole palette of things that need to be provisioned by the "network operator".
> In contrast to the situation of ISPs and customers, where the ISP is the network operator, ROLL networks are more like highly orchestrated
> Enterprises: "all your host belong to us"
> so, when we write something like:
>    "The metric chosen by the network operator to use for path
>    selection."
> in section 2, we really mean:
>    "The metric chosen by the network operator and provisioned into
>    the node when the firmware was flashed to use for path selection."

OK, so I get that the model is that MRHOF is a toolbox, where the specific tools are chosen when the device is flashed.  In that case, I think some additional review might be needed to ensure that the MRHOF spec is internally consistent with that point of view.

As one example, I think the "selected metric" should be called out explicitly somewhere in section 5 and included in the list of configured parameters in section 6.1.

As another example, I read this text from section 3:

   Rank is undefined for these node/link metrics: node state and
   attributes, throughput, and link color.  If the rank is undefined,
   the node must join one of the neighbors as a RPL Leaf node according
   to [RFC6550].

to mean that if the selected metric is one of the metrics for which rank is undefined, the node joins as a lead node.  But, how can that happen if the selected metric is chosen by the network operator?

> Ralph> 1.  Why is one objective function defined for several potential 
> Ralph> metrics?  The details of MRHOF seem to preclude the establishment 
> Ralph> of several RPL instances in an LLN, each of which uses MRHOF with 
> Ralph> a different selected metric.
> If one had many different RPL Instances, then we would have different
> RPL Instance numbers in the RPL header.   There can be many different
> DODAG ("destinations") created within that instance.  The instances share a common set of (provisioned) parameters.

How does a node know which RPL Instance number maps to which selected metric?

One way would be to specify that a node advertise ONLY the selected metric for the RPL Instance in a DIO.

> (To put it into DHCP terms: if we have multiple DHCP servers on a link,  then one would expect them to all offer IP addresses in the same subnet.
> If one wanted to have addresses in different subnets, and let the host  pick between them, then, one would need different layer-2s: different  VLANs or ESSIDs, or... )
> If you feel that RPL is rather schizo about provisioning vs configuration, then I agree.  It's not always clear to me why some things are advertised while others are provisioned.
> In BGPv4, we calculate metrics by adding AS entries in the path.
> (It's always additive), and we add at least one AS entry to the path.
> One can AS-stuff and add more, but proper operation of BGP does not depend upon the exact algorithm used.
> Finally, my impression is that how the various metrics are used (singly, or in some combination) to calculate Rank Increase is a question of further research, experimentation, and trade secret.

Well, OK, but for the purposes of the MRHOF spec, it seems pretty clear to me there is one selected metric that is used across all nodes as a strictly additive path cost computation.

> So long as the Rank increases, and a node does not flap between parents, the exact details do not matter.  Each node can do it's parent selection based upon the available metrics on it's own.  It advertises the metrics it has.
> I hope the authors will correct me if I'm completely off here.

I read the spec to require a single selected metric across the entire RPL Instance.

- Ralph

> _______________________________________________
> Roll mailing list