Re: [Roll] Ralph's DISCUSS on MRHOF spec

Ralph Droms <> Fri, 08 June 2012 10:39 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id DD79C21F850F for <>; Fri, 8 Jun 2012 03:39:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -103.599
X-Spam-Status: No, score=-103.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id PFAxyktti9Lg for <>; Fri, 8 Jun 2012 03:39:51 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id E1F1C21F8503 for <>; Fri, 8 Jun 2012 03:39:50 -0700 (PDT)
Received: by qcsq13 with SMTP id q13so925299qcs.31 for <>; Fri, 08 Jun 2012 03:39:50 -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=mi3qPyYrQtnUa+x859hkFNxRUsfxU1bbYkECtuPC38k=; b=qAMPvFH/m/uH77tvs3NCDfNX85coDMXc1kDSSCF8LZNQ6YzGJe0kGSbXeHvZFJ/jX/ g6Jbt7DmwDOw5zny2qTLzjxK+oX64v/mW64b2XAWgNjHwVLIMZG/AyTeQa6gV+P8Amg4 5PLUiX403Q+M8H3q6vVZQhKuy0A/o7llkaKTbk6XZ35ZoFk55pWZomxiOnbSPcgC8F1m CyIW/5ESMQTM2ZPZZb1E+rHoD4nWuIKdH739p5wEUoEbYunmN9XwNG/vBj3k5z2t0oVP DX4rjgBm4HFrmdKUx43FYnAdWhrwvx2caLtz9lh0WrDZj/eF48CV4twIaYDOt0PX4V9k E6SQ==
Received: by with SMTP id r7mr1675365qct.79.1339151990387; Fri, 08 Jun 2012 03:39:50 -0700 (PDT)
Received: from [] ( []) by with ESMTPS id dx8sm10120293qab.8.2012. (version=TLSv1/SSLv3 cipher=OTHER); Fri, 08 Jun 2012 03:39:48 -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, 08 Jun 2012 06:39:46 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <> <> <>
To: Philip Levis <>
X-Mailer: Apple Mail (2.1278)
Cc: Stiemerling Martin <>, Michael Richardson <>, roll <>, Haberman Brian <>
Subject: Re: [Roll] Ralph's DISCUSS on MRHOF spec
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, 08 Jun 2012 10:39:52 -0000

On Jun 8, 2012, at 12:02 AM 6/8/12, Philip Levis wrote:

> On Jun 7, 2012, at 2:49 PM, Pascal Thubert (pthubert) wrote:
>> On Jun 6, 2012, at 10:43 AM 6/6/12, Philip Levis wrote:
>>> Responses inline.
>>> On Jun 4, 2012, at 9:31 AM, Ralph Droms wrote:
>>>> My question here is why a single objective function "MRHOF" is defined to use several different metrics.  My understanding is that any specific RPL instance will use one metric as its "selected metric" for MRHOF.  Another way to organize the objective functions would be to define a different OF number for each metric, binding the OF number to the selected metric.
>>> This was a design decision made early in RPL. There were two options: OFs are metric-specific, or OFs can be general with respect to metrics. The design team concluded the second approach was better, as the former would lead to a possibly huge number of OFs that would be hard to manage.
>> Now that a real OF has actually been designed and specified, perhaps this would be a good time to reconfirm that design decision.
>> Given that MRHOF is a pretty general objective function, and works over 5 (or perhaps 3) metrics, 16 bits would seem to provide plenty of code points for metric-specific OFs.
>> A bigger issue, I think, is expressing the semantics or behavior of an OF in its OCP.  I read section 18.6 of RFC 6550 to indicate that a node will use information including the OF (as indicated by the OCP) to compare against the node's policy for joining a DODAG.  As an aside, is there a reason why a node would choose to join a specific DODAG within a RPL Instance and on what basis would it make that choice?  Anyway, wouldn't the selected metric  used by MRHOF in a particular RPL Instance be a useful parameter for the policy rules?  For example, I can imagine a node preferring to join a RPL Instance providing minimal latency over one providing best ETX.  If the OCP is metric-specific, that selected metric will be immediately available for the policy rules.
>> [Pascal] I agree with Ralph here. I fail to be convinced that there will an explosion of OCPs if we fail to factorize the metrics. But I see how the device implementation can be simplified if the OCP says it all. Also, we do not want to force a device that implements MRHOF to have to implement all metrics in the I-D. Conversely, say we extend MrHof to other metrics with further work, wouldn't it become OCP 2 anyway? I wouldn't mind blocking OCP 1..9 for current and future MrHof metric variations.
> I agree that this is a good question to ask. I disagree that now is an appropriate time to answer it definitively; we currently have only one OCP. We made a concrete and deliberate design decision. I'd argue we should stick with it to at least see it play out a bit more. E.g., once MRHOF is actually a proposed standard and we have significant experience using it. It's so critical in systems design to not waffle on design decisions, otherwise you end up with a contradictory and messy system. You do want to correct, but not lightly and only when the benefits of the change significantly outweigh the costs. I'm not at all sure this is the case here.

What are the costs of the change?

Without encoding the metric in the OCP, how does a node know what metric is in use in an advertised RPL Instance.  How does a node choose which RPL Instance(s) to join without learning which metrics are in use?

- Ralph

> Phil