Statistics
| Branch: | Revision:

iof-bird-daemon / sysdep / unix @ 153f02da

# Date Author Comment
153f02da 12/07/2017 12:06 PM Ondrej Zajicek (work)

Nest: Maintain separate IPv4, IPv6 and LLv6 preferred addresses

Also redesign preferred address selection and update protocols to use
appropriate preferred address.

Based on a previous work by Jan Maria Matejka.

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

Minor cleanups and fixes

5a9169e1 05/18/2017 12:28 PM Ondrej Zajicek (work)

Merge branch 'master' into int-new

78e4dac9 05/18/2017 12:26 PM Ondrej Zajicek (work)

Fix some forgotten warnings

d19617f0 05/17/2017 12:50 PM Ondrej Zajicek (work)

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

05d47bd5 05/16/2017 01:34 PM Jan Moskyto Matejka

Linpool: default allocation size

1c5b4c5d 05/16/2017 12:56 PM Ondrej Zajicek (work)

Merge branch 'master' into int-new

b845ea09 05/16/2017 11:05 AM Ondrej Zajicek (work)

Remove autoconf macros for time_t and alignment

Replaced by constant compile-time expressions. CPU_STRUCT_ALIGN is not
really correct, but is consistent with the old behavior.

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

Minor autoconf cleanup and documentation update

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

Some more autoconf cleanups

Replace integer type width detection with C99 fixed-width types.
Also remove some unused or obsolete code.

Thanks to Ruben Kerkhof for the patchset.

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

525a88d8 05/09/2017 12:48 PM Ondrej Zajicek (work)

Merge branch 'master' into int-new

5d6dc930 05/09/2017 11:45 AM Ondrej Zajicek (work)

Some more autoconf cleanups

Replace integer type width detection with C99 fixed-width types.
Also remove some unused or obsolete code.

Thanks to Ruben Kerkhof for the patchset.

95639d95 05/03/2017 10:56 AM Ondrej Zajicek (work)

Device: Fix option 'primary'

1d213067 04/28/2017 11:24 PM Ondrej Zajicek (work)

Minor fixes

c609d039 02/22/2017 10:58 AM Jan Moskyto Matejka

Merge branch 'int-new' into nexthop-merged

62e64905 02/20/2017 01:26 AM Ondrej Zajicek (work)

Several minor fixes

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

Merge branch 'master' into int-new

d14f8c3c 12/22/2016 08:38 PM Jan Moskyto Matejka

Netlink: MPLS routes in kernel

Anyway, Bird is now capable to insert both MPLS routes and MPLS encap
routes into kernel.

It was (among others) needed to define platform-specific AF_MPLS to 28
as this constant has been assigned in the linux kernel.

No support for BSD now, it may be added in the future.

4e276a89 12/22/2016 12:01 PM Jan Moskyto Matejka

Merged multipath and single-path data structures.

Dropped struct mpnh and mpnh_*()
Now struct nexthop exists, nexthop_*(), and also included struct nexthop
into struct rta.

Also converted RTD_DEVICE and RTD_ROUTER to RTD_UNICAST. If it is needed
to distinguish between these two cases, RTD_DEVICE is equivalent to...

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

9b0a0ba9 11/09/2016 03:36 PM Ondrej Zajicek (work)

Unit Testing for BIRD

- Unit Testing Framework (BirdTest)
- Integration of BirdTest into the BIRD build system
- Tests for several BIRD modules
Based on squashed Pavel Tvrdik's int-test branch, updated for
current int-new branch.
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.

17fe57d8 11/01/2016 10:37 AM Ondrej Zajicek (work)

Log: Fix broken syslog name

BIRD passed string from configuration to openlog(), which kept it
internally. After reconfiguration the old string was freed, therefore
openlog had invalid copy.

Thanks to Chris Caputo for the original patch.

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

Kernel socket missing err_hook fix

Thanks to Tim Weippert for bugreport.

292f7858 09/15/2016 03:30 PM Pavel Tvrdik

Main: Improve BIRD help messages

a290da25 09/15/2016 01:57 PM Pavel Tvrdik

rt-table: Fix kernel protocol export filter memory bug

Kernel protocol calls rt_export_merged(), which used @rte_update_pool for
temporary allocations, supposing it is called from other functions from
rt-table.c that handles locking and flushing of the linpool. Therefore,...

a1839f3c 08/31/2016 12:02 PM Ondrej Zajicek (work)

KRT: Fix trivial error

f9f2e280 08/30/2016 10:43 AM Ondrej Zajicek (work)

KRT: Forbid path merging on BSD

We support ECMP routes only on Linux. Exported routes are checked in
krt_capable(), but a route generated during path merging avoids this
check.

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

whitespace fixes

f0b822a8 07/11/2016 06:22 PM Ondrej Zajicek (work)

Log: Fix error handling of debug file open

Logging is not yet initialized, we have to use fprintf() here.

Thanks to Pavel Tvrdik for noticing and debugging it.

8f01879c 06/27/2016 01:07 PM Pavel Tvrdík

cppcheck: fix va_end() functions

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

92912f06 05/10/2016 12:21 PM Jan Moskyto Matejka

Merge remote-tracking branch 'origin/rte-update' into int-new

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.

2003a184 04/08/2016 11:09 AM Jan Moskyto Matejka

Route update: move table lookup from protocols into rte_update2().

Many protocols do almost the same when creating a rte_update request
before calling rte_update2(). This commit should simplify the protocol
side of the route-creation routine.

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

Merge branch 'master' into int-new-channels

f2ae2bad 04/07/2016 10:39 AM Ondrej Zajicek (work)

Main: Add local option

Add option that changes default paths for config file and control socket
to the current working directory.

