RFC 5187

OSPFv3 Graceful Restart

πŸ“… published June 2008, from ietf

RFC 5187: OSPFv3 Graceful Restart πŸ¦‹

Okay bestie, this is RFC 5187 from the Network Working Group, a Standards Track doc published in June 2008. Padma Pillay-Esnault (Cisco Systems) and Acee Lindem (Redback Networks) wrote it together, and the header doesn't list anything it obsoletes or updates. The whole thing is about how OSPFv3 does graceful restart πŸ’…


Status of This Memo πŸ“œ

Okay so this is an Internet standards track protocol for the whole Internet community, and they literally want people to discuss it and send in suggestions for improvements 🫢 For the current standardization state and status, you check the "Internet Official Protocol Standards" (STD 1) doc. And distribution is unlimited, so share away 🌸

Abstract ✨

So this doc describes OSPFv3 graceful restart. OSPFv3's graceful restart is identical to OSPFv2's, except for the differences written down here πŸ”₯ Those differences include the format of the grace Link State Advertisements (LSAs), plus some other considerations.

Table of Contents πŸ—‚οΈ

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 2
   2.  Grace Link State Advertisement  . . . . . . . . . . . . . . . . 2
     2.1.  Grace LSA - LS Type . . . . . . . . . . . . . . . . . . . . 2
     2.2.  Grace LSA Format  . . . . . . . . . . . . . . . . . . . . . 3
   3.  Additional Considerations for OSPFv3 Graceful Restart . . . . . 4
     3.1.  Preservation of LSA ID to Prefix Correspondence . . . . . . 4
     3.2.  Preservation of Interface IDs for Link-LSAs,
           Network-LSAs, and Router-LSAs . . . . . . . . . . . . . . . 4
   4.  Security Considerations . . . . . . . . . . . . . . . . . . . . 5
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5
   6.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 5
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 5
     7.1.  Normative References  . . . . . . . . . . . . . . . . . . . 5
     7.2.  Informative References  . . . . . . . . . . . . . . . . . . 6

1. Introduction 🧚

Okay so the graceful OSPF restart spec, [GRACE], explains a mechanism for restarting the control plane of an OSPFv2 [OSPFv2] router whose forwarding plane is still intact 🌈 The goal is a minimum of disruption to the network, and it's giving smooth.

Now, the methods in [GRACE] work for OSPFv3 [OSPFv3] too, mostly. The one big difference is that OSPFv3 uses a grace-LSA with a different format to signal that a router is starting (or about to start) a graceful restart. This doc also covers some other OSPFv3 differences πŸ’–

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. These are the official rules-of-language words, so pay attention to them πŸŽ€

So an OSPFv3 router that's starting a graceful restart of its OSPFv3 software originates grace-LSAs. A grace-LSA basically asks the router's neighbors to help out by continuing to advertise the router as fully adjacent during the grace period. It carries the restarting router's grace-period and a reason code for why the restart is happening πŸ’…

Here's the lowkey important bit: in OSPFv3 (see section 2.11 of [OSPFv3]), neighboring routers on any link are always identified by their router IDs. OSPFv2 is different. There, neighbors on point-to-point networks and virtual links are identified by their Router IDs, but neighbors on broadcast, Non-Broadcast Multi-Access (NBMA), and point-to-multipoint links are identified by their IPv4 interface addresses πŸ™ˆ Because of that, there is no requirement for the router-address TLV [GRACE] for OSPFv3 graceful restart. No router-address TLV needed, bestie ✨

The TLV formats of the grace-LSA described in [GRACE] stay exactly the same 🫢

2.1. Grace LSA - LS Type πŸ”’

A grace-LSA is an LSA with the LS type equal to 0x000b, so that's the number you're looking for πŸ¦‹

              LSA function code  LS Type  Description
              ------------------------------------------
              11                 0x000b   GRACE-LSA

                     Grace-LSA Type and Function Code

The S2-bit and S1-bit are set to 0 to indicate link-local flooding scope. The U-bit is set to 0 because it isn't applicable to LSAs with link-local flooding scope. Simple, clean, no notes πŸ’…

2.2. Grace LSA Format 🌸

Here's how a grace LSA is laid out πŸ‘‘

        0                   1                   2                   3
        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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |           LS age              |0|0|0|          11             |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                       Link State ID                           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    Advertising Router                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                    LS sequence number                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |        LS checksum            |            Length             |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                                                               |
       +-                            TLVs                             -+
       |                             ...                               |

                             Grace-LSA Format

The Link State ID of a grace-LSA in OSPFv3 is the Interface ID of the interface that originates the LSA. That's the key detail πŸ”‘

Each TLV is laid out like this:

        0                   1                   2                   3
        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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |              Type             |             Length            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                            Value...                           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                                TLV Format

Grace-LSA TLVs are formatted according to section 2.3.2 of [OSPF-TE]. The TLVs that can show up in the body of a grace-LSA are:

  • Grace Period (Type=1, Length=4). The number of seconds that the router's neighbors should continue to advertise the router as fully adjacent, regardless of the state of database synchronization between the router and its neighbors. This TLV MUST always appear in a grace-LSA. Non-negotiable, bestie πŸ’…
  • Graceful restart reason (Type=2, Length=1). Encodes the reason for the router restart, as one of the following: 0 (unknown), 1 (software restart), 2 (software reload/upgrade), or 3 (switch to redundant control processor). This TLV MUST always appear in a grace-LSA. Yes, also always. It's giving consistency πŸŽ€

okay so the IETF Trust owns the copyright on this one (2008!) πŸŽ€ This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights ✨

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE πŸ™ˆ


Intellectual Property πŸ¦‹

the IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document, or the extent to which any license under such rights might or might not be available. it also doesn't claim that it has made any independent effort to identify any such rights 🧚 info on how rights work for RFC documents lives in BCP 78 and BCP 79, so go check those if you're curious πŸ“š

copies of IPR disclosures made to the IETF Secretariat, and any assurances of licenses to be made available, or the result of an attempt to get a general license or permission for implementers or users to use these proprietary rights, can be found in the IETF online IPR repository at http://www.ietf.org/ipr πŸ’œ

the IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology needed to implement this standard. just send that info to the IETF at ietf-ipr@ietf.org 🫢 bestie, that's the whole vibe πŸ’…

πŸ“¦ where this page comes from