Age | Commit message (Collapse) | Author |
|
|
|
|
|
Change kroute.c code so that it correctly tracks multipath routes.
Route redistribution is way more complex in a mulitpath environment.
It is not possible to redistribute multiple pathes and only a part of the
multipath routes may be redistributable. So a route is redistributed as soon
as one of the multipath routes is redistributable.
Tested and OK norby@ and pyr@ -- at least we see no regression
|
|
the router LSA so that the change propagates instantly. Call orig_rtr_lsa()
in merge_config() if a interface in an area changes. Do it as late as possible
to reduce the amount of updates generated by a config reload.
Found and tested by Stuart Henderson. OK norby@
|
|
a valid config file again.
|
|
"router" needs to be added before "router-dead-time".
Figured out by Stuart Henderson
|
|
|
|
switch to "stub router yes" if the forwarding sysctl is set to something
differently than 1. This can be overruled by a later "stub router no"
in ospfd.conf. More work is needed here.
OK norby@
|
|
Also modify the fib-update block a bit because "fib-update no" implies
"stub router yes".
OK norby@
|
|
This allows ospfd to announce networks without the need to transit traffic.
stub router is enabled if the fib is not coupled, net.inet.ip.forwarding is
not 1 or if the stub router global config option is set to yes.
OK norby@
|
|
signal "connection closed" upstream.
spotted by Valentin Kozamernik <tin@komna.com>
|
|
some time ago. The simple password needs to be nul extended and is allowed
to fill the full buffer the perfect job for stncpy().
Found and tested by Jon Morby.
|
|
|
|
If no metric was specified for it to DEFAULT_REDIST_METRIC. While this was
checked for the simple case it was not done if only a metric type was
specified. OK pyr@
|
|
so don't unref before calling kroute_remove() or we end up with wrong
reference counts.
|
|
for stuff like RTM_IFINFO or RTM_IFANNOUNCE. So move check to a save location.
Always check rtm_type before accessing some random value inside the route
message.
|
|
Fix by Dustin Lundquist - thank you very much.
ok henning@
|
|
that we can access it safely; ok claudio
in the long term we must deal with the 32/64 bit issues of if_buadrate and
friends
|
|
|
|
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@
|
|
|
|
|
|
all other routers will drop the session immediatly instead of waiting for
the timeout that is normaly 40 sec. This reduces fail-over time massivly
and does not hurt anymore since we are now able to reload the configuration
on the fly. OK norby@ pyr@
|
|
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@
|
|
takes care that redistribution is correct after reload. 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@
|
|
Needed for reload support. OK norby@ 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@
|
|
Needed for reload support. OK norby@
|
|
|
|
|
|
|
|
|
|
metricr -> metric
|
|
is needed for upcomming reload support -- it can happen that a message to
a just deleted neighbor is still pending.
|
|
|
|
handling a bit easier.
|
|
|
|
the default route as well. OK norby@, michele@
|
|
|
|
Found by Armin Wolfermann
|
|
|
|
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@
|
|
|
|
to make them useful. OK norby@
|
|
Mostly based on a diff by Pierre-Yves Ritschard (I just simplified the parser
code). OK norby@
|
|
state, if known by the driver. this is required to check the full
duplex state without depending on the ifmedia ioctl which can't be
called in the kernel without process context.
ok henning@, brad@
|
|
not 6 any more (rtableid added). need to tell sysctl so.
|
|
|