Age | Commit message (Collapse) | Author |
|
better respond to rapid topology changes.
developed while working with joshua atterbury
ok claudio@ as part of a larger diff.
|
|
NULL would be bad. So instead use a fatalx() in that impossible case.
After a discussion with deraadt@ because of a parfait warning.
|
|
summary LSA into stub areas so that these routers are able to reach the
outside of the area.
OK norby@
|
|
|
|
|
|
from the target back and trying to figure the nexthop out, the link is searched
in the interface list and the info from the matiching interface is used.
This should solve the nexthop issues with setups having multiple point-to-point
links between two routers as reported on misc@ some time ago.
tested and OK norby@
|
|
return from the inner loop if the outer loop is not finished -- just break
the inner loop and continue the outside one. In rt_update() nexthops should
not be cleared and freed if the new route is better. This resulted in reset
RIB timers after any calculation run. Instead just mark the nexthop invalid
and go on. Tested and OK pyr@
|
|
manpage bits from jmc@
ok norby@ claudio@
|
|
with d_type DT_NET. Without this directly connected DT_RTRs use the wrong
nexthop and fail to install the as_ext route because the nexthop is not
directly reachable.
|
|
aware. Both the SPF and RIB trees need additional structures to store the
multiple nexthops to the destination but only the first active nexthop is
passed to the parent process and used for routing. This is the next thing
that needs to be modified. Tested and OK pyr@
|
|
|
|
ok claudio@
|
|
the actual LS DB entry is removed. In particular a neighbor may be removed
at any time -- we were lucky because we kept down neighbors around for
another 24h. Reload support unhided this problem again. Just copy the
needed info into the vertex. Pointing to the area is save as the vertex is
part of the area itself and removed when the area is removed.
OK norby@
|
|
|
|
are invalidated. as_ext routes have a uninitalised area id (aka 0.0.0.0) and
so bad stuff happend when area 0.0.0.0 was invalidated. Because of this the
FIB and RIB got out of sync in some scenarios.
|
|
but funnily worked for routers with just one point-to-point link.
Found by Marc Winiger. OK norby@
|
|
ok claudio@
|
|
the code and makes config reloads easier. OK norby@
|
|
that smart. Kill the global rt_invalidate() instead clear only that part of
the RIB that is actually recalculated. OK norby@
|
|
Switch them to void functions and check if evtimer_add/del fails -- in which
case we fatal() as there is no useful way to recover in such an event.
OK norby@
|
|
It is now possible to see the uptime of the individual entries in the RIB.
The uptime can be displayed with "ospfctl show rib"
ok claudio@
|
|
|
|
only calculate the dirty ones.
ok claudio@
|
|
ok claudio@
|
|
ok claudio@
|
|
ok claudio@
|
|
ok claudio@
|
|
ok claudio@
|
|
|
|
|
|
Initial diff by claudio@ reworked by me.
test and ok claudio@
|
|
remains sorted. Tested and OK norby@
|
|
ok henning@
|
|
|
|
a vertex that is already a candidate it is necessary to remove and insert
the candidate otherwise the candidate list is no longer correctly sorted.
OK norby@
|
|
just use ev for the spf_timer -- ev is unused in the RDE.
|
|
routes where not cleared even though the advertising router was no longer
reachable. Same problem has the rt_dump() function that is used for
ospfctl show rib. Tested by me and norby@
OK norby@ deraadt@
|
|
routing table where most entries used the local interface IP as nexthop. This
bug was found by jakob@ and he verified that it fixes his problems. Additional
tests by me and norby@.
OK norby@ deraadt@
|
|
This is still not perfect as on ABRs it is only necessary to
recalculate the area that got changed and not all others too.
More to come but it is a good start. OK norby@
|
|
ones in the candidate list. Be more careful about LS_INFINITY as it is
possible that the cost overflows in the calculation (checking for == is in
some cases wrong). Simplify the code a bit. Tested and OK norby@
|
|
as-ext routes would select a wrong nexthop if the forwarding router is
directly connected. OK, help and debugging norby@
|
|
setups with /32 loopback networks. OK norby@
|
|
|
|
suffered because of this. Normaly seen because they where not added to the rib
or ended up with a bad nexthop.
This is what you get for stealing code from bgpd :(
OK norby@
|
|
|
|
LS_INFINITY. Summary LSA are not touched by the SPF algorithm and so they
got dropped here because the still had a cost of LS_INFINITY.
The calculated routing table starts to make sense now.
OK norby@
|
|
not enough to distinguish between calculated vertexes and those just queued
in the candidate list. So add a additional check if the vertex is on the
candidate list. This fixes a problem Stephen Marley reported some time ago.
OK norby@
|
|
OK norby@
|
|
|
|
|