Subject: RE: [OSPF] Detecting changes in pre-restart topology (OSPF gracef ulrestart)

From: "Kandula, Ramesh" <[email-masked]>
Date: Thu, 20 Apr 2006 19:49:52 -1000

Hi Sujay

Below is a sequence of packet exchange between the routers.

RTR2 --> AllSpfRouters (Database Description: RTR1 router-lsa, RTR2
router-lsa (without link to RTR1), grace-lsa)
RTR1 --> AllSpfRouters (Database Description: Nothing)
RTR2 --> AllSpfRouters (Update: RTR2 router-lsa (with link to RTR1))
RTR1 --> AllSpfRouters (Request: RTR1 router-lsa, grace-lsa)
RTR2 --> AllSpfRouters (Update: RTR1 router-lsa, grace-lsa)

The point being when RTR1 never receives the RTR2's router lsa which doesn't
have the link to RTR1. RTR1 recieves only the updated RTR2's router-lsa
which has the link the to RTR1. So RTR1 never detects the change in
topology.

As Ashok mentioned, this is an implementation issue. I wonder if OSPF GR
implemenations handle this correctly.

thanks
ramesh

-----Original Message-----
From: sujay [mailto:[email-masked]]
Sent: Thursday, April 20, 2006 6:56 PM
To: Kandula, Ramesh; [email-masked]
Subject: RE: [OSPF] Detecting changes in pre-restart topology (OSPF
gracefulrestart)

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,

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

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

---

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

hi ramesh,

the problem could be two fold;
RTR1 is not examining the LSA's until grace period expiry .
RTR2 does not send the broken lsa during the adjacency build up.

the first looks like more probable, (as your packet sequence shows 
RTR2 is sending the broken link LSA to RTR1)

as, Ashok had rightly pointed out, it looks as an implementation
issue on the onset.

regds,
sujay

-----Original Message-----
From: Kandula, Ramesh [mailto:[email-masked]] 
Sent: Friday, April 21, 2006 11:20 AM
To: 'sujay'; [email-masked]
Subject: RE: [OSPF] Detecting changes in pre-restart topology (OSPF
gracefulrestart)

Hi Sujay

RTR2 --> AllSpfRouters (Database Description: RTR1 router-lsa, RTR2
router-lsa (without link to RTR1), grace-lsa) RTR1 --> AllSpfRouters
(Database Description: Nothing) RTR2 --> AllSpfRouters (Update: RTR2
router-lsa (with link to RTR1)) RTR1 --> AllSpfRouters (Request: RTR1
router-lsa, grace-lsa) RTR2 --> AllSpfRouters (Update: RTR1 router-lsa,
grace-lsa)

The point being when RTR1 never receives the RTR2's router lsa which
doesn't have the link to RTR1. RTR1 recieves only the updated RTR2's
router-lsa which has the link the to RTR1. So RTR1 never detects the
change in topology.

thanks
ramesh

-----Original Message-----
From: sujay [mailto:[email-masked]]
Sent: Thursday, April 20, 2006 6:56 PM
To: Kandula, Ramesh; [email-masked]
Subject: RE: [OSPF] Detecting changes in pre-restart topology (OSPF
gracefulrestart)

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,

thanks
ramesh