Statistics
| Branch: | Revision:

iof-bird-daemon / sysdep @ d4eada9e

# Date Author Comment
d4eada9e 12/11/2017 01:05 AM Ondrej Zajicek (work)

NEWS and version update

c99050cc 12/11/2017 12:04 AM Ondrej Zajicek (work)

KRT: Fix bug in multipath handling

cf3e3845 12/10/2017 09:47 PM Ondrej Zajicek (work)

Doc: Documentation update

6b0f5f68 12/10/2017 05:30 PM Maria Jan Matejka

Switchoff for MPLS in kernel.

67a2eb91 12/10/2017 12:18 PM Ondrej Zajicek (work)

Lib: Check size of nets

517d05df 12/08/2017 03:00 PM Ondrej Zajicek (work)

Enable ECMP and Link detection by default

ECMP is not enabled on BSD, where it is not supported by BIRD.

46434a3c 12/07/2017 05:35 PM Ondrej Zajicek (work)

Merge commit '7b2c5f3d2826e3175bf31b1c36056c9efc587a2b' into int-new

4ff15a75 12/07/2017 04:41 PM Ondrej Zajicek (work)

Merge commit '98bb80a243b58c43453e9be69d19d0350286549c' into int-new

cd80c9b0 12/07/2017 01:21 PM Ondrej Zajicek (work)

BSD: Fix in the last commit

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

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

Nest: Update to new timers

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

Timers: Add typecast to unit-converting macros

21f4f0f4 12/07/2017 12:52 PM Ondrej Zajicek (work)

Kernel: Update to new timers

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

7c454d91 12/07/2017 12:44 PM Ondrej Zajicek (work)

BSD: Minor fix of penultimate commit

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

KRT: Minor fix of last commit

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.

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

98bb80a2 09/04/2017 10:02 PM Ondrej Zajicek (work)

KRT: Fix IPv6 ECMP handling with Linux 4.11+

Starting from Linux 4.11, IPv6 ECMP routes are now notified using
RTA_MULTIPATH, like IPv4 ones. The patch adds support for RTA_MULTIPATH
parsing for IPv6 routes. This also enables to parse ECMP alien routes
correctly....

9befc7cc 09/04/2017 08:32 PM Ondrej Zajicek (work)

BSD: Fix alignment issue

Incorrect structure alignment breaks kernel routing table updates on
FreeBSD/ARM (and perhaps other platforms).

Thanks to Eugene Sevastyanov for the original patch.

a1f5e514 07/04/2017 09:36 PM Ondrej Zajicek (work)

Implement onlink flag for nexthops

Add proper support for per-nexthop onlink flag in routes to handle next
hop addresses that are not covered by interface IP ranges. Supported by
kernel and static protocols.

Thanks to Vincent Bernat for the idea.

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'

92a85089 04/29/2017 07:49 PM Ondrej Zajicek (work)

NEWS and version update

b644a490 04/29/2017 04:37 PM Ondrej Zajicek (work)

BSD: Fix address scan on OpenBSD

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

Minor fixes

97e48b6a 04/12/2017 02:04 PM Jan Moskyto Matejka

Adding also our copy of struct rtvia.

54635f43 04/12/2017 02:04 PM Jan Moskyto Matejka

Include local lwtunnel.h unless found in system

bff21441 03/29/2017 02:10 PM Ondrej Zajicek (work)

Netlink: Change default kernel metric to 32

This avoids collisions with non-BIRD routes in kernel tables.

ed610044 03/29/2017 01:55 PM Ondrej Zajicek (work)

Netlink: Better handling of an error case

7074be22 03/28/2017 04:27 PM Ondrej Zajicek (work)

Netlink: Fix device route delete

d1b8fe93 03/28/2017 02:05 PM Ondrej Zajicek (work)

Netlink: Fix bug in RTA_PRIORITY handling

7a855725 03/14/2017 12:53 PM Ondrej Zajicek (work)

