summaryrefslogtreecommitdiff
path: root/sysdep/unix/io.c
AgeCommit message (Collapse)Author
2016-01-27io.c: fix reads from uninitialized memoryPavel Tvrdík
2016-01-11Hidden AF_INET* inside sysdep/Jan Moskyto Matejka
2015-12-22Better fix of missing AF_INET6? definition in lib/socket.hJan Moskyto Matejka
Moved the code to sysdep.
2015-12-19Removed BITS_PER_IP_ADDRESS, MAX_PREFIX_LENGTH, BIRD_AFJan Moskyto Matejka
Explicit setting of AF_INET(6|) in IP socket creation. BFD set to listen on v6, without setting the V6ONLY flag to catch both v4 and v6 traffic. Squashing and minor changes by Ondrej Santiago Zajicek
2015-11-03IO: Fix the previous bugfixOndrej Zajicek (work)
I should check it after making some trivial changes. The original patch from Alexander has it right.
2015-11-03IO: Handle fd values too big for select()Ondrej Zajicek (work)
If the number of sockets is too much for select(), we should at least handle it with proper error messages and reject new sockets instead of breaking the event loop. Thanks to Alexander V. Chernikov for the patch.
2015-04-19Fixes port range socket optionOndrej Zajicek
2015-03-02Fixes bug in debug dumpsOndrej Zajicek
Using 'dump sockets' in IPv6 mode caused crash due to mismatched format string. Thanks to Pavel Tvrdik for noticing it.
2015-03-02Implement latency tracking, internal event log and watchdogOndrej Zajicek
2015-02-22Use IP_PORTRANGE_HIGH for BFD where availableOndrej Zajicek
2014-10-24Integrated IP functions.Ondrej Zajicek
2014-10-02Fixes some warnings.Ondrej Zajicek
2014-06-26Ensures that msg_controllen includes last padding.Ondrej Zajicek
Although RFC 3542 allows both cases, Theo de Raadt thinks he knows better, and msg_controllen without last padding fails on OpenBSD. Thanks to Job Snijders for the bugreport.
2014-05-18IPv4/IPv6 integrated socket code.Ondrej Zajicek
2014-02-06Many changes in I/O and OSPF sockets and packet handling.Ondrej Zajicek
I/O: - BSD: specify src addr on IP sockets by IP_HDRINCL - BSD: specify src addr on UDP sockets by IP_SENDSRCADDR - Linux: specify src addr on IP/UDP sockets by IP_PKTINFO - IPv6: specify src addr on IP/UDP sockets by IPV6_PKTINFO - Alternative SKF_BIND flag for binding to IP address - Allows IP/UDP sockets without tx_hook, on these sockets a packet is discarded when TX queue is full - Use consistently SOL_ for socket layer values. OSPF: - Packet src addr is always explicitly set - Support for secondary addresses in BSD - Dynamic RX/TX buffers - Fixes some minor buffer overruns - Interface option 'tx length' - Names for vlink pseudoifaces (vlinkX) - Vlinks use separate socket for TX - Vlinks do not use fixed associated iface - Fixes TTL for direct unicast packets - Fixes DONTROUTE for OSPF sockets - Use ifa->ifname instead of ifa->iface->name
2013-11-22Merge commit 'origin/bfd'Ondrej Zajicek
2013-11-22Fixes problem with RIP on multiple ifaces on BSD.Ondrej Zajicek
RIP sockets for multiple ifaces collided, because we cannot bind to a specific iface on BSD. Workarounded by SO_REUSEPORT. Thanks to Eugene M. Zheganin for the bugreport.
2013-11-19BFD protocol, ready for release.Ondrej Zajicek
Supports OSPF and BGP and also statically configured sessions.
2013-10-05Fixes some BFD bugs and makes logging thread-safe.Ondrej Zajicek
2013-09-16BFD work in progress.Ondrej Zajicek
Now it compiles and mostly works.
2013-09-10Initial BFD commit, work in progress.Ondrej Zajicek
2013-07-24Fixes header file name.Ondrej Zajicek
Thanks to Fritz Grimpen for the patch.
2013-07-11Some fixes for TTL security.Ondrej Zajicek
2013-06-25Implements TTL security for OSPF and RIP.Ondrej Zajicek
Interfaces for OSPF and RIP could be configured to use (and request) TTL 255 for traffic to direct neighbors. Thanks to Simon Dickhoven for the original patch for RIPng.
2013-06-24Better packet priority and traffic class handling.Ondrej Zajicek
Implements support for IPv6 traffic class, sets higher priority for OSPF and RIP outgoing packets by default and allows to configure ToS/DS/TClass IP header field and the local priority of outgoing packets.
2012-12-26Implements undo command and optional timeout for configurationOndrej Zajicek
Several new configure command variants: configure undo - undo last reconfiguration configure timeout - configure with scheduled undo if not confirmed in timeout configure confirm - confirm last configuration configure check - just parse and validate config file
2012-07-18Rename sk_new() to avoid name collision with OpenSSL.Ondrej Zajicek
2012-04-30Cleanup in sysdep KRT code, part 2.Ondrej Zajicek
Remove support for historic Linux kernels, merge krt-iface, krt-set and krt-scan stub headers.
2012-01-09Some minor fixes.Ondrej Zajicek
2012-01-08Better support for link-local addresses in IO code.Ondrej Zajicek
2011-08-16The generalized TTL security mechanism (RFC 5082) support.Ondrej Zajicek
Thanks to Alexander V. Chernikov for the patch.
2011-03-23Added header file.Ondrej Zajicek
2011-03-13Implements Router Advertisement protocol.Ondrej Zajicek
2010-08-03Ignore warning when BGP peer is unreachable.Ondrej Zajicek
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).