OSPF Non-Stop Forwarding / Graceful Restart
To avoid routing instability, without causing LSA flood & without neighbor adjacency flap

Hackmd Slide: https://hackmd.io/@jason19970210-senao/ospf-nsf

RFC 3623 Graceful OSPF Restart
RFC 5250 The OSPF Opaque LSA Option

roles

  • restarter
  • helper

packet

  • opaque LSAs / Grace-LSAs
    • scope: Link-Local scope (LSA Type 9), only need to be seen by neighbors direct connect to restarter

grace-LSA format

ref: https://www.rfc-editor.org/rfc/rfc3623.html#page-13

The grace-LSA is a link-local scoped Opaque-LSA (RFC 2370), having an Opaque Type of 3 and an Opaque ID as 0.

LSA: link state advertisements

  • LSA type: 9, 10, 11
  • opaque type: 3 (ref)
  • LS Age field set to 0 when LSA is first originated
    • the current value of LS age then indicates how long the restarter made its request

grace-LSA body: TLV-encoded

The format of the TLVs within the body of grace-LSA is the same as the format used by TE (Traffic Engineering extensions) to OSPF

  • Grace Period (Required)
  • Graceful Restart Reason (Required, default: 0 -> Unknown)
  • IP Interface Address
  • DoNotAge: never set in a grace-LSA

ref: http://www.h3c.com/cn/d_200811/618963_30003_0.htm
ref: https://networklessons.com/cisco/ccie-routing-switching-written/ospf-graceful-restart

RFC 2328:OSPF Version 2
RFC 3623:Graceful OSPF Restart
RFC 4811:OSPF Out-of-Band LSDB Resynchronization
RFC 4812:OSPF Restart Signaling
RFC 4813:OSPF Link-Local Signaling