Statistics
| Branch: | Revision:

iof-bird-daemon / sysdep / unix @ a63e78c3

# Date Author Comment
a63e78c3 12/18/2017 10:15 PM Ondrej Zajicek (work)

Fix build without limited protocol set

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

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

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

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

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.