summaryrefslogtreecommitdiffstats
path: root/sysdep/unix/io.c
AgeCommit message (Collapse)Author
2010-07-12Implements proper multihop BGP.Ondrej Zajicek
Also does some incompatible changes to config file syntax, like removing 'via IP' from multihop option.
2010-06-02Implements command that shows memory usage.Ondrej Zajicek
2010-05-21Fixes bug on Linux 2.4.x - kernel sync does not work until restart of kernel ↵Ondrej Zajicek
protocol. Which was, actually, a bug in timers - on older kernel, monotonic timer is missing and the other implementation started with now == 0, which collides with usage 0 as a special value in timer->expires field.
2010-05-14Handle EPIPE as a common connection close event.Ondrej Zajicek
2010-04-14Fixes build on newer Linux systems.Ondrej Zajicek
2010-04-14Fixes IPv6 build on older systems.Ondrej Zajicek
2010-04-08Minor changes.Ondrej Zajicek
2010-04-03Fixes missing header.Ondrej Zajicek
2010-04-02Use SO_BINDTODEVICE also in Linux/IPv6.Ondrej Zajicek
2010-04-02Minor fixes to previous patches.Ondrej Zajicek
2010-03-26Merge branch 'socket2' into newOndrej Zajicek
2010-03-17Adds check for no protocol and some minor CLI fixes.Ondrej Zajicek
- Adds check to deny config file with no specified protocol to prevent loading of empty config file. - Moves CLI init before config parse to receive immediate error message when cannot open control socket. - Fixes socket name path check and other error handling in CLI init.
2010-03-11Merge branch 'new' into socket2Ondrej Zajicek
2010-02-26Many changes in (mainly) kernel syncers.Ondrej Zajicek
- BSD kernel syncer is now self-conscious and can learn alien routes - important bugfix in BSD kernel syncer (crash after protocol restart) - many minor changes and bugfixes in kernel syncers and neighbor cache - direct protocol does not generate host and link local routes - min_scope check is removed, all routes have SCOPE_UNIVERSE by default - also fixes some remaining compiler warnings
2010-02-21Fix configure to enable warnings and fix most of them.Ondrej Zajicek
2010-02-11Fixes a crash caused by missing error hook on BGP listening socket.Ondrej Zajicek
Error happened when too many BGP connections arrived in one moment (ECONNABORTED).
2010-02-11Temporary OSPF commit - socket changes.Ondrej Zajicek
2010-02-03Makes date/time formats configurable.Ondrej Zajicek
2010-01-06BSD compatibility fix.Ondrej Zajicek
2010-01-03Implements MRTdump feature.Ondrej Zajicek
2009-11-09Use IPv6 checksums in OSPFv3.Ondrej Zajicek
2009-11-09Merge branch 'dev' into ospf3Ondrej Zajicek
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-09-04Temporary OSPFv3 development commit (changing multicast support).Ondrej Zajicek
2009-08-27Temporary OSPFv3 development commitOndrej 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-18Implements option that changes BGP listening socket parametres.Ondrej Zajicek
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.
2008-12-12rx_hook may be cleaned in some callback so we check it beforeOndrej Zajicek
executing sk_read().
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-26Implementation of MD5 authentication of BGP sessions.Ondrej Zajicek
2008-08-25Previous patch reverted. :-(Ondrej Filip
2008-08-25Buffer overflow fix.Ondrej Filip
2005-02-15Real 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-12Time added in password management.Ondrej Filip
2004-06-18sk_write bugfix for BSD.Ondrej Filip
2004-06-06Test old instance of BIRD.Ondrej Filip
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-01#ifdef CONFIG_UNIX_DONTROUTE added.Ondrej Filip
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.