Subject: [Roll] Is the DAG Root a Host? Can it send packets "down"?

From: Alexandru Petrescu <[email-masked]>
Date: Fri, 09 Apr 2010 19:35:25 +0200

>    Down 'O' bit:  1-bit flag indicating whether the packet is expected
>          to progress up or down.  A router sets the 'O' bit when the
>          packet is expect to progress down (using DAO routes), and
>          resets it when forwarding towards the root of the DODAG
>          iteration.  A host MUST set the bit to 0.

Is the DAG Root a Host?  I guess so, because it has no outgoing edge. 
If it's a Host it means it can't send packets "down" (MUST set the O bit 
to 0, up).  If it can't send packets down then there's a problem because 
it can't send queries.

Or am I missing something.

Alex

---

From: "Pascal Thubert (pthubert)" <[email-masked]>
Date: Sat, 10 Apr 2010 11:58:20 +0200

Alex,

the root has no edge in such instance where it is root. Yet it might
participate to other instances where it is not root, other routing
protocols, or simply have a static default route towards an access
router.
Redistribution rules such as strict ordering of instances and protocols
avoid loops.

Pascal

> -----Original Message-----
> From: [email-masked] [mailto:[email-masked]] On Behalf
Of
> Alexandru Petrescu
> Sent: Friday, April 09, 2010 7:35 PM
> To: ROLL WG
> Subject: [Roll] Is the DAG Root a Host? Can it send packets "down"?
> 
> If it's a Host it means it can't send packets "down" (MUST set the O
bit to 0,
> up).  If it can't send packets down then there's a problem because it
can't
> send queries.
> _______________________________________________
> Roll mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/roll

---

From: Alexandru Petrescu <[email-masked]>
Date: Sat, 10 Apr 2010 13:35:04 +0200

Le 10/04/2010 11:58, Pascal Thubert (pthubert) a écrit :
> router. Redistribution rules such as strict ordering of instances and
> protocols avoid loops.

Pascal - I have a hard time trying to understand what you mean.

A root has no edge?  It has no link?  No interface?

Protocols avoid loops?  I don't think so.  It's not the communication 
protocol which avoid loop creation, but the local computation of the 
route database (within each node) which makes sure that the view of the 
network at each node is loop-free.  PRotocols simply exchange data.

We have such different views on this...

Alex