Some autoconf cleanups

The patch allows to use autoreconf, replaces some long obsolete
constructs and does some other minor cleanups. Also, the file
configure.in is renamed to configure.ac, as the old name has been
deprecated for a long time.

Thanks to Ruben Kerkhof for the patchset.

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

f6e6c3b5 01/17/2017 12:21 PM Ondrej Zajicek (work)

Fix IP_HDRINCL usage on FreeBSD 11

FreeBSD 11 changed endianity of ip_len field from host order to network
order. Also DragonFly BSD allegedly expects network order here.

Thanks to Olivier Cochard-Labbé for the patch.

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.

5b208e29 12/22/2016 12:09 PM Jan Moskyto Matejka

Removing (struct rta)->cast. Never used.

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

017da76b 12/21/2016 03:46 PM Ondrej Zajicek (work)

NEWS and version update

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

Netlink: fix occasional netlink hangs on busy machines

5546aad2 12/07/2016 06:56 PM Ondrej Zajicek (work)

NEWS and version update

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

7eec3988 11/01/2016 03:20 PM Ondrej Zajicek (work)

BSD: Fix build on OpenBSD broken by previous commit

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.

f51b1f55 09/29/2016 01:06 PM Ondrej Zajicek (work)

NEWS and version update

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

Kernel socket missing err_hook fix

Thanks to Tim Weippert for bugreport.

79e2293a 09/22/2016 11:34 AM Ondrej Zajicek (work)

NEWS and version update

6e75d0d2 09/19/2016 10:29 AM Ondrej Zajicek (work)

KRT: Add krt_scope attribute

Add a new route attribute, krt_scope, to expose the Linux kernel route
scope. Constants from /etc/iproute2/rt_scopes (prefixed by "ips_") are
expected to be used with the attribute. Both import and export are
supported.

Also, the patch fixes device route export to the kernel, by setting link...

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

4adcb9df 09/15/2016 12:59 PM Ondrej Zajicek (work)

KRT: Add kernel metric protocol option

Kernel routes with different metrics do not clash with each other,
therefore using dedicated metric value is a reliable way to avoid
overwriting routes from other sources (e.g. kernel device routes).

Although kernel route metric could already be set as a route attribute by...

2feaa693 09/14/2016 09:53 AM Ondrej Zajicek (work)

KRT: Support for IPv6 ECMP

Linux represents IPv6 ECMP routes as a sequence of unipath routes with
the same prefix. We have to translate between our representation (one
route with multipath next hop) and the Linux representation in both
directions.

Proper learning of alien IPv6 ECMP routes still not supported....

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

a08a81c6 07/20/2016 01:31 PM Ondrej Zajicek (work)

Netlink: Fix build with older headers missing IFA_FLAGS

e37d2e3e 07/20/2016 01:06 PM Ondrej Zajicek (work)

Netlink: Ignore tentative addresses

Ignore tentative IPv6 addresses and wait until finish of Duplicate
Address Detection (We got notification when an address is no longer
tentative) to avoid problems when protocols try to use interfaces
with tentative link-local addresses....

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.

379f9959 05/17/2016 02:19 PM Ondrej Zajicek (work)

BSD: Fix setkey in int-new branch

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

31e9e101 05/10/2016 02:05 PM Stijn Tintel

netlink: update struct msghdr

The netlink code assumes an order for the members of struct msghdr.
This breaks recvmsg and sendmsg with musl libc on mips64. Fix this by
using designated initializers instead.

Signed-off-by: Stijn Tintel <>

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

a8caff32 05/10/2016 12:08 PM Jan Moskyto Matejka

Portability: Fixed C extension error generated by CLang.

sysdep/linux/netlink.c:921:10: error: fields must have a constant size:
'variable length array in structure' extension will never be supported
char buf[128 + KRT_METRICS_MAX*8 + nh_bufsize(a->nexthops)];...

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