Re: [Roll] [roll] #7: RPL bootstrap question: neighbor cache andDIOs dependency
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Roll] [roll] #7: RPL bootstrap question: neighbor cache andDIOs dependency
>
>
>>
>>> 5.2.1 Parents
>>>
>>> By definition, DAG Roots do not have any DAG parents.
>>>
>>> RPL nodes that are not roots MAY maintain multiple candidate
>>> DAG parents for a single DAG Instance. The set of candidate DAG
>>> parents MUST be a subset of the set of neighbors. At any given
>>> moment, a node has a single DAG Parent, selected from the set
>>> of candidate DAG parents.
>>
>> Not sure why we have to single out THE DAG parent. The DAG is a DAG
>> because a node can maintain more than one candidate parent.
>> Choosing a candidate parent is what defines the forwarding (not
>> routing) topology. More related to this subject below.
>
>I agree. I was trying to distinguish the parent of the moment from the
>set of candidate parents. Does that make sense? Do you have a
>suggestion on how to reword this?
We need the concept of 'preferred' parent to inherit a number of metrics
from, and to compute self's rank. So we have a set of current parents
and sibling and in that set, there's the preferred one.
>>
>>> 5.2.2 DAG Rank
>>>
>>> DAG Rank is not a cost metric, although its value is derived from
>>> and influenced by route cost metrics. Rank is used to avoid and
>>> detect loops. A node's Rank MUST be higher than the Rank of its DAG
>>> Parent. The exact calculation of the Rank may depend on the set of
>>> candidate DAG parents, link metrics, node configuration, and the DAG
>>> Instance OF.
>>
>> I'd say that the advertised Rank MUST be higher than the Rank of its
>> candidate DAG parents, not just the a chosen DAG parent. We use the
>> DAG to identify assign nodes relative position within the network.
>> It doesn't make sense to have a candidate DAG parent that has a
>> higher Rank.
>
>Makes sense.
We took great care in the current wording. Can be simplified and Phil is
very goo d at it. But I suggest we do not make too many changes in one
thread. Can we take it rule by rule?
>> Why not allow a node advertising DAG sequence N forward to a node
>> with DAG sequence N+1? Communication delays means that we can't
>> guarantee that this won't happen. So why restrict it even when we
>> know this is true?
>
>I don't think rule 2 restricts this -- rule 6 does. Let me explain
>where this rule was going -- it's trying to enforce that a node can't
>perpetually avoid incrementing its sequence number. The rule you
>suggested -- a node MUST NOT advertise a sequence number lower than
>all of its candidate parents -- can have issues when DIOs are lost.
>The goal of this rule is that a node can observe candidate parents
>increasing their sequence numbers, but continue to use ones that
>haven't. Then, at some point, it makes the decision to switch to the
>subset with the newer sequence number, and increments its own.
We have the concept of future parent; same DODAG, future instance; the
text says that you can forward to a future parent but you must set the
rank to infinite to avoid false positives in loop detection.
Pascal
Note: Messages sent to this list are the opinions of the senders and do not imply endorsement by the IETF.