summaryrefslogtreecommitdiff
path: root/usr.sbin/ospfd
AgeCommit message (Collapse)Author
2010-02-19oops, remove dead code.David Gwynne
2010-02-19implement ospfctl fib reload.David Gwynne
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@
2010-02-16Pick up RTM_DELADDR and issue an internal IFADDRDEL message to the ospfe toClaudio Jeker
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@
2010-02-16When taking an interface down just try to do the cleanup. In cases whereClaudio Jeker
the interface was removed or when the address changed leaving the multicast groups will fail because that already happend. Fix if_leave_group() to remove the refcount before doing the ioctl() so that the reference is correctly removed. OK dlg@, sthen@
2010-02-16Only merge interfaces that have the same address and netmask. Fixes a bugClaudio Jeker
with reloads when running ospfd on multiple aliases on the same interface. Is also needed to handle interface address changes in a much better way. OK dlg@, sthen@
2010-02-16Clear the DR and BDR addresses in nbr_act_delete(), makes the electionClaudio Jeker
process more reliable after interface flaps. Especially when the router-id changed at the same time. OK dlg@, sthen@
2010-02-16Lets violate the RFC once more. Change the way we map hello packets toClaudio Jeker
neighbors from using the source IP on broadcast interfaces to using the router-id all the time. The interface lookup will already check for matching subnets so there is no conflict possible. This makes ospfd finally grok router-id changes without freaking out. Additionally whinge when an other router is using the same router-id instead of failing in a very horrible way. OK sthen@, dlg@
2010-02-16Don't log the same thing twice. From a much bigger diff.Claudio Jeker
OK dlg@, sthen@
2010-02-16implement support for fast hello packets.David Gwynne
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.
2010-02-16the minimal spf-holdtime and spf-delay is 10 msec, not 50.David Gwynne
pointed out by claudio@ before, somehow it snuck back in.
2010-02-16allow spf-delay and spf-holdtime to be specified in msec so ospfd canDavid Gwynne
better respond to rapid topology changes. developed while working with joshua atterbury ok claudio@ as part of a larger diff.
2010-02-01Fix logic error (&& vs. ||), found while looking for inspiration for smtpdJacek Masiulaniec
state machine needed by the features that are coming along. ok claudio@
2009-12-08porcesses -> processesJonathan Gray
2009-12-02log_warn() consistency.Michael Knudsen
`OK' claudio
2009-11-25document the include supportDavid Gwynne
2009-11-25add support for includeDavid Gwynne
ok claudio@
2009-11-12Add more paranoia in lsa_router_check(). There needs to be at least oneClaudio Jeker
router link in a type-1 LSA.
2009-11-12get_rtr_link and get_net_link are not supposed to fail and returningClaudio Jeker
NULL would be bad. So instead use a fatalx() in that impossible case. After a discussion with deraadt@ because of a parfait warning.
2009-11-11Fix an obvious use after free. Found by parfait. Reported and OK jsg@Claudio Jeker
2009-11-02Implement IMSG_CTL_LOG_VERBOSE to enable or disable debug logging on runtime.Claudio Jeker
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
2009-10-22write UNIX-domain in a more consistent way; while here, replace aIgor Sobrado
few remaining ".Tn UNIX" macros with ".Ux" ones. pointed out by ratchov@, thanks! ok jmc@
2009-10-22use the UNIX-related macros (.At and .Ux) where appropriate.Igor Sobrado
ok jmc@
2009-10-05Until now AS-ext LSA were always announced with the router as nexthop.Claudio Jeker
Change this so that the real nexthop is announced if the following conditions are met: - the nexthop is reachable via an OSPF enabled interface - the interface is a broadcast or NBMA interface It does not make sense to announce the nexthop of a point-to-point link since the traffic has to go through this box anyway. This is closer to what other systems implement.
2009-09-30Oups, these changes should not have been commited. Revert.Claudio Jeker
2009-09-30Announce a stub network LSA for backup carp interfaces. This should helpClaudio Jeker
when fail-over happens, since removing the better route will not result in a blackhole until the update from the new master is processed. Tested, OK and input sthen@, phessler@
2009-09-300xffff -> MAX_METRIC. Idea by sthen@, I like it :)Claudio Jeker
2009-09-30Bring in sync with the bgpd version of carp.c. This fixes a memory leakClaudio Jeker
in an error path.
2009-09-30carp_demote_ioctl() can handle more then +/-1 steps so there is no need toClaudio Jeker
loop in the shutdown case. OK henning@
2009-09-19KNF indentation; no binary changeStuart Henderson
2009-09-19- "stub redistribute default" does not take a "no" option, remove itStuart Henderson
- remove some unnecessary \& escapes ok claudio, jmc
2009-09-15Enclose repeated buffer draining code in a new msgbuf_drain()Jacek Masiulaniec
function, which is additionally exported for use by others. It will be needed by smtpd's SSL module when the SMTP client code is changed to replace libevent's evbuffers with our msgbuf_* API. ok gilles@ henning@ guenther@ eric@
2009-08-09Scale both receive and send buffer on the raw socket. The default 8192Claudio Jeker
bytes is not enough for larger networks causing send errors because of too big packets. OK henning
2009-08-08Make imsg_clear close and free any fds in the received fd queue as well asNicholas Marriott
freeing the msgbuf. While here also remove an unnecessary while loop. ok eric pyr
2009-07-23no need for Xo/Xc when we have very simple list items;Jason McIntyre
2009-07-23make buf_write() behave like msgbuf_write(): send out only theEric Faurot
bytes that were filled, not the whole buffer. ok pyr@ gilles@
2009-07-23Document rdomain keyword, again from stsp@Claudio Jeker
2009-07-23Spelling and comment fixes by stsp@Claudio Jeker
2009-06-08revert this change by eric@:David Gwynne
Make the imsg protocol network-safe. it might be network safe, but half the imsg based daemons on my firewalls dont run anymore.
2009-06-07Change the way fds passed over a socket are retreived on the receiving side.Eric Faurot
Currently the receiver fetches an imsg via imsg_get() and if he expects an fd, he then calls imsg_get_fd() to fetch the next fd queued on the imsgbuf from which the imsg came. This changes hides the fd queueing mechanism to the API user. When closing an imsg with an fd, the message is flagged so that the receiving end knows it must dequeue the fd in imsg_get() and return it with the imsg structure. This way there is no (less) possible screw up from imsg_get_fd() not being called directly after imsg_get() by the user. The retreived imsg is self-contained. ok pyr@, "I like that" henning@
2009-06-07Make the imsg protocol network-safe.Eric Faurot
ok pyr@
2009-06-06change the imsg header fields a bit to prepare for upcoming changes.Eric Faurot
add a flag field, use u_int32_t for pid_t and extend type to 32 bits for padding. ok pyr@
2009-06-06Get ready for including imsg.h from a lib, when it comes along.Pierre-Yves Ritschard
2009-06-06sync ospfctl/ospfd with the common imsg code, making it lib ready as well.Eric Faurot
"looks ok" claudio@
2009-06-06remove unnecessary and scary pid check in imsg_init.Pierre-Yves Ritschard
ok eric@, claudio@
2009-06-05rtm->rtm_hdrlen conversionChris Cappuccio
ok claudio@, henning@
2009-06-05bring buf_write here as well.Pierre-Yves Ritschard
2009-06-05Add an unused data field, to allow smtpd and ypldap to work, all libPierre-Yves Ritschard
ready daemons have NULL diffs now for the imsg files. This field should eventually die a honorable death as it was a design screwup.
2009-06-05bump MAX_IMSGSIZE to 16384, this will make smtpd happy later on.Pierre-Yves Ritschard
2009-06-05make ospfd's imsg lib ready as well.Pierre-Yves Ritschard
ok claudio@
2009-06-05Preliminary rdomain support, all hacked up by reyk@Claudio Jeker