Age | Commit message (Collapse) | Author |
|
hold about any data you like and is used for things like greaceful
reload. Implement the basic redistribute logic and LSDB handling but
the data sent is currently not looked at.
Tested and OK sthen@
|
|
disturbed me for a long time and makes upcomming work a bit easier.
OK sthen@, phessler@
|
|
used to quickly verify if two LSDBs are in sync. Other systems do the same.
OK dlg@
|
|
this tells the daemon to resync the kernels list of interfaces and routes
with the daemons list. this is very useful if the routing socket overflows
and you want to sync things up again.
lots and lots of help from claudio@
ok claudio@
|
|
inform about the interface address change. If this is an active interface
it will be downed. A ospfctl reload is needed to fetch the new/changed IP
if one got set. OK dlg@, sthen@
|
|
if route-dead-time is set to "minimal" (rather than a number of
seconds), the dead time is set to 1 second and hellos are sent at
the interval specified by fast-hello-interval in msecs. this is non
standard wrt to the ospf rfc, but it does interoperate with at least
one other router vendor.
this allows much better responsiveness to l3 topology changes than
the standard intervals allow. if i yank a cable to one of my
upstreams, the routes adjust in a second rather than the default
of 40 i was running with before. the users dont even notice something
changed.
developed while working with joshua atterbury.
ok claudio@ as part of a larger diff.
dedicated to zan rowe who thinks she is a bigger nerd than me.
|
|
It always annoyed me that in case of a problem I had to restart the ospf in
forground debug mode and by doing so losing all routes at least twice.
OK henning, sthen, michele
|
|
|
|
"looks ok" claudio@
|
|
ok claudio@
|
|
|
|
this plays better with dynamic buffers which are now the norm.
ok by a slightly annoyed claudio@, ok eric@
|
|
though they point to the loopback. Mainly used for redistribute default since
on default free routers we need to have a fake route now.
After discussion with Tonnerre Lombard, idea OK henning@
|
|
this is required to run multiple instances of ospfd.
ok claudio@
|
|
buf/imsg specific code. buf_close() will no force a truncation of the buffer
to the wpos but actually add code in imsg.c to detect and report such silly
behaviour. Makes the buf API a bit more sane.
|
|
buf_left() returns the bytes left in a buffer. This makes the check to
keep MD5_DIGEST_LENGTH bytes unallocated in some messages easier.
From the buf cleanup diff that was OK norby@ and henning@
|
|
summary LSA into stub areas so that these routers are able to reach the
outside of the area.
OK norby@
|
|
makes to code simpler. While the routing table is somewhat simpler the
redistribution code does not allow a much more radical approach. With some
additional help of Mr. Kernel and his rtsock it should be possible to rip
even more code out of kroute.c.
Tested and OK sthen@, gollo@
|
|
of the default summary net lsa on ABRs but that is comming. OK norby@
|
|
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
|
|
|
|
manpage bits from jmc@
ok norby@ claudio@
|
|
interfaces and areas. With this carp setups using ospfd are more reliable
because we can fail over if the OSPF connectivity is (partially) lost.
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@
|
|
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@
|
|
the default route as well. OK norby@, michele@
|
|
Mostly based on a diff by Pierre-Yves Ritschard (I just simplified the parser
code). OK norby@
|
|
address of a interface could be used. Now it is possible to specify a
interface more than once if multiple networks are configured. An alternative
network can be specified via e.g. interface em0:10.0.5.1. The old interface
syntax without the IP still works and uses the main/first configured IP
address.
ospfd now needs to include the IP header on outgoing messages as it is not
possible to specifiy the source address in sendto(2). Additionally all
multicast joins and leaves have to be tracked.
OK norby@
|
|
It is possible to read the uptime of the daemon with the "ospfctl show"
command.
ok claudio@
|
|
routes via "no redistribute rtlabel admin". Redistribute rules are parsed
in order and the first match is used. Only exception is "redistribute default"
Which is independent of the other rules and can't be negated.
|
|
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@
|
|
passed size is not bigger than 2^16 (limit of the used algorithm).
This removes some more lint warnings and makes sense.
|
|
global and per area defaults. With this it is now possible to define one
set of auth-md keys and use them in every defined interface. OK norby@
|
|
auth-type et al. to the main and area blocks. OK norby@
|
|
This makes it much easier to grep in the output.
The original format of "show interface" can be seen with
"show interface detail".
help and ok claudio@
|
|
the code and makes config reloads easier. OK norby@
|
|
c string with a lenght <= 8 with a buffer of size 8. Now in some cases
there can be trailing garbage after the c-string and so the bcmp() fails.
Found by Sergey Matveychuk who provided a similar patch.
OK norby@
|
|
ok claudio@
|
|
Stuff that is only used in ospfd debug messages is simplified.
OK norby@
|
|
unsigned. Found by 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@
|
|
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@
|
|
Displayed in "ospfctl show neighbor".
ok claudio@
|
|
and remove other unneeded functions that are only used in bgpd.
|
|
only calculate the dirty ones.
ok claudio@
|
|
ok claudio@
|
|
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@
|