idnits 2.17.1 draft-ietf-roll-efficient-npdao-06.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (September 26, 2018) is 2038 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'I-D.ietf-6tisch-architecture' is defined on line 533, but no explicit reference was found in the text == Outdated reference: A later version (-30) exists of draft-ietf-6tisch-architecture-14 Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 ROLL R. Jadhav, Ed. 3 Internet-Draft Huawei 4 Intended status: Standards Track P. Thubert 5 Expires: March 30, 2019 Cisco 6 R. Sahoo 7 Z. Cao 8 Huawei 9 September 26, 2018 11 Efficient Route Invalidation 12 draft-ietf-roll-efficient-npdao-06 14 Abstract 16 This document describes the problems associated with the use of NPDAO 17 messaging in RPL and signaling changes to improve route invalidation 18 efficiency. 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at https://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on March 30, 2019. 37 Copyright Notice 39 Copyright (c) 2018 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (https://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 55 1.1. Requirements Language and Terminology . . . . . . . . . . 3 56 1.2. Current NPDAO messaging . . . . . . . . . . . . . . . . . 3 57 1.3. Why NPDAO is important? . . . . . . . . . . . . . . . . . 4 58 2. Problems with current NPDAO messaging . . . . . . . . 5 59 2.1. Lost NPDAO due to link break to the previous parent . . . 5 60 2.2. Invalidate routes to dependent nodes . . . . . . . . . . 5 61 2.3. Possible route downtime caused by async operation of 62 NPDAO and DAO . . . . . . . . . . . . . . . . . . . . . . 5 63 3. Requirements for the NPDAO Optimization . . . . . . . . . . . 5 64 3.1. Req#1: Tolerant to link failures to the previous 65 parents . . . . . . . . . . . . . . . . . . . . . . . . . 5 66 3.2. Req#2: Dependent nodes route invalidation on parent 67 switching . . . . . . . . . . . . . . . . . . . . . . . . 6 68 3.3. Req#3: Route invalidation should not impact data traffic 6 69 4. Proposed changes to RPL signaling . . . . . . . . . . . . . . 6 70 4.1. Change in RPL route invalidation semantics . . . . . . . 6 71 4.2. Transit Information Option changes . . . . . . . . . . . 7 72 4.3. Destination Cleanup Object (DCO) . . . . . . . . . . . . 8 73 4.3.1. Secure DCO . . . . . . . . . . . . . . . . . . . . . 9 74 4.3.2. DCO Options . . . . . . . . . . . . . . . . . . . . . 9 75 4.3.3. Path Sequence number in the DCO . . . . . . . . . . . 9 76 4.3.4. Destination Cleanup Option Acknowledgement (DCO-ACK) 9 77 4.3.5. Secure DCO-ACK . . . . . . . . . . . . . . . . . . . 10 78 4.4. Other considerations . . . . . . . . . . . . . . . . . . 11 79 4.4.1. Dependent Nodes invalidation . . . . . . . . . . . . 11 80 4.4.2. NPDAO and DCO in the same network . . . . . . . . . . 11 81 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 82 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 83 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 84 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 85 8.1. Normative References . . . . . . . . . . . . . . . . . . 12 86 8.2. Informative References . . . . . . . . . . . . . . . . . 12 87 Appendix A. Example DCO Messaging . . . . . . . . . . . . . . . 12 88 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 90 1. Introduction 92 RPL [RFC6550] specifies a proactive distance-vector based routing 93 scheme. RPL has an optional messaging in the form of DAO messages 94 using which the 6LBR can learn route towards the nodes. In storing 95 mode, DAO messages would result in routing entries been created on 96 all intermediate hops from the node's parent all the way towards the 97 6LBR. 99 RPL allows use of No-Path DAO (NPDAO) messaging to invalidate a 100 routing path corresponding to the given target, thus releasing 101 resources utilized on that path. A NPDAO is a DAO message with route 102 lifetime of zero, originates at the target node and always flows 103 upstream towards the 6LBR. This document explains the problems 104 associated with the current use of NPDAO messaging and also discusses 105 the requirements for an optimized route invalidation messaging 106 scheme. Further a new pro-active route invalidation message called 107 as "Destination Cleanup Object (DCO)" is specified which fulfills 108 requirements of an optimized route invalidation messaging. 110 1.1. Requirements Language and Terminology 112 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 113 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 114 document are to be interpreted as described in RFC 2119 [RFC2119]. 116 The document only caters to the RPL's storing mode of operation 117 (MOP). The non-storing MOP does not require use of NPDAO for route 118 invalidation since routing entries are not maintained on 6LRs. 120 Common Ancestor node: 6LR node which is the first common node on the 121 old and new path for the child node. 123 NPDAO: No-Path DAO. A DAO message which has target with lifetime 0. 125 DCO: Destination Cleanup Object, A new RPL control message type 126 defined by this draft. 128 Regular DAO: A DAO message with non-zero lifetime. 130 LLN: Low Power and Lossy Networks. 132 Target Node: The node switching its parent whose routing adjacencies 133 are updated (created/removed). 135 This document also uses terminology described in [RFC6550]. 137 1.2. Current NPDAO messaging 139 RPL uses NPDAO messaging in the storing mode so that the node 140 changing it routing adjacencies can invalidate the previous route. 141 This is needed so that nodes along previous path can release any 142 resources (such as the routing entry) it maintains on behalf of 143 target node. 145 For the rest of this document consider the following topology: 147 (6LBR) 148 | 149 | 150 | 151 (A) 152 / \ 153 / \ 154 / \ 155 (G) (H) 156 | | 157 | | 158 | | 159 (B) (C) 160 \ ; 161 \ ; 162 \ ; 163 (D) 164 / \ 165 / \ 166 / \ 167 (E) (F) 169 Figure 1: Sample topology 171 Node (D) is connected via preferred parent (B). (D) has an alternate 172 path via (C) towards the BR. Node (A) is the common ancestor for (D) 173 for paths through (B)-(G) and (C)-(H). When (D) switches from (B) to 174 (C), RPL allows sending NPDAO to (B) and regular DAO to (C). 176 1.3. Why NPDAO is important? 178 Nodes in LLNs may be resource constrained. There is limited memory 179 available and routing entry records are one of the primary elements 180 occupying dynamic memory in the nodes. Route invalidation helps 6LR 181 nodes to decide which entries could be discarded to better achieve 182 resource utilization. Thus it becomes necessary to have efficient 183 route invalidation mechanism. Also note that a single parent switch 184 may result in a "sub-tree" switching from one parent to another. 185 Thus the route invalidation needs to be done on behalf of the sub- 186 tree and not the switching node alone. In the above example, when 187 Node (D) switches parent, the route invalidation needs to be done for 188 (D), (E) and (F). Thus without efficient route invalidation, a 6LR 189 may have to hold a lot of stale route entries. 191 2. Problems with current NPDAO messaging 193 2.1. Lost NPDAO due to link break to the previous parent 195 When a node switches its parent, the NPDAO is to be sent to its 196 previous parent and a regular DAO to its new parent. In cases where 197 the node switches its parent because of transient or permanent parent 198 link/node failure then the NPDAO message is bound to fail. 200 2.2. Invalidate routes to dependent nodes 202 RPL does not specify how route invalidation will work for dependent 203 nodes rooted at switching node, resulting in stale routing entries of 204 the dependent nodes. The only way for 6LR to invalidate the route 205 entries for dependent nodes would be to use route lifetime expiry 206 which could be substantially high for LLNs. 208 In the example topology, when Node (D) switches its parent, Node (D) 209 generates an NPDAO on its behalf. There is no NPDAO generated by 210 these child nodes through the previous path resulting in stale 211 entries on nodes (B) and (G) for nodes (E) and (F). 213 2.3. Possible route downtime caused by async operation of NPDAO and DAO 215 A switching node may generate both an NPDAO and DAO via two different 216 paths at almost the same time. There is a possibility that an NPDAO 217 generated may invalidate the previous route and the regular DAO sent 218 via the new path gets lost on the way. This may result in route 219 downtime impacting downward traffic for the switching node. 221 In the example topology, consider Node (D) switches from parent (B) 222 to (C). An NPDAO sent from previous route may invalidate the 223 existing route whereas there is no way to determine whether the new 224 DAO has successfully updated the route entries on the new path. 226 3. Requirements for the NPDAO Optimization 228 3.1. Req#1: Tolerant to link failures to the previous parents 230 When the switching node sends the NPDAO message to the previous 231 parent, it is normal that the link to the previous parent is prone to 232 failure. Therefore, it is required that the NPDAO message must be 233 tolerant to the link failure. The link referred here represents the 234 link between the node and its previous parent (from whom the node is 235 now disassociating). 237 3.2. Req#2: Dependent nodes route invalidation on parent switching 239 It should be possible to do route invalidation for dependent nodes 240 rooted at the switching node. 242 3.3. Req#3: Route invalidation should not impact data traffic 244 While sending the NPDAO and DAO messages, it is possible that the 245 NPDAO successfully invalidates the previous path, while the newly 246 sent DAO gets lost (new path not set up successfully). This will 247 result in downstream unreachability to the node switching paths. 248 Therefore, it is desirable that the route invalidation is 249 synchronized with the DAO to avoid the risk of route downtime. 251 4. Proposed changes to RPL signaling 253 4.1. Change in RPL route invalidation semantics 255 As described in Section 1.2, the NPDAO originates at the node 256 switching the parent and traverses upstream towards the root. In 257 order to solve the problems as mentioned in Section 2, the draft adds 258 new pro-active route invalidation message called as "Destination 259 Cleanup Object" (DCO) that originates at a common ancestor node 260 between the new and old path. The common ancestor node generates a 261 DCO in response to the change in the next-hop on receiving a regular 262 DAO for the target. 264 In Figure 1, when node D decides to switch the path from B to C, it 265 sends a regular DAO to node C with reachability information 266 containing target as address of D and a incremented path sequence 267 number. Node C will update the routing table based on the 268 reachability information in DAO and in turn generate another DAO with 269 the same reachability information and forward it to H. Node H also 270 follows the same procedure as Node C and forwards it to node A. When 271 node A receives the regular DAO, it finds that it already has a 272 routing table entry on behalf of the target address of node D. It 273 finds however that the next hop information for reaching node D has 274 changed i.e. the node D has decided to change the paths. In this 275 case, Node A which is the common ancestor node for node D along the 276 two paths (previous and new), may generate a DCO which traverses 277 downwards in the network. The document in the subsequent section 278 will explain the message format changes to handle this downward flow 279 of NPDAO. 281 4.2. Transit Information Option changes 283 Every RPL message is divided into base message fields and additional 284 Options. The base fields apply to the message as a whole and options 285 are appended to add message/use-case specific attributes. As an 286 example, a DAO message may be attributed by one or more "RPL Target" 287 options which specifies the reachability information for the given 288 targets. Similarly, a Transit Information option may be associated 289 with a set of RPL Target options. 291 The draft proposes a change in Transit Information option to contain 292 "Invalidate previous route" (I) bit. This I-bit signals the common 293 ancestor node to generate a DCO on behalf of the target node. The 294 I-bit is carried in the transit information option which augments the 295 reachability information for a given set of RPL Target(s). 297 0 1 2 3 298 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 299 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 300 | Type = 0x06 | Option Length |E|I| Flags | Path Control | 301 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 302 | Path Sequence | Path Lifetime | | 303 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + 304 | | 305 + + 306 | | 307 + Parent Address* + 308 | | 309 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 310 | | 311 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 313 Figure 2: Updated Transit Information Option (New I flag added) 315 I (Invalidate previous route) bit: 1 bit flag. The 'I' flag is set 316 by the target node to indicate that it wishes to invalidate the 317 previous route by a common ancestor node between the two paths. 319 The common ancestor node SHOULD generate a DCO message in response to 320 this I-bit when it sees that the routing adjacencies have changed for 321 the target. I-bit governs the ownership of the DCO message in a way 322 that the target node is still in control of its own route 323 invalidation. 325 4.3. Destination Cleanup Object (DCO) 327 A new ICMPv6 RPL control message type is defined by this 328 specification called as "Destination Cleanup Object" (DCO), which is 329 used for proactive cleanup of state and routing information held on 330 behalf of the target node by 6LRs. The DCO message always traverses 331 downstream and cleans up route information and other state 332 information associated with the given target. 334 0 1 2 3 335 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 336 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 337 | RPLInstanceID |K|D| Flags | Reserved | DCOSequence | 338 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 339 | | 340 + + 341 | | 342 + DODAGID(optional) + 343 | | 344 + + 345 | | 346 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 347 | Option(s)... 348 +-+-+-+-+-+-+-+-+ 350 Figure 3: DCO base object 352 RPLInstanceID: 8-bit field indicating the topology instance 353 associated with the DODAG, as learned from the DIO. 355 K: The 'K' flag indicates that the recipient is expected to send a 356 DCO-ACK back. 358 D: The 'D' flag indicates that the DODAGID field is present. This 359 flag MUST be set when a local RPLInstanceID is used. 361 Flags: The 6 bits remaining unused in the Flags field are reserved 362 for future use. These bits MUST be initialized to zero by the sender 363 and MUST be ignored by the receiver. 365 Reserved: 8-bit unused field. The field MUST be initialized to zero 366 by the sender and MUST be ignored by the receiver. 368 DCOSequence: Incremented at each unique DCO message from a node and 369 echoed in the DCO-ACK message. 371 DODAGID (optional): 128-bit unsigned integer set by a DODAG root that 372 uniquely identifies a DODAG. This field is only present when the 'D' 373 flag is set. This field is typically only present when a local 374 RPLInstanceID is in use, in order to identify the DODAGID that is 375 associated with the RPLInstanceID. When a global RPLInstanceID is in 376 use, this field need not be present. Unassigned bits of the DCO Base 377 are reserved. They MUST be set to zero on transmission and MUST be 378 ignored on reception. 380 4.3.1. Secure DCO 382 A Secure DCO message follows the format in [RFC6550] figure 7, where 383 the base message format is the DCO message shown in Figure 3. 385 4.3.2. DCO Options 387 The DCO message MAY carry valid options. This specification allows 388 for the DCO message to carry the following options: 390 0x00 Pad1 391 0x01 PadN 392 0x05 RPL Target 393 0x06 Transit Information 394 0x09 RPL Target Descriptor 396 The DCO carries a Target option and an associated Transit Information 397 option with a lifetime of 0x00000000 to indicate a loss of 398 reachability to that Target. 400 4.3.3. Path Sequence number in the DCO 402 A DCO message may contain a Path Sequence in the transit information 403 option to identify the freshness of the DCO message. The Path 404 Sequence in the DCO MUST use the same Path Sequence number present in 405 the regular DAO message when the DCO is generated in response to DAO 406 message. 408 4.3.4. Destination Cleanup Option Acknowledgement (DCO-ACK) 410 The DCO-ACK message may be sent as a unicast packet by a DCO 411 recipient in response to a unicast DCO message. 413 0 1 2 3 414 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 415 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 416 | RPLInstanceID |D| Reserved | DCOSequence | Status | 417 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 418 | | 419 + + 420 | | 421 + DODAGID(optional) + 422 | | 423 + + 424 | | 425 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 427 Figure 4: DCO-ACK base object 429 RPLInstanceID: 8-bit field indicating the topology instance 430 associated with the DODAG, as learned from the DIO. 432 D: The 'D' flag indicates that the DODAGID field is present. This 433 flag MUST be set when a local RPLInstanceID is used. 435 Reserved: 7-bit unused field. The field MUST be initialized to zero 436 by the sender and MUST be ignored by the receiver. 438 DCOSequence: Incremented at each unique DCO message from a node and 439 echoed in the DCO-ACK message. 441 Status: Indicates the completion. Status 0 is defined as unqualified 442 acceptance in this specification. The remaining status values are 443 reserved as rejection codes. 445 DODAGID (optional): 128-bit unsigned integer set by a DODAG root that 446 uniquely identifies a DODAG. This field is only present when the 'D' 447 flag is set. This field is typically only present when a local 448 RPLInstanceID is in use, in order to identify the DODAGID that is 449 associated with the RPLInstanceID. When a global RPLInstanceID is in 450 use, this field need not be present. Unassigned bits of the DCO-Ack 451 Base are reserved. They MUST be set to zero on transmission and MUST 452 be ignored on reception. 454 4.3.5. Secure DCO-ACK 456 A Secure DCO-ACK message follows the format in [RFC6550] figure 7, 457 where the base message format is the DCO-ACK message shown in 458 Figure 4. 460 4.4. Other considerations 462 4.4.1. Dependent Nodes invalidation 464 Current RPL [RFC6550] does not provide a mechanism for route 465 invalidation for dependent nodes. This document allows the dependent 466 nodes invalidation. Dependent nodes will generate their respective 467 DAOs to update their paths, and the previous route invalidation for 468 those nodes should work in the similar manner described for switching 469 node. The dependent node may set the I-bit in the transit 470 information option as part of regular DAO so as to request 471 invalidation of previous route from the common ancestor node. 473 4.4.2. NPDAO and DCO in the same network 475 Even with the changed semantics, the current NPDAO mechanism in 476 [RFC6550] can still be used. There are certain scenarios where 477 current NPDAO signalling may still be used, for example, when the 478 route lifetime expiry of the target happens or when the node simply 479 decides to gracefully terminate the RPL session on graceful node 480 shutdown. Moreover a deployment can have a mix of nodes supporting 481 the proposed DCO and the existing NPDAO mechanism. 483 5. Acknowledgements 485 Many thanks to Cenk Gundogan, Simon Duquennoy, Georgios 486 Papadopoulous, Peter Van Der Stok for their review and comments. 488 6. IANA Considerations 490 IANA is requested to allocate new ICMPv6 RPL control codes in RPL 491 [RFC6550] for DCO and DCO-ACK messages. 493 +------+---------------------------------------------+--------------+ 494 | Code | Description | Reference | 495 +------+---------------------------------------------+--------------+ 496 | 0x04 | Destination Cleanup Object | This | 497 | | | document | 498 | 0x05 | Destination Cleanup Object Acknowledgement | This | 499 | | | document | 500 | 0x84 | Secure Destination Cleanup Object | This | 501 | | | document | 502 | 0x85 | Secure Destination Cleanup Object | This | 503 | | Acknowledgement | document | 504 +------+---------------------------------------------+--------------+ 505 IANA is requested to allocate bit 18 in the Transit Information 506 Option defined in RPL [RFC6550] section 6.7.8 for Invalidate route 507 'I' flag. 509 7. Security Considerations 511 This document handles security considerations inline to base RPL. 512 Secure versions of DCO and DCO-ACK are added similar to other RPL 513 messages. For general RPL security considerations, see [RFC6550]. 515 8. References 517 8.1. Normative References 519 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 520 Requirement Levels", BCP 14, RFC 2119, 521 DOI 10.17487/RFC2119, March 1997, 522 . 524 [RFC6550] Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J., 525 Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur, 526 JP., and R. Alexander, "RPL: IPv6 Routing Protocol for 527 Low-Power and Lossy Networks", RFC 6550, 528 DOI 10.17487/RFC6550, March 2012, 529 . 531 8.2. Informative References 533 [I-D.ietf-6tisch-architecture] 534 Thubert, P., "An Architecture for IPv6 over the TSCH mode 535 of IEEE 802.15.4", draft-ietf-6tisch-architecture-14 (work 536 in progress), April 2018. 538 Appendix A. Example DCO Messaging 540 In Figure 1, node (D) switches its parent from (B) to (C). The 541 sequence of actions is as follows: 543 1. Node D switches its parent from node B to node C 544 2. D sends a regular DAO(tgt=D,pathseq=x+1,I_flag=1) in the updated 545 path to C 546 3. C checks for routing entry on behalf of D, since it cannot find 547 an entry on behalf of D it creates a new routing entry and 548 forwards the reachability information of the target D to H in a 549 DAO. 550 4. Similar to C, node H checks for routing entry on behalf of D, 551 cannot find an entry and hence creates a new routing entry and 552 forwards the reachability information of the target D to H in a 553 DAO. 554 5. Node A receives the DAO, and checks for routing entry on behalf 555 of D. It finds a routing entry but checks that the next hop for 556 target D is now changed. Node A checks the I_flag and generates 557 DCO(tgt=D,pathseq=pathseq(DAO)) to previous next hop for target D 558 which is G. Subsequently, A updates the routing entry and 559 forwards the reachability information of target D upstream 560 DAO(tgt=D,pathseq=x+1,I_flag=x) (the I_flag carries no 561 significance henceforth). 562 6. Node G receives the DCO and invalidates routing entry of target D 563 and forwards the (un)reachability information downstream to B. 564 7. Similarly, B processes the DCO by invalidating the routing entry 565 of target D and forwards the (un)reachability information 566 downstream to D. 567 8. D ignores the DCO since the target is itself. 568 9. The propagation of the DCO will stop at any node where the node 569 does not have an routing information associated with the target. 570 If the routing information is present and the pathseq associated 571 is not older, then still the DCO is dropped. 573 Authors' Addresses 575 Rahul Arvind Jadhav (editor) 576 Huawei 577 Kundalahalli Village, Whitefield, 578 Bangalore, Karnataka 560037 579 India 581 Phone: +91-080-49160700 582 Email: rahul.ietf@gmail.com 584 Pascal Thubert 585 Cisco Systems, Inc 586 Building D 587 45 Allee des Ormes - BP1200 588 MOUGINS - Sophia Antipolis 06254 589 France 591 Phone: +33 497 23 26 34 592 Email: pthubert@cisco.com 593 Rabi Narayan Sahoo 594 Huawei 595 Kundalahalli Village, Whitefield, 596 Bangalore, Karnataka 560037 597 India 599 Phone: +91-080-49160700 600 Email: rabinarayans@huawei.com 602 Zhen Cao 603 Huawei 604 W Chang'an Ave 605 Beijing 606 China 608 Email: zhencao.ietf@gmail.com