summaryrefslogtreecommitdiff
path: root/usr.sbin/ospf6d
AgeCommit message (Collapse)Author
2019-06-28When system calls indicate an error they return -1, not some arbitraryTheo de Raadt
value < 0. errno is only updated in this case. Change all (most?) callers of syscalls to follow this better, and let's see if this strictness helps us in the future.
2019-06-11Introduce conf_clear_redist_list() (from ospfd) and use it in all 3 procs.remi
ok benno@
2019-05-26Allow specifying area by number as well as id. No changes to outputs.remi
reads OK to kn@ OK denis@
2019-05-10When calculating how much payload ospf6d can put into DD and LSREQ packetsClaudio Jeker
substract the size of the IPv6 header and not the IPv4 header from the MTU. This stops ospf6d to send out fragmented packets. Found with and OK benno@
2019-05-10Delete superfluous #includes of <ifaddrs.h>, <net/if_dl.h>, and <net/if_enc.h>Philip Guenther
ok krw@, jsg@
2019-04-29Check that depend on interfaces are in the same rdomain. If they are notremi
the daemon wouldn't notice state changes for those interfaces. ok benno@
2019-03-25One more TODO entry for reload support: check router-id changesJeremie Courreges-Anglas
ok benno@
2019-02-13(unsigned) means (unsigned int) which on ptrdiff_t or size_t or otherTheo de Raadt
larger types really is a range reduction... Almost any cast to (unsigned) is a bug. ok millert tb benno
2019-01-15For external LSAs the type (1 or 2) is encoded in the metric field. Do notremi
overwrite this when using "redistribute X set type 2 depend on ifX" and ifX is down. Problem reported for ospfd by Igor Podlesny. ok benno@
2019-01-14Improve error message when daemon is already running.Florian Obser
OK millert, deraadt, job
2019-01-02Detect and remove routes in the kernel routing table with priorityremi
RTP_OSPF (or the configured fib-priority) inserted by another program. ospfd does the same. OK claudio@ benno@
2018-12-29Add config option fib-priority to set a custom prio for routes ospf6dremi
inserts into the kernel routing table. OK denis@
2018-12-09Make sure that the prefixlen returned by mask2prefixlen is never biggerremi
than 128. Initially proposed by claudio@ for bgpd. ok claudio@
2018-11-01- odd condition/test in PF lexerAlexandr Nedvedicky
(and other lexers too) This commit rectifies earlier change: in the lex... even inside quotes, a \ followed by space or tab should expand to space or tab, and a \ followed by newline should be ignored (as a line continuation). compatible with the needs of hoststated (which has the most strict quoted string requirements), and ifstated (where one commonly does line continuations in strings). OK deraadt@, OK millert@
2018-10-30ospf6d does not support reloading so its parent proc does not needremi
filesystem access with the exception of the control socket cleanup on exit. ok florian@
2018-09-07replace malloc()+strlcpy() with strndup() in cmdline_symset().miko
"looks good" gilles@ halex@
2018-09-01Prevent ospf6d from starting when another process is listening on theremi
control socket. ok florian@
2018-07-12missing .Ek;Jason McIntyre
2018-07-12Add support for rdomains.remi
small quirk from tb@ ok phessler@
2018-07-12With the "depend on" option routes are sent out with a metric of 65535 ifremi
the referenced interface is down or in state backup. This is especially useful on a carp cluster to ensure all traffic goes to the carp master. ok friehm@ jca@
2018-07-11remove wrong commentremi
ok jca@ tb@
2018-07-11Do for most running out of memory err() what was done for most runningKenneth R Westerback
out of memory log_warn(). i.e. ("%s", __func__) instead of manual function names and redundant verbiage about which wrapper detected the out of memory condition. ok henning@
2018-07-10pledge(2)friehm
Looks great! deraadt@ OK florian OK remi@
2018-07-10If intra area prefixes move from one router to another router, cloning routesfriehm
may become gateway routes and contrary. The kernel does not allow to change the flags RTF_GATEWAY / RTF_CLONING in RTM_CHANGE messages, but ospf6d tried this anyway. The result is a broken route. Instead of modifying such routes remove the old route and insert a new one. Thanks to Raimund Specht for reporting the problem and testing the fix. OK claudio@
2018-07-10Let kroute_matchgw() select the correct route before checking flags.friehm
OK claudio@
2018-07-09Set log_setverbose(1) early to see debug logs during parsing the configremi
but only when -v is used. ok jca@ claudio@
2018-07-09No need to mention which memory allocation entry point failed (malloc,Kenneth R Westerback
calloc or strdup), we just need to log that we ran out of memory in a particular function. Recommended by florian@ and deraadt@ ok benno@ henning@ tb@
2018-07-08Be consistent in warn() and log_warn() usage whenKenneth R Westerback
running out of memory. Next step, be correct *and* consistent. ok dennis@ tb@ benno@ schwarze@
2018-06-18remove the SECTIONS header, since a one line DESCRIPTION is a bit silly;Jason McIntyre
use a more general text for the sections, and avoid the catchup issue that was trying to document how many there were; ok benno rob
2018-06-12Send LSAs with MAX_METRIC for carp interfaces in state backup.remi
This is similar to what ospfd does. ok jca@
2018-06-12Fix resending intra area prefix LSAs on link state or if flag change.remi
ok jca@
2018-06-11Fix an off-by-one line count when using include statements.denis
Thanks to otto@ for the initial diff. OK benno@, remi@
2018-06-10memory leak spotted by claudio@remi
go ahead jca@ OK claudio@
2018-06-10The value for metric of intra area prefix LSAs should be set to:remi
- 0 when referencing Network LSAs - 0 for loopback interfaces - interface output cost for other cases go ahead jca@ OK claudio@
2018-04-26Plug leak in error case of the common 'varset' implementations.Kenneth R Westerback
ok benno@
2018-03-11Increase SO_RCVBUF of the ospf socket to 256k having this buffer can resultClaudio Jeker
in packet loss on busy and big networks and therefor to instability. From camield@
2018-02-22Same change as rev 1.22 in ospfd:Claudio Jeker
The IF_EVT_NBR_CHNG event needs to be fired when a neighbor transitions to a state of 2-Way or higher. There is no need to trigger the event for new neighbors. With this situations with multiple DRs after a netsplit should be solved. OK sthen@ and remi@
2018-02-09Clear the dr and bdr fields of a neighbor when it goes down.Claudio Jeker
Same is done in ospfd for quite a while.
2018-02-08ospf6d mostly only cares about AF_INET6 routesSebastian Benoit
found while investigating routing socket desync with claudio. ok remi jca claudio
2018-02-08Bump the read sockbuf of the routing socket to 2MB, may help reduce some ofClaudio Jeker
the desync cases. OK benno@
2017-11-05Disable config reload, ospf6d just exits on reload with simple setups.Jeremie Courreges-Anglas
And fixing this doesn't appear trivial. Discussed with a bunch at p2k17, ok phessler@ denis@ benno@
2017-11-05Kill dead assignement.Jeremie Courreges-Anglas
2017-08-12bring ospf6d's log.c in sync with ospfd and bgpdSebastian Benoit
ok florian@ claudio@
2017-06-19Import route priority support from ospfd to ospf6d.friehm
Also remove the RTF_UP flag from hdr.rtm_flags in send_rtmsg() since ospfd and bgpd don't set the flag. OK bluhm@ claudio@
2017-05-30Adding multipath route support to ospf6d. Almost copied from ospfd.friehm
OK bluhm@
2017-03-21From a syslog perspective it does not make sense to log fatal andAlexander Bluhm
warn with the same severity. Switch log_warn() to LOG_ERR and keep fatal() at LOG_CRIT. OK reyk@ florian@
2017-01-23copy log.c/h from bgpd.Sebastian Benoit
ok claudio
2017-01-08Replace hand-rolled for(;;) traversal of ctl_conns TAILQ withKenneth R Westerback
TAILQ_FOREACH(). No intentional functional change. ok reyk@
2017-01-05Replace hand-rolled for(;;) emptying of 'symhead' TAILQ with moreKenneth R Westerback
modern TAILQ_FOREACH_SAFE(). No intentional functional change. ok millert@ bluhm@ gilles@
2017-01-05Replace symset()'s hand-rolled for(;;) traversal of 'symhead' TAILQKenneth R Westerback
with more modern TAILQ_FOREACH(). This what symget() was already doing. Add paranoia '{}' around body of symget()'s TAILQ_FOREACH(). No intentional functional change. ok bluhm@ otto@