Subject: Re: [Roll] P2P hop-by-hop routes

From: Mukul Goyal <[email-masked]>
Date: Mon, 21 Jun 2010 14:43:37 -0500 (CDT)

Here is the problem I was referring to:

Suppose that:
1) routers X and Y both discover hop-by-hop routes to the same target router P but with different metrics/constraints; 
2) both route discoveries end up using temporary DAGs with same RPLInstanceID 'i';
3) an intermediate router A is part of both hop-by-hop routes and hence establishes two separate hop-by-hop states.

Now when router A receives a packet marked with RPLInstanceID 'i' and going to destination P, which state should it use to forward the packet further?

Thanks
Mukul

----- Original Message -----
From: "Richard Kelsey" <[email-masked]>
To: "Mukul Goyal" <[email-masked]>
Cc: [email-masked]
Sent: Monday, June 21, 2010 1:10:04 PM
Subject: Re: [Roll] P2P hop-by-hop routes

> Date: Mon, 21 Jun 2010 10:25:03 -0500 (CDT)
> From: Mukul Goyal <[email-masked]>
>
> But, the DAGs created for route discovery are temporary
> and the RPLInstanceID for them is "local" to the origin
> router.

If the discovered routes are only used for packets going to
and from the origin router there is no problem with using a
"local" RPLInstanceID to mark the packets.

Determining when a "local" RPLInstanceID could be reused is
a harder problem, but exactly the same problem would occur
with labels as well. Both would need a lifetime of some
kind.

I agree that using some kind of label might be better, but I
think that the P2P routing needs to use the same data packet
markers as the core protocol. I can't see using labels for
P2P routes and RPLInstanceIDs for the core.

-Richard Kelsey

---

From: Richard Kelsey <[email-masked]>
Date: Mon, 21 Jun 2010 16:41:10 -0400

> Date: Mon, 21 Jun 2010 14:43:37 -0500 (CDT)
> 1) routers X and Y both discover hop-by-hop routes to the same target
> router P but with different metrics/constraints;
>

Then 'i' must be a "local" RPLInstanceID (because they are
both using the same one).  In that case, the DAGs are
identified by the combination of the RPLInstanceID and the
DODAGID, which here would be the IPv6 address of the origin
router.

> 3) an intermediate router A is part of both hop-by-hop routes and
> hence establishes two separate hop-by-hop states.

Those hop-by-hop states would need to include the
RPLInstanceIDs and DODAGIDs of the DAGs used to create the
routes.  A "local" RPLInstanceID is not sufficient on its
own.

> Now when router A receives a packet marked with RPLInstanceID 'i' and
> going to destination P, which state should it use to forward the
> packet further?

It uses the D flag in the hop-by-hop header to determine if
the source or destination address is the DODAGID, and looks
up the DODAGID+RPLInstanceID in the hop-by-hop states.

                                  -Richard Kelsey

---

From: Mukul Goyal <[email-masked]>
Date: Mon, 21 Jun 2010 15:45:45 -0500 (CDT)

That makes sense.

Thanks
Mukul

----- Original Message -----
From: "Richard Kelsey" <[email-masked]>
To: "Mukul Goyal" <[email-masked]>
Cc: [email-masked]
Sent: Monday, June 21, 2010 3:41:10 PM
Subject: Re: [Roll] P2P hop-by-hop routes

-Richard Kelsey