Subject: [Roll] RPL-aware or not RPL-aware, that's the question

From: Cenk Gündogan <[email-masked]>
Date: Fri, 9 Oct 2015 13:54:41 +0200

Hello *,

I was hoping to find some answers to the question of how to know if a 
target is within
a RPL-domain or not. The rationale is that this knowledge is needed to 
decide if
an IP-in-IP encapsulation is needed or not for several use cases using 
the RPI header.
The last virtual interim meeting successfully identified these use cases 
and perpetuated
them in the ether pad [1].

AFAIK, there is no standard compliant way to announce routes in the 
RPL-domain as
routes being established through RPL DAOs or by other means.
I guess this information could be propagated using one of the Reserved1 
flags form the
Prefix Information Option, or by using a specific descriptior in the RPL 
Descriptor Option (?).

But such kind of propagation would still fail for traffic flows from a 
RPL-aware node to a common RPL parent
and down to an arbitrary node (no matter if RPL-aware or not), because 
the source node has no information
about the state of that arbitrary node.
Does anyone know how to handle this case?

Best,
Cenk

[1] http://etherpad.tools.ietf.org:9000/p/ROLL-Interim_Meeting_-09-29-2015

---

From: "Pascal Thubert (pthubert)" <[email-masked]>
Date: Mon, 19 Oct 2015 09:37:01 +0000

Hello Cenk:
 
> target is within a RPL-domain or not. The rationale is that this knowledge is
> needed to decide if an IP-in-IP encapsulation is needed or not for several use
> cases using the RPI header.
> The last virtual interim meeting successfully identified these use cases and
> perpetuated them in the ether pad [1].
> 
> AFAIK, there is no standard compliant way to announce routes in the RPL-
> domain as routes being established through RPL DAOs or by other means.

True, because for the base RPL, the RPL domain is a stub and each participating node is RPL aware.
 At the call we were talking about non RPL hosts attached to RP routers. 
This design is much wanted but not done yet.

> flags form the Prefix Information Option, or by using a specific descriptior in
> the RPL Descriptor Option (?).
> 

I'm not sure I follow you here.

RPL does not send routes down the DODAG, but rather advertise routes that is reachable by the root;
Note that this is done with a RIO not a PIO.

The descriptor is for route tagging; it is a complement to a route but not a protocol vehicle.

> But such kind of propagation would still fail for traffic flows from a RPL-
> aware node to a common RPL parent and down to an arbitrary node (no
> matter if RPL-aware or not), because the source node has no information

We really have to design for it. New stuff. Could be based on ICMP errors.

Cheers

Pascal

> _______________________________________________
> Roll mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/roll

---

From: Cenk Gündogan <[email-masked]>
Date: Mon, 19 Oct 2015 13:14:58 +0200

Hello Pascal,

thank you very much for your response.

> The descriptor is for route tagging; it is a complement to a route but not a protocol vehicle.

What I was actually aiming for was the `E` flag in the Transit Option 
within DAOs, that marks
routes as external routes when they weren't set-up by RPL. This 
information is propagated upwards
the DAG and hence a parent would be able to decide if the destination is 
RPL-aware or not.
I completely overlooked this flag and tried to simulate this behaviour 
with the descriptor field. My bad..
(Mentioning the prefix information flags was also complete non-sense).

> We really have to design for it. New stuff. Could be based on ICMP errors.
I assume such an effort would take place within this WG/mailing list?

Best,
Cenk

---

From: "Pascal Thubert (pthubert)" <[email-masked]>
Date: Mon, 19 Oct 2015 11:46:39 +0000

Yes, enabling non RPL aware leaf is important and should happen here and soon!

Pascal

> Le 19 oct. 2015 à 13:14, Cenk Gündogan <[email-masked]> a écrit :
> 
> Hello Pascal,
> 
> What I was actually aiming for was the `E` flag in the Transit Option within DAOs, that marks
> routes as external routes when they weren't set-up by RPL. This information is propagated upwards
> the DAG and hence a parent would be able to decide if the destination is RPL-aware or not.
> I completely overlooked this flag and tried to simulate this behaviour with the descriptor field. My bad..

---

From: Michael Richardson <[email-masked]>
Date: Sat, 31 Oct 2015 01:51:37 -0400

Cenk Gündogan <[email-masked]> wrote:
    > within DAOs, that marks routes as external routes when they weren't
    > set-up by RPL. This information is propagated upwards the DAG and hence

By external routes, you mean routes which are not part of the DODAG.
(For instance, in a homenet, the routes to the other parts of the homnet)
I think that in many LLNs, a single ::/0 route would be injected as E, and
let the DODAG route sort it out.  

In that case, unless you know the node is within the DODAG, and you are in
storing mode, you pretty much always have to use use an IPIP addressed to the
DODAG root.

Or to put it another way, I think the only time you don't need to use
an IPIP is:
   1) traffic to another RPL node and there are no 6lo/ND nodes.
   2) storing mode is used (so no RH3 needed at root)
   3) the sender inserts the RPI.

How can you know (1)?  Well, either by construction.
I think that we should have an attribute in the DIO that says whether there
are any non-RPL nodes.  The DODAG root can know this from a new attribute
we'd have to put into the DAOs.  It's a boolean: as soon as there is at least
one ND-node, then all nodes wind up using IPIP.

[and this is why the compression is so important]

-- 
Michael Richardson
-on the road-