summaryrefslogtreecommitdiff
path: root/sysdep/unix
AgeCommit message (Collapse)Author
2009-10-11Workaround for stupid callback scheduler.Ondrej Zajicek
There is no reak callback scheduler and previous behavior causes bad things during hard congestion (like BGP hold timeouts). Smart callback scheduler is still missing, but main loop was changed such that it first processes all tx callbacks (which are fast enough) (but max 4* per socket) + rx callbacks for CLI, and in the second phase it processes one rx callback per socket up to four sockets (as rx callback can be slow when there are too many protocols, because route redistribution is done synchronously inside rx callback). If there is event callback ready, second phase is skipped in 90% of iterations (to speed up CLI during congestion).
2009-09-04Clear memory allocated by ralloc().Ondrej Zajicek
This also fixes bug that timer->recurrent was not cleared in tm_new() and unexpected recurrence of startup timer in BGP confused state machine and caused crash.
2009-07-14Fixes bug in CLI TX buffer management.Ondrej Zajicek
2009-06-26Fixes bug on TCP passive socket binding on BSD.Ondrej Zajicek
BGP on BSD was bound to random port. I am surprised that nobody noticed it already.
2009-06-25Minor bugfix.Ondrej Zajicek
2009-06-20Fixes bug in scheduling of callback by main loop.Ondrej Zajicek
If other side of a socket is sending data faster than BIRD is processing, BIRD does not schedule any other callbacks (events, timers, rx/tx callbacks).
2009-06-19Adds support for soft reconfiguration.Ondrej Zajicek
2009-06-18Implements option that changes BGP listening socket parametres.Ondrej Zajicek
2009-06-01The pipe cleanup.Ondrej Zajicek
2009-05-31Changes pipes to transfer all routes between routing table, not just optimal ↵Ondrej Zajicek
routes.
2009-05-29Implements primary address selection base on 'primary' option.Ondrej Zajicek
2009-05-29Add 'primary' configuration option.Ondrej Zajicek
2009-05-11OpenBSD port related changes.Ondrej Filip
2009-05-04Linux specific TCP-MD5 handling moved to sysdep/linux/sysio.hOndrej Filip
FreeBSD coded added. BSD cannot set BGP passwords itself. This has to be done by external command.
2009-05-04Syntax error fix for systems without CONFIG_SELF_CONSCIOUS (KRT_ALLOW_LEARN)Ondrej Filip
2009-03-20Fix bugs related to kernel table synchronization.Ondrej Zajicek
KRF_INSTALLED flag was not cleared during reconfiguration that lead to not removing routes during reconfigure when export rules changed. We also should not try to remove routes we didi not installed, on Linux this leads to warnings (as kernel checks route source field and do not allow to remove non-bird routes) but we should not rely on it.
2009-02-26Rate limit for most abundant log messagesOndrej Zajicek
2008-12-12rx_hook may be cleaned in some callback so we check it beforeOndrej Zajicek
executing sk_read().
2008-11-21Fixes segfault with multiple routing tables.Ondrej Zajicek
2008-11-21This is bug, isn't it?Ondrej Zajicek
2008-11-05Fix problem with local time changes.Ondrej Zajicek
2008-11-05Fixes bugs in IPv6 code caused by recent commits.Ondrej Zajicek
2008-11-01Multihop BGP was completely broken, because listening socket has alwaysOndrej Zajicek
ttl 1.
2008-10-27Merge branch 'dev' into outOndrej Zajicek
2008-10-26Check of socket name lengthOndrej Zajicek
2008-10-26Bugfix for routing table breaking bug.Ondrej Zajicek
Here is a patch fixing a bug that causes breakage of a local routing table during shutdown of Bird. The problem was caused by shutdown of 'device' protocol before shutdown of 'kernel' protocol. When 'device' protocol went down, the route (with local network prefix) From different protocol (BGP or OSPF) became preferred and installed to the kernel routing table. Such routes were broken (like 192.168.1.0/24 via 192.168.1.2). I think it is also the cause of problem reported by Martin Kraus. The patch disables updating of kernel routing table during shutdown of Bird. I am not sure whether this is the best way to fix it, I would prefer to forbid 'kernel' protocol to overwrite routes with 'proto kernel'. The patch also fixes a problem that during shutdown sometimes routes created by Bird remained in the kernel routing table.
2008-10-26Implementation of MD5 authentication of BGP sessions.Ondrej Zajicek
2008-08-25Previous patch reverted. :-(Ondrej Filip
2008-08-25Buffer overflow fix.Ondrej Filip
2008-08-25Fix behavior of ipa_opposite().Martin Mares
It was giving wrong results on /30 networks.
2008-08-24Close fd of config file after reconfiguration.Ondrej Filip
2007-06-20Detach from the TTY properly.Martin Mares
2005-02-14Real write is only in sk_maybe_write. Previous change partially reverted.Ondrej Filip
Thank you MJ.
2005-02-14Added s->err_hook wrapper that empties socket.Ondrej Filip
2005-02-14Small changed to reduce the number of warnings.Ondrej Filip
2005-02-12Time added in password management.Ondrej Filip
2004-06-18sk_write bugfix for BSD.Ondrej Filip
2004-06-07Used parameter can be marked as unused. :-) Thanx MJ.Ondrej Filip
2004-06-07Marked unused parameters as unused.Ondrej Filip
2004-06-06Test old instance of BIRD.Ondrej Filip
2004-06-05Marked unused parameters in sysdep code as such.Martin Mares
2004-06-05Renamed log() to log_msg(), but still keeping the old name as a macro.Martin Mares
This is done to avoid clashes with gcc-3.3 which has built-in logarithms :)
2004-06-05Cleaned up sk_reallocate() and friends.Martin Mares
Also, removed the `if (s)' test, because I believe that as the whole socket interface doesn't accent NULL pointers, sk_reallocate() shouldn't be the only exception.
2004-06-04OSPF is ready for changing MTU.Ondrej Filip
2004-06-03CONFIG_SKIP_MC_BIND added.Ondrej Filip
BSD hates it, Linux needs it.
2004-06-02Deleted useless rfree. (Socked was freed by cli_free())Ondrej Filip
2004-06-01#ifdef CONFIG_UNIX_DONTROUTE added.Ondrej Filip
2004-05-31Move CLI socket to the newly created CLI's pool.Martin Mares
(thanks to Andreas for the original idea)
2004-05-31Rewritten the I/O loop. All socket operations are now safe, meaning thatMartin Mares
you can delete the socket from anywhere in the hooks and nothing should break. Also, the receive/transmit buffers are now regular xmalloc()'ed buffers, not separate resources which would need shuffling around between pools. sk_close() is gone, use rfree() instead.
2004-05-31Fix handling on full pipe to client in bird. Prevent packet overflowsMartin Mares
for even only medium sized route table output. Fix a strange garbled output problem in the client. The latter seems to be caused by some library doing tcflush while there is still command output pending. So the best fix here is to do fflush and then tcdrain. Note that this problem occurs only under certain load situations and is not too easy to reproduce. (by Andreas)