I had posted earlier in the week regarding some questions about
iBGP, the routing table, and convergence.  Have some more
information and some more detailed questions.

In terms of the design, the network consists of many routers
all running iBGP in a direct mesh or through route reflectors.
OSPF runs under these routers and just carries loopbacks and p2p
networks.  All iBGP route next-hops are use the router's
loopback.

Now, consider three iBGP routers in this network: R1, R2, and E.
R1 and R2 advertise the same set of networks: N1, N2 and N3 via
iBGP.  OSPF advertises R1 and R2's loopbacks and p2p networks.
E is a router on the other side of the network from R1 and R2.

In normal operating mode, one will find the following in router
E's routing table:

N1     -> R1_lo0   (via iBGP)
N2     -> R1_lo0   (via iBGP)
N3     -> R1_lo0   (via iBGP)
R1_lo0 -> e0       (via OSPF)
R2_lo0 -> e0       (via OSPF)

This is as one would expect.

Now, assume R1 goes down.  OSPF quickly informs all networks
that R1 has gone away, including it's loopback.  Interestingly
when I do a show ip route on E1, I see the following:

N1     -> R1_lo0   (via BGP)
N2     -> R1_lo0   (via BGP)
N3     -> R1_lo0   (via BGP)
R2_lo0 -> e0       (via OSPF)

Notice that R1_lo0 is no longer a prefix that E knows how to
get to.  However, the iBGP next-hops continue to reference
R1_lo0 as a next hop.   These routes remain in E until BGP
figures out, via BGP timers, that R1 has gone away.

So, now the questions. 

1) I *assumed* that the routing table process, once removing the
R1_lo0 route, would have also removed any routes dependent on
R1_lo0.  This doesn't seem to be the case.  Apparently, the route
table process waits for BGP to attempt to re-insert its routes
and only at that time does the route table remove the BGP routes
dependent on R1_lo0.  This seems somewhat improper behavior.
Note, this behavior is also verifiable using two static routes
pointing to two different next hops which are added/removed from
OSPF.  

2) I boated around on the cisco web site and found the following
related URL (watch the wrap)

http://www.cisco.com/en/US/tech/tk648/tk365/technologies_tech_note09186a0080094823.shtml

Now it mentions two ways for the routing table to be updated:

* The routing protocol periodically attempts to re-insert it's
best routes into the routing table.  This appears to be the
behavior being observed with BGP above.

* The second approach is where the routing table tracks when a
routing protocol failed to get its route inserted into the
table. The routing protocol is notified when the prefered path
is removed from the route table and the routing protocol's
path is then re-attempted to be inserted.  Now, this is not
exactly the configuration I have, but it's close.  Instead
of being a route learned by two different protocols, I've got
two routes from the same protocol.  I'd like the failed iBGP path
to be removed, iBGP notified, and then have it re-insert the path
to R2.  Is there a way to cause this triggering event to the
same protocol to happen?

3) From what I can tell "no sync" or "sync" in the iBGP config
has no applicability here as the problem above is not related
to the advertising of routes, but rather, it's around having
BGP re-attempt to insert an updated best-path.  Is there a way
to tune the timers on how often BGP attempts to *insert* it's
routes into the routing table?

Thoughts?

Curious if Juniper has the same issue.

Thanks











Message Posted at:
http://www.groupstudy.com/form/read.php?f=7&i=57548&t=57548
--------------------------------------------------
FAQ, list archives, and subscription info: http://www.groupstudy.com/list/cisco.html
Report misconduct and Nondisclosure violations to [EMAIL PROTECTED]

Reply via email to