Statistics
| Branch: | Revision:

iof-bird-daemon / sysdep / unix / io.c @ a63e78c3

History | View | Annotate | Download (47.7 KB)

# Date Author Comment
46434a3c 12/07/2017 05:35 PM Ondrej Zajicek (work)

Merge commit '7b2c5f3d2826e3175bf31b1c36056c9efc587a2b' into int-new

a6f79ca5 12/07/2017 12:54 PM Ondrej Zajicek (work)

Timers: Revert temporary names and remove old timer.h

574b2324 12/07/2017 12:53 PM Ondrej Zajicek (work)

Timers: Fix TBF and some last remains

6b5cd7c0 12/07/2017 12:53 PM Ondrej Zajicek (work)

Sysdep: Remove old timer code

ee528fbd 12/07/2017 12:53 PM Ondrej Zajicek (work)

Timers: Add typecast to unit-converting macros

f047271c 12/07/2017 12:49 PM Ondrej Zajicek (work)

Timers: Parse and format functions for microsecond times

Date/time output (e.g. in logs, show commands) can use %f to specify
subsecond time. By default, millisecond precision is used in output.

02552526 12/07/2017 12:49 PM Ondrej Zajicek (work)

Timers: Replace old timers with microsecond timers

The old timer interface is still kept, but implemented by new timers. The
plan is to switch from the old inteface to the new interface, then clean
it up.

28a7d394 12/07/2017 12:46 PM Ondrej Zajicek (work)

Timers: Integrate microsecond timers to the main loop

534215a1 12/07/2017 12:46 PM Ondrej Zajicek (work)

Timers: Split microsecond timers from BFD code to lib

943478b0 09/06/2017 03:38 PM Ondrej Zajicek (work)

Basic VRF support

Add basic VRF (virtual routing and forwarding) support. Protocols can be
associated with VRFs, such protocols will be restricted to interfaces
assigned to the VRF (as reported by Linux kernel) and will use sockets
bound to the VRF. E.g., different multihop BGP instances can use diffent...

734e9fb8 05/23/2017 11:12 AM Ondrej Zajicek (work)

Minor cleanups and fixes

e40542ef 05/16/2017 10:59 AM Ondrej Zajicek (work)

Minor autoconf cleanup and documentation update

fd1f355b 05/09/2017 03:37 PM Ondrej Zajicek (work)

Merge branch 'master' into int-new

71652572 05/09/2017 02:46 PM Ondrej Zajicek (work)

Minor autoconf cleanup and documentation update

c259669f 02/08/2017 01:34 PM Ondrej Zajicek (work)

Merge branch 'master' into int-new

2c33da50 12/20/2016 07:36 PM Jan Moskyto Matejka

Netlink: fix occasional netlink hangs on busy machines

ad88b94b 12/07/2016 02:30 PM Jan Moskyto Matejka

Merge branch 'int-new-rpki-squashed' (early part) into int-new

d15b0b0a 12/07/2016 01:20 PM Ondrej Zajicek (work)

BGP redesign

Integrated and extensible BGP with generalized AFI handling,
support for IPv4+IPv6 AFI and unicast+multicast SAFI.

af62c0f9 12/07/2016 01:15 PM Jan Moskyto Matejka

LibSSH may be switched off together with RPKI

cdbe1def 12/07/2016 08:35 AM Jan Moskyto Matejka

SSH: Commented quirk based on undocumented behavior of LibSSH

65d2a88d 12/07/2016 08:35 AM Pavel Tvrdík

RPKI protocol with one cache server per protocol

