Re: [Roll] [roll] #95: Why need stop flag? Is the receipt of DRO not sufficient to indicate completion of route discovery?

Mukul Goyal <> Wed, 11 April 2012 12:24 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 8792921F84A6 for <>; Wed, 11 Apr 2012 05:24:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.196
X-Spam-Status: No, score=-6.196 tagged_above=-999 required=5 tests=[AWL=0.403, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id FwRHeCsBR3Yd for <>; Wed, 11 Apr 2012 05:23:59 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 1A1A621F858A for <>; Wed, 11 Apr 2012 05:23:58 -0700 (PDT)
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: ApwEAIR2hU9/AAAB/2dsb2JhbABFhWa2fyNWGxoCDRIHAlkGLId1p3GKEokJgS+JdgGFCIEYBIhajRKQNoMFgTYBFg
Received: from localhost (localhost.localdomain []) by (Postfix) with ESMTP id 492F11FD0C8; Wed, 11 Apr 2012 07:23:58 -0500 (CDT)
X-Virus-Scanned: amavisd-new at
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Zo-84PMwMk6L; Wed, 11 Apr 2012 07:23:58 -0500 (CDT)
Received: from ( []) by (Postfix) with ESMTP id 09D111FD0BE; Wed, 11 Apr 2012 07:23:58 -0500 (CDT)
Date: Wed, 11 Apr 2012 07:23:57 -0500
From: Mukul Goyal <>
To: C Chauvenet <>
Message-ID: <>
In-Reply-To: <>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-Originating-IP: []
X-Mailer: Zimbra 6.0.13_GA_2918 (ZimbraWebClient - IE8 (Win)/6.0.13_GA_2918)
Cc: roll <>
Subject: Re: [Roll] [roll] #95: Why need stop flag? Is the receipt of DRO not sufficient to indicate completion of route discovery?
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Routing Over Low power and Lossy networks <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 11 Apr 2012 12:24:00 -0000

Please see inline.


> #95: Why need stop flag? Is the receipt of DRO not sufficient to indicate completion of route discovery?
> Resolution: No because multiple DROs would be generated if multiple source  routes are being discovered.
> Discussion:
> p15 :  Stop (S): This flag, when set to one by a target, indicates that  the P2P-RPL route discovery is over.
> [Cedric]
> Is this bit really usefull ? My guess is that it will be always set to 1.
> If you hear a DRO, this indeed means that the RDO has reached the target,  so you could just stop processing RDO when you hear a DRO.
> Do we really need a flag to stop RDO processing or the hearing of a DRO  type message could do the job ?
> [Mukul]
> A P2P-RPL invocation might involve discovery of multiple source routes. In  that case, receipt of a DRO does not mean route discovery is over. Only  when the target sets the stop flag in the DRO, a node could be sure that  the route discovery is over.
> [Cedric2]
> OK fo multiple discovery.
> But if I want to discover a route to a multicast group of target. I set a multicast adress in the target field of the RDO. Then, do I received as many DRO message as the number of target reached ? In that case, would the first DRO with a "S" flag stop the RDO propagation to reach all the target included in the multicast group ?
> [Mukul2]
> A target cannot set the S flag to one in the DRO if the target address in the P2P-RDO specified a multicast address. See the following text at the end of page 21 in P2P-RPL-9:
> "The target MAY set the stop flag inside the DRO message to one if
> Goyal, et al.           Expires September 7, 2012              [Page 21]
> Internet-Draft         draft-ietf-roll-p2p-rpl-09             March 2012
>   o  this router is the only target specified in the corresponding DIO,
>      i.e., the corresponding DIO specified a unicast address of the
>      router as the Target inside the P2P-RDO with no additional targets
>      specified via RPL Target Options; and
> " 
> [Cedric3] 
> So how do you stop the RDO flooding when the target adress is mulicast ? 
> [Mukul3]
> Stop flag cannot be used when the target address is multicast or when multiple unicast targets are there. The DIO generation will stop when the DAG dies. In the meanwhile, trickle algorithm would hopefully avoid unnecessary message generation. Note that the draft recommends a very small value for the redundancy constant.

So in this case, the RDO (I guess this is what you mean when you mentioned "DIO" in you previous message) generation to discover the route is never ending until the temporary DAG dies ?

[Mukul4] Never ending wont be the correct description. The temporary DAG lasts for a few seconds only. Plus, the trickle algorithm would prevent the generation of many DIOs.

I guess the RDO flooding would stop according to the MaxRank/NH field  of the P2P-RDO message.

Yes, it would. MaxRank and other routing constraints would always limit the scope of route discovery. Note that there are two separate things:
1) scope of discovery: how far the discovery message (P2P-RDO inside the DIO) travels. This is controlled by the routing constraints and the maxRank field inside the P2P-RDO.
2) How many discovery messages are generated by the nodes that join the DAG: this is controlled by trickle timer and ultimately by the DAG life time. The stop flag in the DRO is an optimization that allows DIO generation to stop in the nodes that can hear the stop flag.

But if this field is set to 0 (meaning infinity according to section 7.1), we should find a mechanism to stop the discovery mechanism.
What do you think ?

To tell the truth, MaxRank is basically a way to avoid putting a metric container in the DIO (when a limit on rank is the only constraint you want to specify). The scope of discovery is limited by both MaxRank as well as the routing constraints in the metric container.