Subject: Re: Reg OSPF SPF

From: SUBSCRIBE OSPF vishnuvardhan B <[email-masked]>
Date: Mon, 1 Nov 2004 04:21:51 -0500

Hi,
 I have the following scenario where  two different routers are makeing two
different SPF decisions about the same inter-area route.

             A-----La-------ABR1---Lx---ABR2
                             |\<-L2    /|<-L-3
                             | \      / |
             (Costed out)L1->|  \    /  |
                             |   \  /   |
                             |    \/    |
                             |    /\    |
                             |   /  \   |
                             |  /    \  |
                             | /<-L4  \ |
                            NBR-1    NBR-2

In the above diagram, the links between A and ABR1 and ABR2 (La and Lx)
are in area 0.0.0.0 and all of the other four links (L1, L2, L3, L4)
are in area 0.0.0.6.  The cost of all of the non-backbone links are the
same say (C).

In router A, the path to NBR-1's (non backbone router) loopback address
is being calculated to go through ABR1 (area border router) traversing
link L1 (A->La->ABR1->L1).  When L-1 is costed out A seems to be
calculating the path to NBR-1 via ABR2 (A->La-ABR1->Lx->ABR2->L4).
But. In ABR1, the path to NBR-1 under this L1 costed out scenario is
being calculated via NBR-2 (ABR1->L2->NBR-2->L3->ABR2->L4->NBR-1).

Now, clearly either A or ABR1 is calculating the path wrong under this
costed out scenario.  From what I understand, it is A who is
calculating it wrong.  When A reaches the nearest ABR for the desired
area (which is ABR1), A shouldn't traverse any more backbone links (Lx)
for that route.  A should hand it to the nearest ABR for the desired
area.  ABR1 seems to be doing the right thing by immediately exiting
the backbone even when it has a lower cost path via ABR2 but that would
require traversing a backbone link.

From a network management perspective, the cost to the loopback address
of NBR1 is shown on A to be say C1 (La+Lx+L4). But, when A forwards
traffic destined for NBR1 to ABR1, the traffic actually is incurring a
cost of C2 (La+L2+L3+L4).

And that'a all I have to say about that!

Thanks in advance!!!!

---

From: Roch Guerin <[email-masked]>
Date: Mon, 1 Nov 2004 07:07:50 -0500

I don't think that either router A or ABR1 is doing anything wrong.
They are both operating according to the information available to them
and that they are entitled to use according to the OSPF specs.

Router A hears T3summary from both ABR1 and ABR2 regarding NBR-1 and
given the lower (total) cost associated with ABR2, selects it as the
desired exit point from area 0.0.0.0 with ABR1 as the nexthop.  Now when
packets reach ABR1, they are indeed being hijacked from the path
originally intended by router A and instead of being sent to ABR2 are
sent to NBR-2 (that will then send them to ABR2, which will ultimately
forward them to NBR-1).  This hijacking is perfectly "legal" as ABR1
gives precedence to intra-area routes (through NBR-2)  over inter-area
routes (through ABR2).

There are many cases where this kind of hijacking takes place, either
because of differences between information available at different
routers, e.g., through summarization, or simply because of the fact that
the routing table computation is not purely cost based.

Regards,

Roch