The RPKI protocol (RFC 6810) using the RTRLib
(http://rpki.realmv6.org/) that is integrated inside
the BIRD's code.

Implemeted transports are:
- unprotected transport over TCP
- secure transport over SSHv2...

8860e991 11/08/2016 06:27 PM Ondrej Zajicek (work)

Merge branch 'master' into int-new

c8cafc8e 11/08/2016 04:46 PM Ondrej Zajicek (work)

Minor code cleanups

cc5b93f7 11/08/2016 04:04 PM Ondrej Zajicek (work)

Merge tag 'v1.6.2' into int-new

3e236955 11/01/2016 01:52 PM Jan Moskyto Matejka

Build: switch on -Wextra, get rid of most of the warnings

There are several unresolved -Wmissing-field-initializers on older
versions of GCC than 5.1, all of them false positive.

ccd2a3ed 09/29/2016 11:21 AM Jan Moskyto Matejka

Kernel socket missing err_hook fix

Thanks to Tim Weippert for bugreport.

33d22f0e 08/16/2016 07:24 AM Ondřej Surý

whitespace fixes

18c53c45 06/08/2016 03:37 PM Pavel Tvrdik

Fix declaration of shared global variables async_*

In a header file write it with extern keyword. And in one of the *.c
file declare it without extern keyword.

9dbcb11c 05/30/2016 12:28 PM Jan Moskyto Matejka

Unix IO: Tried to fix strange behavior after POLLHUP or POLLERR.

925aa149 05/24/2016 10:12 AM Jan Moskyto Matejka

After-master-merge simple fixes.

BSD lib/setkey.h and lib/sysio.h #include fixes.
OpenBSD's flex needs -o param without space.
V6ONLY for SK_IP fix.

08b3a24d 05/17/2016 01:21 PM Ondrej Zajicek (work)

IO: Minor changes in socket AF handing

AF can be specified implicitly by saddr or daddr, flags SKF_V4ONLY and
SKF_V6ONLY are to be removed.

af678af0 05/12/2016 04:03 PM Ondrej Zajicek (work)

Merge remote-tracking branch 'origin/master' into int-new

286e2011 05/12/2016 02:04 PM Ondrej Zajicek (work)

Miscellaneous minor fixes

8e433d6a 05/12/2016 01:49 PM Pavel Tvrdik

Prog Doc: Complete several missing parameters

0c6dfe52 05/10/2016 12:30 PM Jan Moskyto Matejka

Merge branch 'int-new' into int-new-merged

7152e5ef 05/10/2016 12:07 PM Jan Moskyto Matejka

Build system reworked to one global Makefile with includes and no nesting

Also removed the lib-dir merging with sysdep. Updated #include's
accordingly.

Fixed make doc on recent Debian together with moving generated doc into
objdir.

Moved Makefile.in into root dir...

f7a99acb 05/03/2016 09:02 AM Pavel Tvrdik

Initialize variable ifr in sk_setup()

00:00:00:02.831 2468 Syscall param socketcall.setsockopt(optval) points to uninitialised byte(s)
00:00:00:02.831 2468 at 0x513BDEA: setsockopt (in /usr/lib/libc-2.23.so)
00:00:00:02.831 2468 by 0x45C7AF: sk_setup (io.c:1216)...
a7baa098 04/13/2016 12:37 PM Ondrej Zajicek (work)

BSD: Add the IPsec SA/SP database entries control

Add code for manipulation with TCP-MD5 keys in the IPsec SA/SP database
at FreeBSD systems. Now, BGP MD5 authentication (RFC 2385) keys are
handled automatically on both Linux and FreeBSD.

Based on patches from Pavel Tvrdik.

7a7ac656 04/08/2016 10:28 AM Jan Moskyto Matejka

Merge branch 'master' into int-new-channels

bd22d7f4 04/06/2016 09:57 AM Ondrej Zajicek (work)

IO: Avoid multiple event cycles in one loop cycle.

Event cycle may took too much time and trigger next timer events, so
avoid cycling between timer and event cycles inside the loop cycle.

9e7b3ebd 04/06/2016 09:49 AM Ondrej Zajicek (work)

IO: Replace RX priority heuristic with explicit mark

In BIRD, RX has lower priority than TX with the exception of RX from
control socket. The patch replaces heuristic based on socket type with
explicit mark and uses it for both control socket and BGP session waiting...

ea0a8be2 03/30/2016 02:21 PM Jan Moskyto Matejka

IO/Poll: fix mistaken variable merge

The events variable is used in the short loop decision. The reasons are
not much clear, keeping this to keep the former behaviour.

9c92f692 03/18/2016 10:47 AM Jan Moskyto Matejka

Unix: Substituted select -> poll also in congestion checker

It does strange things when even one fd larger than FD_SETSIZE is
passed to select().

fd926ed4 03/15/2016 01:57 PM Jan Moskyto Matejka

Poll: Prevent the improbable case of EAGAIN after POLLIN

e1c13a5a 03/11/2016 11:45 AM Jan Moskyto Matejka

Unix: Rework of select-loop to poll-loop

This should lift the limit of FD_SETSIZE and allow more than 1024 fd's.
FD_SETSIZE limit doesn't matter now when creating new sockets.

966ca614 01/27/2016 11:41 AM Pavel Tvrdík

io.c: fix reads from uninitialized memory

6ffa8f53 01/11/2016 08:29 AM Jan Moskyto Matejka

Hidden AF_INET* inside sysdep/

70b90dde 12/22/2015 08:45 AM Jan Moskyto Matejka

Better fix of missing AF_INET6? definition in lib/socket.h

Moved the code to sysdep.

d7661fbe 12/19/2015 02:57 PM Jan Moskyto Matejka

Removed BITS_PER_IP_ADDRESS, MAX_PREFIX_LENGTH, BIRD_AF

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

3aed0a6f 11/03/2015 10:27 AM Ondrej Zajicek (work)

IO: Fix the previous bugfix

I should check it after making some trivial changes. The original patch
from Alexander has it right.

338f85ca 11/03/2015 10:08 AM Ondrej Zajicek (work)

IO: Handle fd values too big for select()

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.

b867a87c 04/18/2015 10:31 PM Ondrej Zajicek

Fixes port range socket option

af454f9b 03/02/2015 08:42 AM Ondrej Zajicek

Fixes bug in debug dumps

Using 'dump sockets' in IPv6 mode caused crash due to mismatched format string.

Thanks to Pavel Tvrdik for noticing it.

8bcb5fb1 03/02/2015 08:41 AM Ondrej Zajicek

Implement latency tracking, internal event log and watchdog

9c89560e 02/22/2015 07:14 PM Ondrej Zajicek

Use IP_PORTRANGE_HIGH for BFD where available

88a183c6 10/24/2014 09:11 AM Ondrej Zajicek

Integrated IP functions.

0479b443 10/02/2014 10:52 AM Ondrej Zajicek

Fixes some warnings.

8945f73d 06/26/2014 11:30 AM Ondrej Zajicek

Ensures that msg_controllen includes last padding.

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.

05476c4d 05/18/2014 09:42 AM Ondrej Zajicek

IPv4/IPv6 integrated socket code.

48e5f32d 02/06/2014 04:46 PM Ondrej Zajicek

Many changes in I/O and OSPF sockets and packet handling.

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...

0aeac9cb 11/22/2013 01:48 AM Ondrej Zajicek

Merge commit 'origin/bfd'

8931425d 11/22/2013 01:12 AM Ondrej Zajicek

Fixes problem with RIP on multiple ifaces on BSD.

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.

1ec52253 11/19/2013 09:33 PM Ondrej Zajicek

BFD protocol, ready for release.

Supports OSPF and BGP and also statically configured sessions.

0e175f9f 10/05/2013 06:12 PM Ondrej Zajicek

Fixes some BFD bugs and makes logging thread-safe.

6a8d3f1c 09/16/2013 09:57 PM Ondrej Zajicek

BFD work in progress.

Now it compiles and mostly works.

bf139664 09/10/2013 10:09 AM Ondrej Zajicek

Initial BFD commit, work in progress.

a0b176e3 07/24/2013 12:20 PM Ondrej Zajicek

Fixes header file name.

Thanks to Fritz Grimpen for the patch.

354496ac 07/11/2013 11:50 AM Ondrej Zajicek

Some fixes for TTL security.

70e212f9 06/25/2013 01:39 PM Ondrej Zajicek

Implements TTL security for OSPF and RIP.

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.

ef4a50be 06/24/2013 02:37 PM Ondrej Zajicek

Better packet priority and traffic class handling.

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.

a92cf57d 12/26/2012 11:40 AM Ondrej Zajicek

Implements undo command and optional timeout for configuration

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...

c4b76d7b 07/18/2012 05:35 PM Ondrej Zajicek

Rename sk_new() to avoid name collision with OpenSSL.

f1aceff5 04/30/2012 08:25 PM Ondrej Zajicek

Cleanup in sysdep KRT code, part 2.

Remove support for historic Linux kernels,
merge krt-iface, krt-set and krt-scan stub headers.

d7f469c1 01/09/2012 01:41 AM Ondrej Zajicek

Some minor fixes.

eb1451a3 01/08/2012 02:27 PM Ondrej Zajicek

Better support for link-local addresses in IO code.

b1b19433 08/16/2011 09:13 PM Ondrej Zajicek

The generalized TTL security mechanism (RFC 5082) support.

Thanks to Alexander V. Chernikov for the patch.

d0e9b36d 03/23/2011 04:15 PM Ondrej Zajicek

Added header file.

93e868c7 03/13/2011 10:33 AM Ondrej Zajicek

Implements Router Advertisement protocol.

f428631c 08/02/2010 11:12 PM Ondrej Zajicek

Ignore warning when BGP peer is unreachable.

9be9a264 07/12/2010 03:39 PM Ondrej Zajicek

Implements proper multihop BGP.

Also does some incompatible changes to config file syntax,
like removing 'via IP' from multihop option.

acb60628 06/02/2010 08:20 PM Ondrej Zajicek

Implements command that shows memory usage.

002b6423 05/21/2010 10:00 AM Ondrej Zajicek

Fixes bug on Linux 2.4.x - kernel sync does not work until restart of kernel 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.

47597724 05/14/2010 02:54 PM Ondrej Zajicek

Handle EPIPE as a common connection close event.

607d9914 04/14/2010 01:35 PM Ondrej Zajicek

Fixes build on newer Linux systems.

dcc60494 04/14/2010 12:46 PM Ondrej Zajicek

Fixes IPv6 build on older systems.

646b24d9 04/08/2010 03:45 PM Ondrej Zajicek

Minor changes.

46a82e9c 04/03/2010 08:45 AM Ondrej Zajicek

Fixes missing header.

e7b09e4a 04/02/2010 02:11 PM Ondrej Zajicek

Use SO_BINDTODEVICE also in Linux/IPv6.

bed41728 04/02/2010 09:31 AM Ondrej Zajicek

Minor fixes to previous patches.

eb0f129f 03/26/2010 05:53 PM Ondrej Zajicek

Merge branch 'socket2' into new

97e46d28 03/17/2010 11:19 AM Ondrej Zajicek

Adds check for no protocol and some minor CLI fixes.

- 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....

54305181 03/11/2010 05:55 PM Ondrej Zajicek

Merge branch 'new' into socket2

ff2857b0 02/26/2010 09:55 AM Ondrej Zajicek

Many changes in (mainly) kernel syncers.

- 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...

e81b440f 02/21/2010 01:34 PM Ondrej Zajicek

Fix configure to enable warnings and fix most of them.

2af25a97 02/11/2010 10:12 AM Ondrej Zajicek

Fixes a crash caused by missing error hook on BGP listening socket.

Error happened when too many BGP connections arrived in one moment
(ECONNABORTED).

353729f5 02/11/2010 09:23 AM Ondrej Zajicek

Temporary OSPF commit - socket changes.

c37e7851 02/02/2010 11:19 PM Ondrej Zajicek

Makes date/time formats configurable.

861f223a 01/06/2010 10:20 PM Ondrej Zajicek

BSD compatibility fix.

cf31112f 01/03/2010 11:17 AM Ondrej Zajicek

Implements MRTdump feature.

4ac7c834 11/09/2009 10:22 PM Ondrej Zajicek

Use IPv6 checksums in OSPFv3.