Patent ID: 8923312

Claim:
A method in a network element for synchronizing dynamic open shortest path first (OSPF) data between an active OSPF instance and a backup OSPF instance, the method comprising the steps of: determining that a first dynamic OSPF data synchronization event has occurred at the active OSPF instance; determining a first set of OSPF synchronization data based on a subset of dynamic OSPF data in the active OSPF instance, wherein dynamic OSPF data includes data generated during the operation of an OSPF router including data from one or more link state databases, data from one or more interface data structures, and data from one or more neighbor data structures, and wherein the subset of dynamic OSPF data is data that needs synchronization to the backup OSPF instance; adding the first set of OSPF synchronization data to a synchronization queue; communicating the first set of OSPF synchronization data from the active OSPF instance to the backup OSPF instance; receiving the first set of OSPF synchronization data at the backup OSPF instance; determining whether a data structure exists in the backup OSPF instance, wherein the data structure is required for the synchronization of the subset of dynamic OSPF data; responsive to the data structure existing, adding the subset of dynamic OSPF data to the data structure, wherein the adding includes at least adding data corresponding to a link state database to that link state database, adding data corresponding to an interface data structure to that interface data structure, and adding data corresponding to a neighbor data structure to that neighbor data structure; removing the first set of OSPF synchronization data from the synchronization queue in response to successful communication of the first set of OSPF synchronization data to the backup OSPF instance; responsive to the data structure not existing, performing the steps of, returning a negative acknowledgement (NACK) to the active OSPF instance to indicate dynamic OSPF data synchronization failed, and clearing dynamic OSPF data from the backup OSPF instance; and responsive to receiving the NACK at the active OSPF instance, performing the steps of, clearing the synchronization queue in response to receiving the NACK, determining that a second dynamic OSPF data synchronization event has occurred, wherein the second dynamic OSPF data synchronization event is the receipt of the NACK, determining a second set of OSPF synchronization data based on dynamic OSPF data in the active OSPF instance, and communicating the second set of OSPF synchronization data to the backup OSPF instance.