Re: [6tisch] [6lo] Format inside of an RPL domain

"Pascal Thubert (pthubert)" <> Wed, 20 January 2016 15:14 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id CFD391A8AB4; Wed, 20 Jan 2016 07:14:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -14.501
X-Spam-Status: No, score=-14.501 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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 4rUbKAkYmt7X; Wed, 20 Jan 2016 07:14:22 -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 972461A8AB2; Wed, 20 Jan 2016 07:14:21 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=40624; q=dns/txt; s=iport; t=1453302861; x=1454512461; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=Hk/FZqwx41wy219ycnNMk8T/VvZ+isJKzfOY0ZW+mBk=; b=E4P+LR6/nYzCgJKG3mzut2aenqbiouXhTpy1NZWgcJbcORPAfx50oWzU 6RY9lFOkqs5iwTBayMpAj3lCmPn1CAoHMXHuSph/7VON8XYv5MhtMF+Hd XdwfIuHRAH3sTVCcgqlmrWWljZemgCuqFMO3H1ydXpdPK1n4QQKiHKZAf E=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos; i="5.22,321,1449532800"; d="scan'208,217"; a="65473974"
Received: from ([]) by with ESMTP/TLS/DHE-RSA-AES256-SHA; 20 Jan 2016 15:14:20 +0000
Received: from ( []) by (8.14.5/8.14.5) with ESMTP id u0KFEK89001082 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Wed, 20 Jan 2016 15:14:20 GMT
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1104.5; Wed, 20 Jan 2016 09:14:19 -0600
Received: from ([]) by ([]) with mapi id 15.00.1104.009; Wed, 20 Jan 2016 09:14:19 -0600
From: "Pascal Thubert (pthubert)" <>
To: Tengfei Chang <>, Simon Duquennoy <>
Thread-Topic: [6lo] Format inside of an RPL domain
Thread-Index: AQHRUfPSuBhIXB/I6k2WIELC55OLK58EXCiw
Date: Wed, 20 Jan 2016 15:14:16 +0000
Deferred-Delivery: Wed, 20 Jan 2016 15:13:14 +0000
Message-ID: <>
References: <> <> <>
In-Reply-To: <>
Accept-Language: fr-FR, en-US
Content-Language: en-US
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_7c82388e5ccd437fad8dab52e5e1541dXCHRCD001ciscocom_"
MIME-Version: 1.0
Archived-At: <>
Cc: "" <>, "" <>
Subject: Re: [6tisch] [6lo] Format inside of an RPL domain
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: Wed, 20 Jan 2016 15:14:25 -0000

Hello Tengfei and Simon (and all):

I’ll need some more help from you.

I’m in the process of refining the text that indicates how the root address is obtained and how to compute the Compression Reference for the RH3.

I came up with the following, which indicates that the source of the packet (which should always be the root for now but who knows) is the reference for RH3 compression.

Is that what we want? Is it clear enough?

## DODAG Root Address {#impl-comp-ref}

With this specification, an optimal compression of IP-in-IP encapsulation can be
achieved if an endpoint of the packet is the root of the RPL DODAG associated to
the Instance that is used to forward the packet, and the root address is known
implicitly as opposed to signaled explicitly in the data packets.

With RPL {{RFC6550}}, the address of DODAG root is known from the DODAGID field
of the DIO messages. For a Global Instance, the RPLInstanceID that is present in
the RPI is enough information to identify the DODAG that this node participates
to and its associated root. But for a Local Instance, the address of the root
MUST be explicit, either in some device configuration or signaled in the packet,
as the source or the destination address, respectively.

When implicit, the address of the DODAG root MUST be determined as follows:

If the whole network is a single DODAG then the root can be well-known and does
not need to be signaled in the packets. But RPL does not expose that property
and it can only be known by a configuration applied to all nodes.

Else, the router that encapsulates the packet and compresses it with this
specification MUST also place an RPI in the packet as prescribed by {{RFC6550}}
to enable the identification of the DODAG. The RPI must be present even in the
case when the router also places an RH3 header in the packet.

It is expected that the RPL implementation provides an abstract context table,
indexed by Global RPLInstanceID, that provides the address of the root of the
DODAG that this nodes participates to for that particular Instance.

## Compression Reference {#sig-comp-ref}

In order to optimize the compression of IP addresses present in the RH3 headers,
this specification requires that the 6LoWPAN layer identifies an address that is
used as reference for the compression. With this specification, the Compression
Reference for addresses found in an RH3 header is the source of the IPv6 packet.

With RPL {{RFC6550}}, an RH3 header may only be present in Non-Storing mode, and
it may only be placed in the packet by the root of the DODAG, which must be the
source of the resulting IPv6 packet {{RFC2460}}. In this case, the address used
as Compression Reference is that the address of the root, and it can be implicit
when the address of the root is.

The Compression Reference MUST be determined as follows:

The reference address may be obtained by configuration. The configuration may
indicate either the address in full, or the identifier of a 6LoWPAN Context that
carries the address {{RFC6775}}, for instance one of the 16 Context Identifiers
used in LOWPAN-IPHC {{RFC6282}}.

Else, and if there is no IP-in-IP encapsulation, the source address in the IPv6
header that is compressed with LOWPAN-IPHC is the reference for the compression.

Else, and if the IP-in-IP compression specified in this document is used and the
Encapsulator Address is provided, then the Encapsulator Address is the reference.

(note that this means that the specification does not expect IP-in-IP-in-IP and
does not enforce any order in 6LoRH ... should it???).



From: Tengfei Chang []
Sent: lundi 18 janvier 2016 14:26
To: Pascal Thubert (pthubert) <>
Subject: Re: [6lo] Format inside of an RPL domain

I agree with this format! +1


On Mon, Jan 18, 2016 at 9:41 AM, Pascal Thubert (pthubert) <<>> wrote:
Dear TengFei:

I agree that the draft is lacking description when there is no IP in IP. I’ll create a ticket.

When there is no IP in IP present in the 6LoRH, then the headers compressed by 6LoRH are considered placed right after the IP header compressed by IPHC, and considered as compressed. It results that the NH bit in the IPHC really indicates how the compression is done for the header that is after the headers compressed by 6LoRH.

For an ICMP message I’d think that you’ll be using:

   +- ...  -+- ...  -+-+-+- ... -+-+-+-+-+ ... -+-+-+-+-+-+-+-+-+-+-+...
   |11110001|  RPI   |  NH = 0       | NH = 58  |  ICMP message
   |Page 1  | 6LoRH  | 6LOWPAN-IPHC  | (ICMP)   |  (no compression)
   +- ...  -+- ... +-+-+-+- ... -+-+-+-+-+ ... -+-+-+-+-+-+-+-+-+-+-+...
                      <-        RFC 6282       ->
                            No RPL artifact

Does that make sense?


From: 6lo [<>] On Behalf Of Tengfei Chang
Sent: lundi 18 janvier 2016 09:18
Subject: [6lo] Format inside of an RPL domain

Dear All,

Currently I have a question about the format of packet inside of an RPL domain when using 6LoRH.

For example when ping a mote inside an RPL domain, will the format of echo request and reply look like this?

PAGE DISPATCH (page 1) + IPHC + 6LoRH RH3 + ICMPv6

If so, there is no next header field in 6LoRH to indicate the following field is ICMP.
What's the right format for this case?

Thanks a lot!