Re: [6tisch] [6lo] Proposed improvement in RH3-6LoRH

"Pascal Thubert (pthubert)" <> Tue, 19 January 2016 19:16 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 9F7071B34A9; Tue, 19 Jan 2016 11:16:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.5
X-Spam-Status: No, score=-14.5 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DC_PNG_UNO_LARGO=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id GB9ypMbtI-GU; Tue, 19 Jan 2016 11:16:07 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 7C9C61B34A5; Tue, 19 Jan 2016 11:16:06 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=210457; q=dns/txt; s=iport; t=1453230966; x=1454440566; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=RdEjPqyySbQM34DXURxEc8oySllI6f3OdlM+Nrbdq4o=; b=DFQaVUoDo73PjH2UK6me8Fr4kxYXTlEUhch/7yju+Cr8MAl1ET/zAc59 z2mO5m3mU9BkmzdGXwXkF/aPeHi5M8+ZdIrwfv52f9kuDaQeUNvDKVnDo z1+l1CZyoxEZKmN18lo7GaOzRWuW1kyZfTEzIGs1bWV/hGnNfQuwPLJIn 8=;
X-Files: image001.png : 123762
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.22,318,1449532800"; d="png'150?scan'150,208,217,150";a="65165713"
Received: from ([]) by with ESMTP/TLS/DHE-RSA-AES256-SHA; 19 Jan 2016 19:16:05 +0000
Received: from ( []) by (8.14.5/8.14.5) with ESMTP id u0JJG5Qt032360 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Tue, 19 Jan 2016 19:16:05 GMT
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1104.5; Tue, 19 Jan 2016 13:16:04 -0600
Received: from ([]) by ([]) with mapi id 15.00.1104.009; Tue, 19 Jan 2016 13:16:04 -0600
From: "Pascal Thubert (pthubert)" <>
To: Simon Duquennoy <>, Tengfei Chang <>
Thread-Topic: [6lo] [6tisch] Proposed improvement in RH3-6LoRH
Thread-Index: AQHRUuJQ7HR16lEPk0uuvmMJ5fzzd58DMpqQ
Date: Tue, 19 Jan 2016 19:15:34 +0000
Deferred-Delivery: Tue, 19 Jan 2016 19:14:45 +0000
Message-ID: <>
References: <> <> <> <> <>
In-Reply-To: <>
Accept-Language: fr-FR, en-US
Content-Language: en-US
X-MS-Has-Attach: yes
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: []
Content-Type: multipart/related; boundary="_004_1ebd8224c530495eba190b8b71f633f6XCHRCD001ciscocom_"; type="multipart/alternative"
MIME-Version: 1.0
Archived-At: <>
Cc: "" <>, Routing Over Low power and Lossy networks <>, "" <>
Subject: Re: [6tisch] [6lo] Proposed improvement in RH3-6LoRH
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "Discuss link layer model for Deterministic IPv6 over the TSCH mode of IEEE 802.15.4e, and impacts on RPL and 6LoWPAN such as resource allocation" <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 19 Jan 2016 19:16:10 -0000

Hello Simon:

You can get different cmpri and cmpre values, by placing 2 different RH3-6LoRH header. Having as many 6LoRH headers allows you to compress that even more, like having intermediate cmprx values should you need that.

But ultimately what we compress is the RH0 format with the rules of RH3, knowing that apart from the rules RH3 is just a compression of RH0.

And then 6LoRH can enable a better compression when coalescing from the root’s address.

I agree that we placed an artificial limit with the power of 2, to avoid consuming too much type space. But if the power of 2 does not much the real world use cases and needs, now is a good time to change it.

Do you have an opinion on that?


From: [] On Behalf Of Simon Duquennoy
Sent: mardi 19 janvier 2016 18:53
To: Tengfei Chang <>
Cc: Pascal Thubert (pthubert) <>om>;; Routing Over Low power and Lossy networks <>rg>;
Subject: Re: [6lo] [6tisch] Proposed improvement in RH3-6LoRH

Hi Pascal,

