Patent ID: 7940649

Claim:
An apparatus, comprising: one or more processors; first one or more stored sequences of instructions which, when executed by the one or more processors, cause the one or more processors to perform at least executing a transport protocol process; and second one or more stored sequences of instructions which, when executed by the one or more processors, cause the one or more processors to perform: executing a Border Gateway Protocol (BGP) process that installs one or more routes in a global Routing Information Base (RIB); wherein the global RIB stores routes that are received over a BGP protocol and over one or more route management protocols that are different than the BGP protocol; wherein executing the BGP process comprises: establishing, over a transport protocol session managed by the transport protocol process, a BGP session with a BGP peer process that executes on a network element that is different than the apparatus, wherein establishing the BGP session comprises negotiating a BGP Graceful Restart capability which indicates that the network element is configured to forward packets on routes received from the BGP process for a period of time during which the BGP session is not available; and at the BGP process, receiving the one or more routes from the BGP peer process over the BGP session; at the BGP process, detecting that the transport protocol process has become unavailable, wherein the BGP process has not restarted; after the transport protocol process has become unavailable, marking as stale each of the one or more routes in a local RIB managed by the BGP process; keeping, without changing, the one or more routes in the global RIB even though the transport protocol process has become unavailable; after the transport protocol process has restarted, establishing a new BGP session to the BGP peer process over a new transport protocol session, wherein establishing the new BGP session comprises notifying the BGP peer process that the transport protocol process has restarted; at the BGP process, receiving a first set of routes from the BGP peer process over the new BGP session; and unmarking as stale each route of the one or more routes in the local RIB that is included in the received first set of routes.