Subject: [OSPF] Detecting changes in pre-restart topology (OSPF graceful restart)

From: "Kandula, Ramesh" <[email-masked]>
Date: Thu, 20 Apr 2006 16:11:42 -1000

Hi all,

I have a question about OSPF graceful restart. I am wondering if someone
could help me.

Suppose there are two OSPF routers connected via a P2P link. One of them
(RTR1) supports graceful restart and the other doesn't (RTR2). When RTR1
restarts, RTR2 detects this (from the hello's that RTR1 sends or when RTR2
receives database description packets) and updates it's router lsa (excludes
the link to RTR1). From my understanding of the OSPF graceful restart RFC,
the restarting router is supposed to detect this and exit restart mode. But
how can it be guaranteed that the RTR1 receives this updated RTR2's lsa
(i.e. the one with out the link to RTR1)?

I am observing the following behavior. Of course it may depend on the
implemetation but I am not completely sure. From RTR2' prespective the
adjacency is established as soon as database exchange is done, since RTR1
doesn't have any link state database and thus updates it's own router lsa
(by including the link to RTR1). This updated RTR2's router lsa is flooded
before RTR1 requests for RTR2's router lsa during database exchange. When
RTR1 looks at this new RTR2'r router lsa it doesn't see any change from
pre-restart topology. 

thanks
ramesh

_______________________________________________
OSPF mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/ospf

---

From: Ashok Chandrashekar Holla <[email-masked]>
Date: Fri, 21 Apr 2006 10:20:54 +0530

Hi Ramesh,
The issue here is one of timing and is an implementation quirk. The 
protocol is silent on it.
The helper router can either delay the loadingDone event or send its 
router lsa at the earliest (prior to becoming full and adding the 
restarting router in its router lsa) to ensure that the restarting 
router learns about the non-helper behavior.This is again a best effort 
mechanism since there is no explicit feedback mechanism in GR.
This issue can be resolved by the proposed Exit-Grace TLV in: 
http://www.ietf.org/internet-drafts/draft-holla-ospf-update-graceful-restart-01.txt
(Sorry for the surrogate canvasing :) )

-Ashok

---

From: sujay <[email-masked]>
Date: Fri, 21 Apr 2006 10:26:00 +0530

hi ramesh,

The exit graceful restart criteria should come up well before adjacency
formation.
When RTR1 finds its own self generated lsa having a link to RTR2 but
RTR2
has no backlink to it, it should exit GR.
Further, this catch should come up during the process of building
adjacency,
and not after it.
See section 2.2 (2) of RFC 3623.

regds,
sujay

-----Original Message-----
From: Kandula, Ramesh [mailto:[email-masked]] 
Sent: Friday, April 21, 2006 7:42 AM
To: [email-masked]
Subject: [OSPF] Detecting changes in pre-restart topology (OSPF
gracefulrestart)

Hi all,

Suppose there are two OSPF routers connected via a P2P link. One of them
(RTR1) supports graceful restart and the other doesn't (RTR2). When RTR1
restarts, RTR2 detects this (from the hello's that RTR1 sends or when
RTR2 receives database description packets) and updates it's router lsa
(excludes the link to RTR1). From my understanding of the OSPF graceful
restart RFC, the restarting router is supposed to detect this and exit
restart mode. But how can it be guaranteed that the RTR1 receives this
updated RTR2's lsa (i.e. the one with out the link to RTR1)?

I am observing the following behavior. Of course it may depend on the
implemetation but I am not completely sure. From RTR2' prespective the
adjacency is established as soon as database exchange is done, since
RTR1 doesn't have any link state database and thus updates it's own
router lsa (by including the link to RTR1). This updated RTR2's router
lsa is flooded before RTR1 requests for RTR2's router lsa during
database exchange. When RTR1 looks at this new RTR2'r router lsa it
doesn't see any change from pre-restart topology. 

thanks
ramesh