4bdf1881 04/07/2016 08:08 AM Jan Moskyto Matejka

Channelize: rt_notify arg conversion table -> channel

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

e86cfd41 04/06/2016 09:46 AM Ondrej Zajicek (work)

KRT: Fix route learn scan when route changed

When a kernel route changed, function krt_learn_scan() noticed that and
replaced the route in internal kernel FIB, but after that, function
krt_learn_prune() failed to propagate the new route to the nest, because...

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.

c2106b67 02/11/2016 08:53 PM Ondrej Zajicek (work)

Unix: Fix bug in syslog name handling

Pointer to current_log_name has to be changed even if the name is the
same, because the old one will be invalid/freed after reconfiguration.

f4a60a9b 02/01/2016 09:28 AM Ondrej Zajicek (work)

Channels - explicit links between protocols and tables

The patch adds support for channels, structures connecting protocols and
tables and handling most interactions between them. The documentation is
missing yet.

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

io.c: fix reads from uninitialized memory

25905219 01/20/2016 03:46 PM Pavel Tvrdík

Add forgotten semicolon

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

Hidden AF_INET* inside sysdep/

04632fd7 12/24/2015 02:56 PM Ondrej Zajicek (work)

Follow-up work on integration

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.

600998fc 12/21/2015 07:28 PM Ondrej Zajicek (work)

Modify FIB_WALK() and FIB_ITERATE() to work with new FIB code

Returned user data pointers have offset relative to fib_node.

0bf95f99 12/21/2015 04:17 PM Ondrej Zajicek (work)

Follow-up work on integration

Contains some patches from Jan Moskyto Matejka

29a64162 12/20/2015 03:58 PM Ondrej Zajicek (work)

KRT: Integration of IPv4/IPv6 in sysdep/linux

9656dce7 12/20/2015 12:04 PM Jan Moskyto Matejka

ROA code switchoff

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

04ae8dda 11/25/2015 01:24 PM Ondrej Zajicek (work)

Merge branch 'master' into int-new

1e4891e4 11/23/2015 10:13 AM Ondrej Zajicek (work)

Nest: Fix bug in device proto

If an interface address notification is received during device protocol
shutdown/restart, BIRD crashed.

Thanks to Wei Huang for the bugreport.

d44e686e 11/12/2015 01:03 AM Ondrej Zajicek (work)

Follow-up commit on integrated BIRD

Use net_addr for interface address prefixes, support net_addr in
configuration parser.

9ddbfbdd 11/11/2015 10:40 AM Jan Moskyto Matejka

Netlink: Allow more than 256 routing tables.

Since 2.6.19, the netlink API defines RTA_TABLE routing attribute to
allow 32-bit routing table IDs. Using this attribute to index routing
tables at Linux, instead of 8-bit rtm_table field.

9b9a7143 11/08/2015 11:42 PM Ondrej Zajicek (work)

Conf: Fixes bug in symbol lookup during reconfiguration

Symbol lookup by cf_find_symbol() not only did the lookup but also added
new void symbols allocated from cfg_mem linpool, which gets broken when
lookups are done outside of config parsing, which may lead to crashes...

fe9f1a6d 11/05/2015 11:48 AM Ondrej Zajicek (work)

Initial commit on integrated BIRD

New data types net_addr and variants (in lib/net.h) describing
network addresses (prefix/pxlen). Modifications of FIB structures
to handle these data types and changing everything to use these
data types instead of prefix/pxlen pairs where possible....

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.

8d9eef17 06/08/2015 12:24 AM Ondrej Zajicek

BGP multipath support

Kernel option 'merge paths' allows to merge routes exported to kernel
protocol (currently BGP and static routes) to multipath routes.

78a2cc28 06/08/2015 12:24 AM Ondrej Zajicek

KRT: Fixes some minor bugs in kernel protocol

ae80a2de 06/08/2015 12:24 AM Pavel Tvrdík

unsigned [int] -> uint

9fdf9d29 05/12/2015 02:42 PM Ondrej Zajicek

KRT: Add support for plenty of kernel route metrics

Linux kernel route metrics (RTA_METRICS netlink route attribute) are
represented and accessible as new route attributes:

krt_mtu, krt_window, krt_rtt, krt_rttvar, krt_sstresh, krt_cwnd, krt_advmss,
krt_reordering, krt_hoplimit, krt_initcwnd, krt_rto_min, krt_initrwnd,...

7069fc9e 04/25/2015 07:41 PM Ondrej Zajicek

KRT: Fixes route reload

Did not really worked

c5ff44a7 04/25/2015 06:43 PM Ondrej Zajicek

KRT: Fixes learning of preferred kernel routes.

When a new route was imported from kernel and chosen as preferred, then
the old best route was propagated as a withdraw to the kernel protocol.
Under some circumstances such withdraw propagated to the BSD kernel could...

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

Fixes port range socket option

9aed29e6 03/29/2015 04:29 PM Ondrej Zajicek

BGP: Enhanced route refresh (RFC 7313) support

Also hook feed_done is renamed to feed_end.

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

2bbc3083 02/21/2015 08:08 PM Ondrej Zajicek

Store protocol config size inside protocol structure

Make proto_config_new() use this info instead of supplied size.

Thanks to Alexander V. Chernikov for the patch.

e598853e 02/21/2015 06:32 PM Pavel Tvrdik

Add const to a param msg at functions log_msg, log_rl, die, bug and debug

4a591d4b 02/21/2015 06:31 PM Pavel Tvrdik

Replacing GNU old-style field designator extension

6f8bbaa1 11/03/2014 09:42 AM Ondrej Zajicek

Fininshing integrated OSPF.

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

Integrated IP functions.