>
> Pascal
>
>> -----Original Message----- From: [email-masked]
>> [mailto:[email-masked]] On Behalf
> Of
>> Alexandru Petrescu Sent: Friday, April 09, 2010 7:35 PM To: ROLL
>> WG Subject: [Roll] Is the DAG Root a Host? Can it send packets
>> "down"?
>>
>>> packet is expect to progress down (using DAO routes), and resets
>>> it when forwarding towards the root of the DODAG iteration.  A
>>> host MUST set the bit to 0.
>>
>> Is the DAG Root a Host?  I guess so, because it has no outgoing
>> edge. If it's a Host it means it can't send packets "down" (MUST
>> set the O
> bit to 0,
>> _______________________________________________ Roll mailing list
>> [email-masked] https://www.ietf.org/mailman/listinfo/roll
>

---

From: "Pascal Thubert (pthubert)" <[email-masked]>
Date: Sun, 11 Apr 2010 17:46:58 +0200

> From: Alexandru Petrescu [mailto:[email-masked]]
> Sent: Saturday, April 10, 2010 1:35 PM
> To: Pascal Thubert (pthubert)
> Cc: ROLL WG
> Subject: Re: [Roll] Is the DAG Root a Host? Can it send packets "down"?
> 

[Pascal] Those were your words that I was echoing. 

> 
> Protocols avoid loops?  I don't think so.  It's not the communication protocol
> which avoid loop creation, but the local computation of the route database
> (within each node) which makes sure that the view of the network at each
> node is loop-free.  PRotocols simply exchange data.
> 

[Pascal] I said that the redistribution rules avoid the loops between the protocols or the instances of a protocols.

Let me suggest test to make this clearer in the spec:
"
RPL defines how a packet is routed within a given instance.  The
   precedence and redistribution of routes between different RPL
   instances and between RPL and other routing protocols is out of
   scope.

   The decision to use a given instance for a given packet belongs to
   the end points.  The endpoints signal the instance in the flow label
   of the IPv6 header for use by the RPL routers that forward the
   packet.  The mechanism for provisioning instance identifiers to the
   end points and the routers is out of scope.
"

Does that sound clearer?

Pascal
> >> Alexandru Petrescu Sent: Friday, April 09, 2010 7:35 PM To: ROLL WG
> >>> to progress up or down.  A router sets the 'O' bit when the packet
> >>> is expect to progress down (using DAO routes), and resets it when
> >>> forwarding towards the root of the DODAG iteration.  A host MUST set
> >>> the bit to 0.
> >>

---

From: Alexandru Petrescu <[email-masked]>
Date: Mon, 12 Apr 2010 18:28:23 +0200

Pascal,

Le 11/04/2010 17:46, Pascal Thubert (pthubert) a écrit :
>> Sent: Saturday, April 10, 2010 1:35 PM To: Pascal Thubert
>> (pthubert) Cc: ROLL WG Subject: Re: [Roll] Is the DAG Root a Host?
>> Can it send packets "down"?
>>
>>> the root has no edge in such instance where it is root. Yet it
>>> might participate to other instances where it is not root, other
>>> routing protocols, or simply have a static default route towards
>>> an access router. Redistribution rules such as strict ordering of
>>> instances and protocols avoid loops.
>>
>> Protocols avoid loops?  I don't think so.  It's not the
>> communication protocol which avoid loop creation, but the local
>> computation of the route database (within each node) which makes
>> sure that the view of the network at each node is loop-free.
>> PRotocols simply exchange data.
>>
>
> [Pascal] I said that the redistribution rules avoid the loops between
> the protocols or the instances of a protocols.
>
> Let me suggest test to make this clearer in the spec: " RPL defines
> how a packet is routed within a given instance.  The precedence and
> redistribution of routes between different RPL instances and between
> RPL and other routing protocols is out of scope.
>
> end points and the routers is out of scope. "
>
> Does that sound clearer?

No, sorry, I did not request new clarifying text.  I'd rather suggest
removal of existing text.

My suggestion is that the mindset changes.  Acknowledge that _every_
single movement referred to in the draft is a movement of a data
structure in the computer's memory.  And that there is no physical
mobility of nodes.

For the word "instance": I do not understand what you mean by instance.
  The draft currently says "Each such instance may serve different and
potentially antagonistic constraints or performance criteria."  I do not
see how this could work, sorry.  A routing protocol would set up a
single path not several.  App packets have a single dst address, not
several.

For the word "flow label": I disagree with the mutable Flow Label this
draft uses, because it is broken (flow labels should not change 
enroute).  I explained that 2 days ago.  I see you propose new text 
re-using Flow Labels.  Anything changed?

Alex

>>>> Alexandru Petrescu Sent: Friday, April 09, 2010 7:35 PM To:
>>>> ROLL WG Subject: [Roll] Is the DAG Root a Host? Can it send
>>>> packets "down"?
>>>>
>>>> edge. If it's a Host it means it can't send packets "down"
>>>> (MUST set the O
>>> bit to 0,

---

From: "Pascal Thubert (pthubert)" <[email-masked]>
Date: Mon, 12 Apr 2010 18:51:22 +0200

Hi Alex

> single movement referred to in the draft is a movement of a data
structure in
> the computer's memory.  And that there is no physical mobility of
nodes.

[Pascal] You're correct in that RPL should define the words it is using.
There used to be text and maybe some was lost in the editorial churn.
Move normally refers to changing the parent set within a DODAG
iteration. There is still text about that somewhere though maybe move is
used with a wider scope now.
Jump refers to changing DODAG within an instance. Migrate refers to
switching to the next iteration of a DODAG.
Whether that coincides with a physical movement is not specified and
difficult to assess. We are not precluding physical movement though.

> For the word "instance": I do not understand what you mean by
instance.
[Pascal] Maybe if you look at OSPFv3 that will help you?

> potentially antagonistic constraints or performance criteria."  I do
not see
> how this could work, sorry.  A routing protocol would set up a single
path not
> several.  App packets have a single dst address, not several.
> 
draft
> uses, because it is broken (flow labels should not change enroute).  I
> explained that 2 days ago.  I see you propose new text re-using Flow
Labels.

[Pascal] I've read that. You were wrong. We can change the flow label as
long as we restore it for delivery.
 Anyway the instance itself is not mutable, so in any fashion your
comment does not apply to that field.

> Anything changed?

[Pascal] ?

Pascal
> >>>> ROLL WG Subject: [Roll] Is the DAG Root a Host? Can it send
packets
> >>>>> to progress up or down.  A router sets the 'O' bit when the
packet
> >>>>> forwarding towards the root of the DODAG iteration.  A host MUST
> >>>>> set the bit to 0.
> >>>>
> >>>> up).  If it can't send packets down then there's a problem
because
> >>>> it
> >>>> _______________________________________________ Roll
> mailing
> >> list

---

From: Alexandru Petrescu <[email-masked]>
Date: Tue, 13 Apr 2010 00:13:56 +0200

Le 12/04/2010 18:51, Pascal Thubert (pthubert) a écrit :
> Hi Alex
>
>> My suggestion is that the mindset changes.  Acknowledge that
>> _every_ single movement referred to in the draft is a movement of a
>> data
> structure in
> [Pascal] You're correct in that RPL should define the words it is
> using. There used to be text and maybe some was lost in the editorial
> churn. Move normally refers to changing the parent set within a DODAG
> iteration. There is still text about that somewhere though maybe move
> is used with a wider scope now. Jump refers to changing DODAG within
> an instance. Migrate refers to switching to the next iteration of a
> DODAG.

Ok.

> difficult to assess. We are not precluding physical movement though.

It's difficult to understand whether the physical movement provoked a
movement of the data structures within the DAG.

Other reader indicated understanding that nodes are mostly
fixed.  Which coincides to my oppinion too.  Yet the draft differs - it
allows for physical movement of nodes.

>> For the word "instance": I do not understand what you mean by
> instance. [Pascal] Maybe if you look at OSPFv3 that will help you?

Ok...

>> The draft currently says "Each such instance may serve different
>> and potentially antagonistic constraints or performance criteria."
>>  I do
> not see
>> uses, because it is broken (flow labels should not change enroute).
>> I explained that 2 days ago.  I see you propose new text re-using
>> Flow
> Labels.
>
> [Pascal] I've read that. You were wrong. We can change the flow label
> as long as we restore it for delivery.

I will not CAPITALIZE - but I disagree: do not design a system where you
change the flow label enroute.  Imagine what happens when the
RPL intermediary system ("best effort") forgets to restore it at the
outgoing router.

The whole RPL system is hard to understand i.e. hard to make sure
mistakes are avoided.

> comment does not apply to that field.

It's not what I read in this list recently.

For the sake of bandwidth I will stop posting on this topic.

Alex

>>>>>> Alexandru Petrescu Sent: Friday, April 09, 2010 7:35 PM
>>>>>> To: ROLL WG Subject: [Roll] Is the DAG Root a Host? Can it
>>>>>>  send
> packets
>>>>>> "down"?
>>>>>>
>>>>>>> Down 'O' bit:  1-bit flag indicating whether the packet
>>>>>>> is
>>>>> expected
>>>>>>> is expect to progress down (using DAO routes), and resets
>>>>>>> it
> when
>>>>>>> forwarding towards the root of the DODAG iteration.  A
>>>>>> Is the DAG Root a Host?  I guess so, because it has no
>>>>>> outgoing edge. If it's a Host it means it can't send
>>>>>> packets "down" (MUST set the O
>>>>> bit to 0,