idnits 2.17.1 draft-ietf-ospf-hitless-restart-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) == There are 1 instance of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. RFC 2119 keyword, line 387: '...n implementation MAY provide a configu...' Miscellaneous warnings: ---------------------------------------------------------------------------- -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (October 2002) is 7863 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: '3' is defined on line 616, but no explicit reference was found in the text == Unused Reference: '5' is defined on line 488, but no explicit reference was found in the text ** Obsolete normative reference: RFC 2370 (ref. '2') (Obsoleted by RFC 5250) Summary: 5 errors (**), 0 flaws (~~), 4 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group J. Moy (Sycamore Networks) 3 Internet Draft Padma Pillay-Esnault (Juniper Networks) 4 Expiration Date: April 2003 Acee Lindem, Editor (Redback Networks) 5 File name: draft-ietf-ospf-hitless-restart-04.txt October 2002 7 Hitless OSPF Restart 8 draft-ietf-ospf-hitless-restart-04.txt 10 Status of this Memo 12 This document is an Internet-Draft and is in full conformance with 13 all provisions of Section 10 of RFC2026. 15 Internet-Drafts are working documents of the Internet Engineering 16 Task Force (IETF), its areas, and its working groups. Note that 17 other groups may also distribute working documents as Internet- 18 Drafts. 20 Internet-Drafts are draft documents valid for a maximum of six 21 months and may be updated, replaced, or obsoleted by other documents 22 at any time. It is inappropriate to use Internet- Drafts as 23 reference material or to cite them other than as "work in progress." 25 The list of current Internet-Drafts can be accessed at 26 http://www.ietf.org/ietf/1id-abstracts.txt 28 The list of Internet-Draft Shadow Directories can be accessed at 29 http://www.ietf.org/shadow.html. 31 Abstract 33 This memo documents an enhancement to the OSPF routing protocol, 34 whereby an OSPF router can stay on the forwarding path even as its 35 OSPF software is restarted. This is called "hitless restart" or 36 "non-stop forwarding". A restarting router may not be capable of 37 adjusting its forwarding in a timely manner when the network 38 topology changes. In order to avoid the possible resulting routing 39 loops the procedure in this memo automatically reverts to a normal 40 OSPF restart when such a topology change is detected, or when one or 41 more of the restarting router's neighbors do not support the 42 enhancements in this memo. Proper network operation during a hitless 43 restart makes assumptions upon the operating environment of the 44 restarting router; these assumptions are also documented. 46 Table of Contents 48 1 Overview ............................................... 2 49 1.1 Acknowledgments ........................................ 3 50 2 Operation of restarting router ......................... 3 51 2.1 Entering hitless restart ............................... 4 52 2.2 When to exit hitless restart ........................... 5 53 2.3 Actions on exiting hitless restart ..................... 6 54 3 Operation of helper neighbor ........................... 6 55 3.1 Entering helper mode ................................... 7 56 3.2 Exiting helper mode .................................... 8 57 4 Backward compatibility ................................. 9 58 5 Unplanned outages ...................................... 9 59 6 Interaction with Traffic Engineering .................. 10 60 7 Possible Future Work .................................. 10 61 References ............................................ 10 62 A Grace-LSA format ...................................... 11 63 B Change log ............................................ 13 64 Security Considerations ............................... 14 65 Authors' Addresses .................................... 14 67 1. Overview 69 Today many Internet routers implement a separation of control and 70 forwarding functions. Certain processors are dedicated to control 71 and management tasks such as OSPF routing, while other processors 72 perform the data forwarding tasks. This separation creates the 73 possibility of maintaining a router's data forwarding capability 74 while the router's control software is restarted/reloaded. We call 75 such a possibility "hitless restart" or "non-stop forwarding". 77 The problem that the OSPF protocol presents to hitless restart is 78 that, under normal operation, OSPF intentionally routes around a 79 restarting router while it rebuilds its link-state database. OSPF 80 avoids the restarting router to minimize the possibility of routing 81 loops and/or black holes caused by lack of database synchronization. 82 Avoidance is accomplished by having the router's neighbors reissue 83 their LSAs, omitting links to the restarting router. 85 However, if (a) the network topology remains stable and (b) the 86 restarting router is able to keep its forwarding table(s) across the 87 restart, it would be safe to keep the restarting router on the 88 forwarding path. This memo documents an enhancement to OSPF that 89 makes such hitless restart possible, and one that automatically 90 reverts back to a standard OSPF restart for safety when network 91 topology changes are detected. 93 In a nutshell, the OSPF enhancements for hitless restart are as 94 follows. The router attempting a hitless restart originates link- 95 local Opaque-LSAs, herein called Grace-LSAs, announcing the 96 intention to perform a hitless restart, and asking for a "grace 97 period". During the grace period its neighbors continue to announce 98 the restarting router in their LSAs as if it were fully adjacent 99 (i.e., OSPF neighbor state Full), but only if the network topology 100 remains static (i.e, the contents of the LSAs in the link-state 101 database having LS types 1-5,7 remain unchanged; periodic refreshes 102 are allowed). 104 There are two roles being played by OSPF routers during hitless 105 restart. First there is the router that is being restarted. The 106 operation of this router during hitless restart, including how the 107 router enters and leaves hitless restart, is the subject of Section 108 2. Then there are the router's neighbors, which must cooperate in 109 order for the restart to be hitless. During hitless restart we say 110 that the neighbors are executing in "helper mode". Section 3 covers 111 the responsibilities of a router executing in helper mode, including 112 entering and leaving helper mode. 114 1.1. Acknowledgments 116 The authors wish to thank John Drake, Vishwas Manral, 117 Kent Wong and Don Goodspeed for their helpful comments. 119 2. Operation of restarting router 121 After the router restarts/reloads, it must change its OSPF 122 processing somewhat until it re-establishes full adjacencies with 123 all its previously fully-adjacent neighbors. This time period, 124 between the restart/reload and the reestablishment of adjacencies, 125 is called "hitless restart". During hitless restart: 127 (1) The restarting router does not originate LSAs with LS types 128 1-5,7. Instead, the restarting router wants the other routers 129 in the OSPF domain to calculate routes using the LSAs that it 130 had originated prior to its restart. During this time, the 131 restarting router does not modify or flush received self- 132 originated LSAs, (see Section 13.4 of [1]) but instead 133 accepts them as valid. In particular, the grace-LSAs that the 134 restarting router had originated before the restart are left 135 in place. Received self-originated LSAs will be dealt with 136 when the router exits hitless restart (see Section 2.3). 138 (2) The restarting router runs its OSPF routing calculations, as 139 specified in Section 16 of [1]. This is necessary to 140 return any OSPF virtual links to operation. However, the 141 restarting router does *not* install OSPF routes into the 142 system's forwarding table(s), instead relying on the 143 forwarding entries that it had installed prior to the 144 restart. 146 (3) If the restarting router determines that it was Designated 147 Router on a given segment immediately prior to the restart, 148 it elects itself as Designated Router again. The restarting 149 router knows that it was Designated Router if, while the 150 associated interface is in Waiting state, an Hello packet is 151 received from a neighbor listing the router as Designated 152 Router. 154 Otherwise, the restarting router operates the same as any other OSPF 155 router. It discovers neighbors using OSPF's Hello protocol, elects 156 Designated and Backup Designated Routers, performs the Database 157 Exchange procedure to initially synchronize link-state databases 158 with its neighbors, and maintains this synchronization through 159 flooding. 161 The processes of entering hitless restart, and of exiting hitless 162 restart (either successfully or not) are covered in the following 163 sections. 165 2.1. Entering hitless restart 167 The router (call it Router X) is informed of the desire for its 168 hitless restart when an appropriate command is issued by the 169 network operator. The network operator may also specify the 170 length of the grace period, or the necessary grace period may be 171 calculated by the router's OSPF software. In order to avoid 172 the restarting router's LSAs from aging out, the grace period 173 should not exceed LSRefreshTime (1800 second) [1]. 175 In preparation for the hitless restart, Router X must perform 176 the following actions before its software is restarted/reloaded. 177 Note that common OSPF shutdown procedures are *not* performed, 178 since we want the other OSPF routers to act as if Router X 179 remains in continuous service. For example, Router X does not 180 flush its locally originated LSAs, since we want them to remain 181 in other routers' link-state databases throughout the restart 182 period. 184 (1) Router X must ensure that its forwarding table(s) is/are 185 up-to-date and will remain in place across the restart. 187 (2) The router may need to preserve the cryptographic 188 sequence numbers being used on each interface in 189 non-volatile storage. An alternative is to use the 190 router's clock for cryptographic sequence number 191 generation and ensure the clock is preserved across 192 restarts (either on the same or redundant route 193 processors). If neither of these can be guarenteed, it 194 can take up to RouterDeadInterval seconds after the 195 restart before adjacencies can be reestablished and this 196 would force the grace period to be lengthened greatly. 198 Router X then originates the grace-LSAs. These are link-local 199 Opaque-LSAs (see Appendix A). Their LS Age field is set to 0, 200 and the requested grace period (in seconds) is inserted into the 201 body of the grace-LSA. The precise contents of the grace-LSA are 202 described in Appendix A. 204 A grace-LSA is originated for each of the router's OSPF 205 interfaces. If Router X wants to ensure that its neighbors 206 receive the grace-LSAs, it should retransmit the grace-LSAs 207 until they are acknowledged (i.e, perform standard OSPF reliable 208 flooding of the grace-LSAs). If one or more fully adjacent 209 neighbors do not receive grace-LSAs, they will more than likely 210 cause premature termination of the hitless restart procedure 211 (see Section 4). 213 After the grace-LSAs have been sent, the router should store the 214 fact that it is performing hitless restart along with the length 215 of the requested grace period in non-volatile storage. (Note to 216 implementors: It may be easiest to simply store the absolute 217 time of the end of the grace period). The OSPF software should 218 then be restarted/reloaded, and when the reloaded software 219 starts executing the hitless restart modifications in Section 2 220 above are followed. (Note that prior to the restart, the router 221 does not know whether its neighbors are going to cooperate as 222 "helpers"; the mere reception of grace-LSAs does not imply 223 acceptance of helper responsibilities. This memo assumes that 224 the router would want to restart anyway, even if the restart is 225 not going to be hitless). 227 2.2. When to exit hitless restart 229 A Router X exits hitless restart when any of the following 230 occurs: 232 (1) Router X has reestablished all its adjacencies. Router X 233 can determine this by examining the router-LSAs that it 234 had last originated before the restart (called the "pre- 235 restart router-LSA"), and, on those segments where the 236 router is Designated Router, the pre-restart network- 237 LSAs. These LSAs will have been received from the helping 238 neighbors, and need not have been stored in non-volatile 239 storage across the restart. All previous adjacencies will 240 be listed as type-1 and type 2 links in the router-LSA, 241 and as neighbors in the body of the network-LSA. 243 (2) Router X receives an LSA that is inconsistent with its 244 pre-restart router-LSA. For example, X receives a router- 245 LSA originated by router Y that does not contain a link 246 to X, even though X's pre-start router-LSA did contain a 247 link to Y. This indicates that either a) Y does not 248 support hitless restart, b) Y never received the grace- 249 LSA or c) Y has terminated its helper mode for some 250 reason (Section 3.2). 252 (3) The grace period expires. 254 2.3. Actions on exiting hitless restart 256 On exiting "hitless restart", the reloaded router reverts back 257 to completely normal OSPF operation, reoriginating LSAs based on 258 the router's current state and updating its forwarding table(s) 259 based on the current contents of the link-state database. In 260 particular, the following actions should be performed when 261 exiting, either successfully or unsuccessfully, hitless restart. 263 (1) The router should reoriginate its router-LSAs for all 264 attached areas, to make sure they have the correct 265 contents. 267 (2) The router should reoriginate network-LSAs on all 268 segments where it is Designated Router. 270 (3) The router reruns its OSPF routing calculations (Section 271 16 of [1]), this time installing the results into the 272 system forwarding table, and originating summary-LSAs, 273 Type-7 LSAs and AS-external-LSAs as necessary. 275 (4) Any remnant entries in the system forwarding table that 276 were installed before the restart, but that are no longer 277 valid, should be removed. 279 (5) Any received self-originated LSAs that are no longer 280 valid should be flushed. 282 (6) Any grace-LSAs that the router had originated should be 283 flushed. 285 3. Operation of helper neighbor 287 The helper relationship is per network segment. As a "helper 288 neighbor" on a segment S for a restarting router X, router Y has 289 several duties. It monitors the network for topology changes, and as 290 long as there are none, continues to its advertise its LSAs as if X 291 had remained in continuous OSPF operation. This means that Y's LSAs 292 continue to list an adjacency to X over network segment S, 293 regardless of the adjacency's current synchronization state. This 294 logic affects the contents of both router-LSAs and network-LSAs, and 295 also depends on the type of network segment S (see Sections 12.4.1.1 296 through 12.4.1.5 and Section 12.4.2 of [1]). When helping over a 297 virtual link, the helper must also continue to set bit V in its 298 router-LSA for the virtual link's transit area (Section 12.4.1 of 299 [1]). 301 Also, if X was the Designated Router on network segment S when the 302 helping relationship began, Y maintains X as Designated router until 303 the helping relationship is terminated. 305 3.1. Entering helper mode 307 When a router Y receives a grace-LSA from router X, it enters 308 helper mode for X, on the associated network segment, as long as 309 all the following checks pass: 311 (1) Y currently has a full adjacency with X (neighbor state 312 Full) over the associated network segment. On broadcast, 313 NBMA and Point-to-MultiPoint segments, the neighbor 314 relationship with X is identified by the IP interface 315 address in the body of the grace-LSA (see Appendix A). On 316 all other segment types X is identified by the grace- 317 LSA's Advertising Router field. 319 (2) There have been no changes in content to the link-state 320 database (LS types 1-5,7) since router X restarted. This 321 is determined as follows. Router Y examines the link- 322 state retransmission list for X over the associated 323 network segment. If there are any LSAs with LS types 324 1-5,7 on the list, then they all must be periodic 325 refreshes. If there are instead LSAs on the list whose 326 contents have changed (see Section 3.3 of [8]), Y must 327 refuse to enter helper mode. 329 (3) The grace period has not yet expired. This means that the 330 LS age of the grace-LSA is less than the grace period 331 specified in the body of the grace-LSA (Appendix A). 333 (4) Local policy allows Y to act as the helper for X. 334 Examples of configured policies might be a) never act as 335 helper, b) never allow the grace period to exceed a Time 336 T, c) only help on software reloads/upgrades, or d) never 337 act as a helper for certain specific routers (specified 338 by OSPF Router ID). 340 There is one exception to the above requirements. If Y was 341 already helping X on the associated network segment, the new 342 grace-LSA should be accepted and the grace period should be 343 updated accordingly. 345 Note that Router Y may be helping X on some network segments, 346 and not on others. However, that circumstance will probably lead 347 to the premature termination of X's hitless restart, as Y will 348 not continue to advertise adjacencies on the segments where it 349 is not helping (see Section 2.2). 351 Alternately, Router Y may choose to enter enter helper mode 352 when a grace LSA is received and the above checks pass for all 353 adjacencies with Router X. This implemenation alternative 354 of aggregating the adjacencies with respect to helper mode is 355 compatible with implementations considering each adjacency 356 independently. 358 A single router is allowed to simultaneously serve as a helper 359 for multiple restarting neighbors. 361 3.2. Exiting helper mode 363 Router Y ceases to perform the helper function for its neighbor 364 Router X on a given segment when one of the following events 365 occurs. 367 (1) The grace-LSA originated by X on the segment is flushed. 368 This is the successful termination of hitless restart. 370 (2) The grace-LSA's grace period expires. 372 (3) A change in link-state database contents indicates a 373 network topology change, which forces termination of a 374 hitless restart. Specifically, if router Y installs a 375 new LSA in its database with LS types 1-5,7 and having 376 the following two properties, it should cease helping X. 377 The two properties of the LSA are a) the contents of the 378 LSA have changed; this includes LSAs with no previous 379 link-state database instance and the flushing of LSAs 380 from the database, but excludes periodic LSA refreshes 381 (see Section 3.3 of [8]), and b) the LSA would have 382 been flooded to X, had Y and X been fully adjacent. As an 383 example of the second property, if Y installs a changed 384 AS-external-LSA, it should not terminate a helping 385 relationship with a neighbor belonging to a stub area, as 386 that neighbor would not see the AS-external-LSA in any 387 case. An implementation MAY provide a configuration 388 option to disable link-state database options from 389 terminating hitless restart. Such an option will, 390 however, increase the risk of routing loops and 391 black holes. 393 When Router Y exits helper mode for X on a given network 394 segment, it reoriginates its LSAs based on the current state of 395 its adjacency to Router X over the segment. In detail, Y takes 396 the following actions: (a) Y recalculates the Designated Router 397 for the segment, (b) Y reoriginates its router-LSA for the 398 segment's OSPF area, (c) if Y is Designated Router for the 399 segment, it reoriginates the network-LSA for the segment and (d) 400 if the segment was a virtual link, Y reoriginates its router-LSA 401 for the virtual link's transit area. 403 If Router Y aggregated adjacencies with Router X when 404 entering helper mode (as described in section 3.1), it must also 405 exit helper mode for all adjacencies with Router X when any one 406 of the exit events occurs for of adjacency with Router X. 408 4. Backward compatibility 410 Backward-compatibility with unmodified OSPF routers is an automatic 411 consequence of the functionality documented above. If one or more 412 neighbors of a router requesting hitless restart are unmodified, or 413 if they do not received the grace-LSA, the hitless restart converts 414 to a normal OSPF restart. 416 The unmodified routers will start routing around the restarted 417 router X as it performs initial database synchronization, by 418 reissuing their LSAs with links to X omitted. These LSAs will be 419 interpreted by helper neighbors as a topology change, and by X as an 420 LSA inconsistency, in either case reverting to normal OSPF 421 operation. 423 5. Unplanned outages 425 The hitless restart mechanisms in this memo can be used for 426 unplanned outages. (Examples of unplanned outages include the crash 427 of a router's control software, an unexpected switchover to a 428 redundant control processor, etc). However, implementors and network 429 operators should note that attempting hitless restart from an 430 unplanned outage may not be a good idea, owing to the router's 431 inability to properly prepare for the restart (see Section 2.1). In 432 particular, it seems unlikely that a router could guarantee the 433 sanity of its forwarding table(s) across an unplanned restart. In 434 any event, implementors providing the option to recover hitlessly 435 from unplanned outages must allow a network operator to turn the 436 option off. 438 In contrast to the procedure for planned restart/reloads that was 439 described in Section 2.1, a router attempting hitless restart after 440 an unplanned outage must originate grace-LSAs *after* its control 441 software resumes operation. The following points must be observed 442 during this grace-LSA origination. 444 o The grace-LSAs must be originated and sent *before* the 445 restarted router sends any OSPF Hello Packets. On broadcast 446 networks, this LSA must be flooded to the AllSPFRouters 447 multicast address (224.0.0.5) since the restarting router is 448 not aware of its previous DR state. 450 o The grace-LSAs are encapsulated in Link State Update Packets and 451 sent out all interfaces, even though the restarted router has no 452 adjacencies and no knowledge of previous adjacencies. 454 o To improve the probability that grace-LSAs be delivered, an 455 implementation may send them a number of times (see for example 456 the Robustness Variable in [8]). 458 o The restart reason in the grace-LSAs must be set to unknown(0). 459 This enables the neighbors to decide whether they want to help 460 the router through an unplanned restart. 462 6. Interaction with Traffic Engineering 464 The operation of the Traffic Engineering Extensions to OSPF [4] 465 during OSPF Hitless Restart is specified in [6]. 467 7. Possible Future Work 469 Devise a less conservative algorithm for graceful restart 470 helper termination that provides a comparable level of 471 black hole and routing loop avoidance. 473 Normative References 475 [1] Moy, J., "OSPF Version 2", RFC 2328, April 1998. 477 [2] Coltun, R., "The OSPF Opaque LSA Option", RFC 2370, July 478 1998. 480 Informative References 482 [3] Murphy, S., M. Badger and B. Wellington, "OSPF with Digital 483 Signatures", RFC 2154, June 1997. 485 [4] Katz, D., D. Yeung and K. Kompella, "Traffic Engineering 486 Extensions to OSPF", work in progress. 488 [5] Coltun, R., V. Fuller and P. Murphy, "The OSPF NSSA Option", 489 work in progress. 491 [6] Kompella, K., et. al., "Routing Extensions in Support of 492 Generalized MPLS", work in progress. 494 [7] Moy, J., "Extending OSPF to Support Demand Circuits", RFC 495 1793, April 1995. 497 [8] Fenner, W., "Internet Group Membership Protocol, Version 2", 498 RFC 2236, November 1997. 500 A. Grace-LSA format 502 The grace-LSA is a link-local scoped Opaque-LSA [2] having Opaque 503 Type of 3 and Opaque ID equal to 0. Grace-LSAs are originated by a 504 router that wishes to execute a hitless restart of its OSPF 505 software. A grace-LSA requests that the router's neighbors aid it in 506 its hitless restart by continuing to advertise the router as fully 507 adjacent during a specified grace period. 509 Each grace-LSA has LS age field set to 0 when the LSA is first 510 originated; the current value of LS age then indicates how long ago 511 the restarting router made its request. The body of the LSA is TLV- 512 encoded. The TLV-encoded information includes the length of the 513 grace period, the reason for the hitless restart and, when the 514 grace-LSA is associated with a broadcast, NBMA or Point-to- 515 MultiPoint network segment, the IP interface address of the 516 restarting router. 518 0 1 2 3 519 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 520 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 521 | LS age | Options | 9 | 522 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 523 | 3 | 0 | 524 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 525 | Advertising Router | 526 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 527 | LS sequence number | 528 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 529 | LS checksum | length | 530 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 531 | | 532 +- TLVs -+ 533 | ... | 535 The format of the TLVs within the body of a grace-LSA is the same as 536 the TLV format used by the Traffic Engineering Extensions to OSPF 537 [4]. The TLV header consists of a 16-bit Type field and a 16-bit 538 length field, and is followed by zero or more bytes of value. The 539 length field indicates the length of the value portion in bytes. The 540 value portion is padded to four-octet alignment, but the padding is 541 not included in the length field. For example, a one byte value 542 would have the length field set to 1, and three bytes of padding 543 would be added to the end of the value portion of the TLV. 545 The following is the list of TLVs that can appear in the body of a 546 grace-LSA. 548 o Grace Period (Type=1, length=4). The number of seconds that the 549 router's neighbors should continue to advertise the router as 550 fully adjacent, regardless of the the state of database 551 synchronization between the router and its neighbors. Since this 552 time period began when grace-LSA's LS age was equal to 0, the 553 grace period terminates when either a) the LS age of the grace- 554 LSA exceeds the value of Grace Period or b) the grace-LSA is 555 flushed. See Section 3.2 for other conditions which terminate 556 the grace period. This TLV must always appear in a grace-LSA. 558 o Hitless restart reason (Type=2, length=1). Encodes the reason 559 for the router restart, as one of the following: 0 (unknown), 1 560 (software restart), 2 (software reload/upgrade) or 3 (switch to 561 redundant control processor). This TLV must always appear in a 562 grace-LSA. 564 o IP interface address (Type=3, length=4). The router's IP 565 interface address on the subnet associated with the grace-LSA. 566 Required on broadcast, NBMA and Point-to-MultiPoint segments, 567 where the helper uses the IP interface address to identify the 568 restarting router (see Section 3.1). 570 DoNotAge is never set in a grace-LSA, even if the grace-LSA is 571 flooded over a demand circuit [7]. This is because the grace-LSA's 572 LS age field is used to calculate the extent of the grace period. 574 Grace-LSAs have link-local scope because they only need to be seen 575 by the router's direct neighbors. 577 B. Change Log (To be removed prior to publication) 579 Changes from 02 to 03 version: 581 1. Add Padma Pillay-Esnault and Acee Lindem as authors to help 582 finish up the draft. 584 Changes from 03 to 04 version: 586 1. Add change log (Appendix B). 587 2. Document that the grace period is restricted to 588 LSRefreshTime (Section 2.1). 589 3. Document an alternative to saving cryptographic sequence 590 numbers in non-volatile storage (Section 2.1). 591 4. Document that an implementation may aggregate multiple 592 adjacencies with a restarting router when entering or exiting 593 helper mode (Section 3.1 and 3.2). 594 5. Document that an implementation may disable graceful 595 restart helper termination when the link-state database 596 changes (Section 3.2). 597 6. In the case of an unplanned restart, document that 598 grace LSAs should be flooded to AllSPFRouters on 599 broadcast networks (Section 5). 600 7. Remove MOSPF from future work. Add Vishwas's suggested 601 technique for less conservative helper mode termination as 602 possible future work (Section 7). 603 8. Change references and citations to meet prevailing IETF 604 standards. 606 Security Considerations 608 One of the ways to attack a link-state protocol such as OSPF is to 609 inject false LSAs into, or corrupt existing LSAs in, the link-state 610 database. Injecting a false grace-LSA would allow an attacker to 611 spoof a router that, in reality, has been withdrawn from service. 612 The standard way to prevent such corruption of the link-state 613 database is to secure OSPF protocol exchanges using the 614 Cryptographic authentication specified in [1]. An even stronger 615 way of securing link-state database contents has been proposed in 616 [3]. 618 Authors' Addresses 620 J. Moy 621 Sycamore Networks, Inc. 622 150 Apollo Drive 623 Chelmsford, MA 01824 624 Phone: (978) 367-2505 625 Fax: (978) 256-4203 626 email: jmoy@sycamorenet.com 628 Padma Pillay-Esnault 629 Juniper Networks 630 1194 N, Mathilda Avenue 631 Sunnyvale, CA 94089-1206 632 Email: padma@juniper.net 634 Acee Lindem 635 Redback Networks 636 102 Carric Bend Court 637 Cary, NC 27519 638 Email: acee@redback.com