Age | Commit message (Collapse) | Author |
|
|
|
flag that we set). So introduce a area_ospf_options() function that will
return the correct flags for each area. This makes stub area support a lot
easier.
OK norby@
|
|
|
|
Send all possible nexthops to the parent process and correctly sync
the RIB, FIB and kernel routing table. Based on initial work by pyr@.
OK pyr@ norby@
PS: don't forget that you need to enable multipath support via a sysctl
|
|
and hides the real cause of the termination.
OK norby@, reyk@, pyr@
|
|
manpage bits from jmc@
ok norby@ claudio@
|
|
children like in bgpd so that ``pkill -1 ospfd'' works as expected.
ok claudio@
|
|
so there is no need to loop over the nexthops and we no longer need to
pass the rt_nexthop to the summary LSA generation (a flag is enough).
OK norby@ pyr@
|
|
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@
|
|
ASBR router ID. Using the avertising router for this only works for intra-
area routes but fails horribly for inter-area ones. Luckily RIB router entries
use the router ID as prefix so just use that instead -- this simplifies the
code nicly. Figured out the hardway by pyr@. Tested and OK pyr@
|
|
Inter-area routes are already comming from the backbone so readding them
is wrong.
OK norby@
|
|
|
|
and scan all available areas in that case -- the only case when this may
happen is for self announced AS-ext LSA. This solves a crash when
redistributed routes were removed shortly after startup.
OK norby@
|
|
|
|
|
|
after fixing many use-after-free errors a couple of days ago.
Most cases -- adding/removing of interfaces, adding/removing of areas --
seem to work. Still merge_config() is a behemoth of a function and some
edge cases may not be covered correctly (yet).
OK norby@ pyr@
|
|
rde_asext_put(). Just try to remove the as-ext LSA, if the prefix is
announced as stub net LSA lsa_find() will fail later and nothing will
happen. OK norby@ pyr@
|
|
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@
|
|
|
|
|
|
is needed for upcomming reload support -- it can happen that a message to
a just deleted neighbor is still pending.
|
|
handling a bit easier.
|
|
|
|
dereference in rde_summary_update(). Even though we merge in the new LSA
it may be suppressed because the remove happened less than 5 seconds ago.
So the second lsa_find() is still unable to locate the LSA and in this case
we may not access v->cost. Additionally only remove not yet deleted LSA
in lsa_remove_invalid_sums(), removing already removed entries removes also
the suppressed LSAs.
Problem found and fix tested by Pierre-Yves Ritschard. OK norby@
|
|
Mostly based on a diff by Pierre-Yves Ritschard (I just simplified the parser
code). OK norby@
|
|
It is possible to read the uptime of the daemon with the "ospfctl show"
command.
ok claudio@
|
|
define which routes should be redistributed via OSPF. So now you can
define the export list on a fine graded basis. More to come... OK norby@
|
|
routes do not cause a update storm. OK norby@
|
|
the code and makes config reloads easier. OK norby@
|
|
help lint.
|
|
|
|
is known via kernel and ospf. If the kernel route is removed the ospf one
was not added to the FIB. This is an uncommon event so it is OK to request
an update from the RIB in this case.
Additionally ospfd treated bgpd inserted routes like static routes. This
is wrong because IGP routes habe a higher preference over EGP routes. In
this case a bgpd route needs to be overridden by a ospfd one.
With these to fixes bgpd and ospfd start to play nicely together.
OK norby@
|
|
|
|
and remove other unneeded functions that are only used in bgpd.
|
|
|
|
resulted in a major bottleneck if bgpd was used on the same box -- not clever
to do linear searches over 175k entries :(. This now moves the redistribute
code back into kroute duty and kills the linear list. Also default routes are
now redistributed without the need for a kernel default route.
OK norby@
|
|
ok claudio@
|
|
|
|
log_debug() messages. OK norby@
|
|
just use ev for the spf_timer -- ev is unused in the RDE.
|
|
|
|
|
|
session drops happend while booting up. If a router is conected to a other
router over two different interface one session will be unable to load until
the other one is in state FULL. ospfd no longer issues a BAD_LS_REQ event
if the LSA is equal to the one in table but if the sent lsa is older a
BAD_LS_REQ event is still issued. OK norby@
|
|
lsa_add() was called (which is just one specific case of many)
OK norby@
|
|
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@
|
|
|
|
This makes it possible to have ospfd(8) parse a configuration file and
display the parsed result.
ok claudio@
|
|
|
|
|