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

Ralph Droms <> Mon, 04 June 2012 17:12 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 367A811E807F for <>; Mon, 4 Jun 2012 10:12:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -103.524
X-Spam-Status: No, score=-103.524 tagged_above=-999 required=5 tests=[AWL=0.075, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id b+LE0duTFHP7 for <>; Mon, 4 Jun 2012 10:12:01 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 071A211E8079 for <>; Mon, 4 Jun 2012 10:12:00 -0700 (PDT)
Received: by vbbez10 with SMTP id ez10so2948094vbb.31 for <>; Mon, 04 Jun 2012 10:12:00 -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=IdQ3ixa5seVSUMDKzrMyUf167DZgkCpqHvnqbFfOWwA=; b=CvmQ8jpYqIq4j/Zq5czE2+DzXcYQPOq0Q87cRIBI812Ymr9iBx8d3g0/O1En1lpCX7 BZ4Y9s0PEhma4Q10tB//qsXsffT/sE2KQZTd84DfG/wX3tO/lhPPXSWQPYCWx3cO8FRu boY5knXZddGRvDLPi4h8IPRYyMtRspd2WjfwjzmCxBSZMi1Hhj4VH9B6/lsrzkAYfU53 AOD4mKKYauNMNElVkBVfKJdiqm9saY1BGXp+aqzYaPeYVseoC02bG0FsWxSN9WQjKSg6 dR+a2ThbSDvGoxoUdRXAYFhzD3rD3e3CIs75gSjxoKGa0QnrCHBgEqq90F1v+pPyRptv x7ww==
Received: by with SMTP id er7mr11327924vdb.57.1338829920404; Mon, 04 Jun 2012 10:12:00 -0700 (PDT)
Received: from [] ([]) by with ESMTPS id g10sm18190010vdk.2.2012. (version=TLSv1/SSLv3 cipher=OTHER); Mon, 04 Jun 2012 10:11:58 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1278)
Content-Type: text/plain; charset="us-ascii"
From: Ralph Droms <>
In-Reply-To: <>
Date: Mon, 04 Jun 2012 13:11:56 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <>
To: Pascal Thubert <>
X-Mailer: Apple Mail (2.1278)
Cc: roll <>, Stiemerling Martin <>, Haberman Brian <>
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: Mon, 04 Jun 2012 17:12:02 -0000

On Jun 4, 2012, at 2:38 AM 6/4/12, Pascal Thubert (pthubert) wrote:

> Hi:
> I agree with Ralph that there is a choice to be made whether this OF is one OF or a generic OF that is instantiated by metric (a toolbox).
> If it is a specific OF, it is fair to require from IANA a specific OF number (1 in the IANA section) but then we can expect that all implementations of this OF will behave the same.
> Here, the behavior will vary quite dramatically with some implementation decisions (see the unresolved issue in the attached mail) and metric choices (Ralph's point here). 

Yes, I'm curious about the expected behavior - using a single OF number with multiple selected metrics will yield very different behaviors for a single OF.  My understanding of the purpose for OFs is to have predictable behavior in any RPL instance specifying the use of that OF.  In that case

> As it goes, we could figure that MrHof is not one but many OFs.  If that's so then the OF number for the local variation should be assigned consistently for a deployment as opposed to globally significant. There could in fact be multiple MrHof in a same deployment.
> My point is somewhat analogous to the UDP ports. Should we have a range for IANA reserved well known OFs, and then a range that would be assigned on demand? 

The details of the IANA assignment can be settled after the fundamental issue about the relationship between MRHOF and the selected metric is decided.  At this point, MRHOF is defined to work with exactly 5 metrics.  It might be easiest to simply assign separate OF number to those 5 examples - e.g., OF1: MRHOF/ETX; OF2: MRHOF/latency - and assigning other OF numbers as other metrics are defined in the future.

As an aside, the hysteresis function described in MRHOF may be useful advice for other OFs, even those that combine multiple metrics into a single path computation.

- Ralph

> Cheers,
> Pascal
> -----Original Message-----
> From: Ralph Droms [] 
> Sent: vendredi 1 juin 2012 21:47
> To: Michael Richardson
> Cc:; Pascal Thubert (pthubert)
> Subject: Re: [Roll] knowing which multiple metrics matter: MRHOF related questions
> 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:
>> ballot/
>> 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 
>> Ralph> establishment of several RPL instances in an LLN, each of which 
>> Ralph> uses MRHOF with 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
> <Mail Attachment.eml>