One thing that bugs me is that RH3-6LoRH seems to be an alternative to RH3 rather than a strict compression of it. For instance, a RH3 using different cmpri and cmpre values, or using non power-of-two, can not be compressed with 6LoRH. And the discussion on copying the prefix form the DAG root is also a departure from RH3.
Am I missing something?


On Tue, Jan 19, 2016 at 1:59 PM, Tengfei Chang <<>> wrote:
Hello Pascal,

Thanks a lot for the detailed answer! I think it solves all my concern. I will vote for it!


On Tue, Jan 19, 2016 at 11:00 AM, Pascal Thubert (pthubert) <<>> wrote:
Hello Tengfei:

Basically the change proposal accounts for the assumption that the last segment may be different, which comes with the idea of supporting non RPL leaves. If you look at it the original RH4 (RFC 6554) makes a difference for the last hop.

Also, the root is the one computing the 6LoRH so it is easier for it to take its own address as reference.

Finally the text is unclear about which bits from the destination are to be used.

All in all, using the root as reference makes more sense than using the final destination as I had initially proposed. So the new proposal is not a merge but an instead, with clarifying text about the process I showed in the picture.

More answers  inline:
Dear all

The picture below illustrates how the RH3 6LoRH works with draft 03 in a case like Root -> A -> B -> C -> leaf


The first 6LoRH is expected to be a full address (128 bits) to set up a reference and the next 6LoRH are expected to be smaller and just override the rightmost bits which form the delta from the reference.

What if the B and C address can be compressed to one byte(RH3-6LoRH type 0)?
When leaving the root the format would like:
RH3-6LoRH type 4    IPv6 Prefix (64bits)   A's suffix (64bits)    RH3-6LoRH type 0      B's suffix (8bits)    C's suffix (8bits)

>  Pascal If A’s address is the same as B and C for the first 120 bits then this format is correct : )> Pascal

should node A need to extend the address of B address when the packet leaving A? Like:
RH3-6LoRH type 4    IPv6 Prefix (64bits)   B's suffix (64bits)    RH3-6LoRH type 0      C's suffix (8bits)

>  Pascal: That is correct. Note that there is no separation between prefix in suffix in the type 4. So the drawing applies for all types if you consider that the prefix length is 64, 96, 112 or 120 depending on the type of the next RH. With the proposal, if the root has the same /120 prefix as A, B and C then we have a single type 0 with A, B and C in it.
Proposal: we could consider that the 128bits source of the IP header before the RH3 is the reference to start with.
I have no comments with the proposal. Just want to mention in the currently version of draft (version 3) , it says : (in section 5)

   If some bits of the first address in the RH3-6LoRH header can be

   derived from the final destination in the LoWPAN_IPHC, then that

   address may be compressed; otherwise it is expressed as a full IPv6

   address of 128 bits.  Next addresses only need to express the delta

   from the previous address.
How to understand this combining with the proposal? (Or this is the point we are going to replace by the proposal? Let me know)

>  Pascal: proposal is to replace. That text was unclear and more complex to implement.  And fails to optimize for leaves that are not configured like the mesh.
With that even the first hop could be compressed the same way as the other hops. With RPL, the root is the encapsulator if IP in IP in used. Good thing, in that case the root is totally elided with the IP-in-IP 6LoRH.
That's great! Could I confirm when the packet is inside a RPL domain where IP in IP is elided, the source destination in IPHC is the reference?

>  Pascal: Yes. The only case where IP in IP is elided is when the source is the root. The root would still be the reference. The text I proposed says the Source of the header that is placed before the RH3, and I meant in the non-compressed form. With RPL as it stands today this is always the root.
So this simple proposal saves up to 16 octets (that’s in the case with a single subnet and all addresses differ only by the last 2 bytes). I’m willing to add it in the next revision.
I don't know how to calculate the saved bytes. For this case, will the format looks like this?
RH3-6LoRH type 1    A's suffix (16bits)     B's suffix (16bits)   C's suffix (16bits)

>  Pascal: Yes. In that case you save 14 bytes in A’s address plus the RH3-6LoRH type 4 which is 2 additional bytes, 16 total.
Any opposition?


Thanks for the proposal!

>  Pascal: Do you vote for it? I’m asking because the plugtest is coming.

6tisch mailing list<>

6lo mailing list<>