summaryrefslogtreecommitdiff
path: root/usr.sbin/ospfd
AgeCommit message (Collapse)Author
2010-04-07Remove XXX comment and just close received fd if calloc() fails.Nicholas Marriott
If this happens the imsg may no longer be usable as there may be queued messages, but this is a) already the case with the code now, and b) would be the case if recvmsg() fails anyway, so we can document that -1 from imsg_read() invalidates the struct imsgbuf. discussed with and ok eric
2010-04-02The rtm_errno check which was moved in the last commit should onlyStuart Henderson
be done for rtmsgs (which have an rtm_errno) and not ifmsgs (which have part of an if_data struct in that location). Fixes problems finding interface addresses at startup. ok claudio@
2010-04-01Minor cleanup figured out while syncing kroute with snmpd's.Claudio Jeker
OK dlg@
2010-03-24options must be sorted.Joerg Goltermann
OK: henning@, claudio@
2010-03-06ospfd/ospf6d man page cleanup:Stefan Sperling
Sync description of the OSPF protocol between ospfd(8) and ospf6d(8). Document current shortcomings -- in particular, document that ospf6d(8) needs manual IPsec setup for security. Clean up various grammatical errors, re-order and re-phrase things a bit to improve readability. Update RFC references. Remove IPv4-specific stuff from ospf6d.conf(5). OK jmc@ claudio@
2010-02-23Fix .Oo .Xo .Oc .Xc mis-nesting by just dropping the .Xo and .Xc which,Ingo Schwarze
in these cases, is useless anyway. Found by and fixing the build with mandoc; still fine with both old and new groff. ok jmc@
2010-02-23fetchtable and the kroute dispatch handlers both parse the same messagesDavid Gwynne
in slightly different ways. this unifies these handlers and cuts fetchtable over to using the generic handler. help from claudio@ and sthen@ ok claudio@
2010-02-22dedup some code a bit. rather than have the same code in fetchifs andDavid Gwynne
dispatch_rtmsg, factor the message handling out. both fetchifs and dispatch_rtmsg get a buffer full of messages and then run it through a parser. now they get their buffers and pass it to rtmsg_process. ok claudio@
2010-02-22remove the original fetchtable code and replace it with the newDavid Gwynne
refetchtable. tested by me and sthen@ ok claudio@
2010-02-21Kill double declaration of control_imsg_relay().Michele Marchetto
From Christiano F. Haesbaert. ok claudio@
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@