Subject: Reestablish adjacencies after Graceful-Restart

From: Debopam Bandyopadhyay <[email-masked]>
Date: Mon, 9 May 2005 12:12:30 +0530

This question is a bit long, backdated and maybe, queer. But it is a bit critical for me.
It is regarding RFC 3623 (Graceful OSPF Restart), Section 2.2. "When to Exit Graceful Restart", Point 1 "Router X has reestablished all its adjacencies".

I am trying to identify the corresponding event from RFC 2328 for Router X. Is it one of the following:
a> Upon installation of an LSA in the database [RFC2328, Sec 13.2] [and thereby tracing the database for all the relevant LSAs which indicate the previous adjacencies],
     or
b> State of neighbor Y changing to Full; [and thereby tracing the database ...]
     or
c> Implementation specific

Let me explain this with a simplified example:

            X ----- lan ----- Y

In the topology, we have two routers, X and Y; and Y happens to be the DR in the network segment.

Now Router X restarts. After 'T' seconds, Router X becomes fully adjacent with Router Y.

At this point, three scenarios are possible:
1> X had received all the relevant LSAs (i.e. router-LSAs of X, Y and Network-LSA of Y) BEFORE becoming fully adjacent with Y.
     Hence, the graceful-restart exit event has already been fired BEFORE X became fully adjacent with Y.
2> X had received all the relevant LSAs BEFORE becoming fully adjacent with Y;
     but graceful-restart exit event gets fired EXACTLY when X became fully adjacent with Y.
3> X had completed receiving all the relevant LSAs AFTER becoming fully adjacent with Y;
     Hence, the graceful-restart exit event gets fired sometime AFTER X became fully adjacent with Y.

Thanks,
Debopam

---

From: Acee Lindem <[email-masked]>
Date: Mon, 9 May 2005 08:20:45 -0400

>     Hence, the graceful-restart exit event gets fired sometime AFTER X became fully adjacent with Y.
Hi Depopam,

As stated in RFC 3623 section 2.2, a restarting router uses its 
pre-restart router
LSA to determine whether or not it has re-established all its 
pre-restart adjacencies.
Adjacency formation implies database synchronization and reception of 
all LSAs within
the flooding domain of the router with whom the adjacency is being 
formed. Hence,
 #2 above is the only scenario which makes sense.

Hope this helps,
Acee

---

From: Debopam Bandyopadhyay <[email-masked]>
Date: Tue, 10 May 2005 10:28:59 +0530

Thanks a lot for the help, Acee. It has cleared a major chunk of my design
requirements.
Finally, I have one question related to a hypothetical case (which may be
required for interoperability).

I will go back to the previous example:

            X ----- lan ----- Y

In the topology, we have two routers, X and Y; and Y happens to be the DR in
the network segment.

Now Router X restarts. After 'T' seconds, Router X becomes fully adjacent
with Router Y.  'T is very much less than X's Grace Period.
Let's say, X is unable to trace its pre-restart Router-LSA in its database
(because Y had not sent it during the DD-exchange). So my question is:
1> Would X now exit Graceful-restart at this point, or
2> Would X wait for its pre-restart Router-LSA to be received from Y (in the
form of LS-Updates), until grace period expires; or
3> Would it be implementation dependent?

Thanks,
Debopam

----- Original Message ----- 
From: "Acee Lindem" <[email-masked]>
To: <[email-masked]>
Sent: Monday, May 09, 2005 5:50 PM
Subject: Re: Reestablish adjacencies after Graceful-Restart

Debopam Bandyopadhyay wrote:

>It is regarding RFC 3623 (Graceful OSPF Restart), Section 2.2. "When to
Exit Graceful Restart", Point 1 "Router X has reestablished all its
adjacencies".
>a> Upon installation of an LSA in the database [RFC2328, Sec 13.2] [and
thereby tracing the database for all the relevant LSAs which indicate the
previous adjacencies],
>1> X had received all the relevant LSAs (i.e. router-LSAs of X, Y and
Network-LSA of Y) BEFORE becoming fully adjacent with Y.
Hi Depopam,

Hope this helps,
Acee

---

From: Acee Lindem <[email-masked]>
Date: Tue, 10 May 2005 07:08:05 -0400

Hi Debopam,

>3> Would it be implementation dependent?
While not every scenario is not explicitly documented,  not having a 
pre-restart LSAs and
a full neighbor would be fall into the category of an inconsistent LSA. 
Hence, you should
terminate graceful restart as specified by 2) in section 2.2 of RFC 
3623. Keep in mind,
that a full adjacency implies a complete database exchange.

Hope this helps,
Acee

>>This question is a bit long, backdated and maybe, queer. But it is a bit
>>    
>>
>critical for me.
>  
>
>>I am trying to identify the corresponding event from RFC 2328 for Router X.
>>    
>>
>Is it one of the following:
>  
>
>>b> State of neighbor Y changing to Full; [and thereby tracing the database
>>    
>>
>...]
>  
>
>>    or
>>In the topology, we have two routers, X and Y; and Y happens to be the DR
>>    
>>
>in the network segment.
>  
>
>with Router Y.
>>    Hence, the graceful-restart exit event has already been fired BEFORE X
>>    
>>
>became fully adjacent with Y.
>  
>
>>2> X had received all the relevant LSAs BEFORE becoming fully adjacent with
>>    
>>
>Y;
>  
>
>>    but graceful-restart exit event gets fired EXACTLY when X became fully
>>    
>>
>adjacent with Y.
>  
>
>>3> X had completed receiving all the relevant LSAs AFTER becoming fully
>>    
>>
>adjacent with Y;
>  
>
>>    Hence, the graceful-restart exit event gets fired sometime AFTER X
>>    
>>
>became fully adjacent with Y.
>  
>
>>    
>>
>Hi Depopam,
>

---

From: Debopam Bandyopadhyay <[email-masked]>
Date: Tue, 10 May 2005 16:46:00 +0530

Hi Acee,

Thanks a lot for the help.

Regards,
Debopam

>>In the topology, we have two routers, X and Y; and Y happens to be the DR
in