| Branch: | Revision:

iof-bird-daemon / sysdep @ 04632fd7

# Date Author Comment
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

23c212e7 12/21/2015 02:33 AM Ondrej Zajicek (work)

Follow-up work on integration

d549b83f 12/20/2015 06:47 PM Ondrej Zajicek (work)

Delete ipv6 option from configure

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


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

9b136840 12/18/2015 07:03 PM Jan Moskyto Matejka

Netlink and BSD: Integrating IPv4 and IPv6

Squashing and minor changes by Ondrej Santiago Zajicek

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

Merge branch 'master' into int-new

ad276157 11/24/2015 01:30 PM Jan Moskyto Matejka

Netlink: attribute validation before parsing

Wanted netlink attributes are defined in a table, specifying
their size and neediness. Removing the long conditions that did the
validation before.

Also parsing IPv4 and IPv6 versions regardless on the IPV6 macro.

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.

fce764f9 11/11/2015 10:46 AM Pavel Tvrdík

Fix compiling with --enable-debug option

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.

acb04cfd 10/17/2015 12:43 PM Ondrej Zajicek (work)

Minor changes

641172c6 07/28/2015 10:36 AM Ondrej Zajicek

Netlink: Fixes uninitialized variable

Thanks to Pavel Tvrdik for the bugfix

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

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

unsgined char -> byte

38e835de 05/13/2015 11:19 AM Ondrej Zajicek

Fix in the last commit

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

90097f4f 04/22/2015 08:53 AM Ondrej Zajicek

KRT: Support for RTM_CHANGE on BSD

deec752e 04/20/2015 10:27 AM Ondrej Zajicek

NEWS and version update

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

Fixes port range socket option

304ac2e8 04/12/2015 08:47 AM Ondrej Zajicek

Minor fixes

16a3254c 03/31/2015 09:59 PM Ondrej Zajicek

Understand IFF_MULTICAST flag on ifaces in Linux

Unfortunately, some interfaces support multicast but do not have
this flag set, so we use it only as a positive hint.

Thanks to Clint Armstrong for noticing the problem.

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

86c3eea0 02/21/2015 08:19 PM Ondrej Zajicek


This value is specified in documentation.

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

ec2194fa 11/05/2014 10:07 AM Ondrej Filip

Version 1.5.0pre

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

Fininshing integrated OSPF.

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

Integrated IP functions.

cfdea7b8 10/05/2014 09:59 PM Ondrej Zajicek

NEWS and version update.

1123e707 10/02/2014 10:52 AM Ondrej Zajicek

Implements token bucket filter for rate limiting.

252c7e4d 10/02/2014 10:52 AM Ondrej Zajicek

Refresh kernel protocol when interface disappears.

When an interface goes down, (Linux) kernel removes routes pointing to
that ifacem but does not send withdraws for them. We rescan the
kernel table to ensure synchronization.

Thanks to Alexander Demenshin for the bugreport.

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

Fixes some warnings.

7c005517 07/09/2014 09:46 PM Ondrej Filip

Version 1.4.4.

029ec22d 07/09/2014 04:34 PM Ondrej Zajicek

Fixes a bug in BSD kernel interfacing code.

The bug was introduced in 05476c4d04a24bdb26fa64e05ab31bc36118f34e.

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.

9eceab33 05/29/2014 09:05 PM Ondrej Zajicek

String constants could be used for string option values.

Thanks to Frederik Kriewitz for the patch.

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

IPv4/IPv6 integrated socket code.

6c6ebd64 04/14/2014 12:47 PM Ondrej Zajicek

NEWS and version update.

538fec7b 04/02/2014 09:00 PM Ondrej Zajicek

NEWS and version update.

60442b16 03/31/2014 04:51 PM Ondrej Zajicek

NEWS and version update.

eb5ea6bd 03/31/2014 11:21 AM Ondrej Zajicek

Fixes build on some old systems.

c980f800 03/24/2014 11:41 AM Ondrej Zajicek

Merge branch 'bgp-grace'

0c791f87 03/20/2014 01:07 PM Ondrej Zajicek

BGP graceful restart support.

Also significant core protocol state changes needed for that,
global graceful restart recovery state and kernel proto support
for recovery.

3216eb03 02/26/2014 11:52 AM Ondrej Zajicek

Fixes longstanding issue with interfaces staying in IF_TMP_DOWN.

Thanks to Pierluigi Rolando and others for the bugreport.

4e398e34 02/07/2014 12:09 PM Ondrej Zajicek

Workaround thread-unsafeness of cli_echo().

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

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

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

283c7dfa 11/25/2013 05:42 PM Ondrej Zajicek

Merge branch 'master' into add-path

e75520c4 11/25/2013 12:46 PM Ondrej Zajicek

NEWS and version update.

90eb5e7a 11/25/2013 12:44 PM Ondrej Zajicek

Use ISO 8601 timeformats by default.

e237b28a 11/25/2013 12:21 AM Ondrej Zajicek

Changes primary addr selection on BSD to respect SIOCGIFADDR ioctl() result.

Thanks to Alexander V. Chernikov for the original patch.

65194bd1 11/23/2013 09:48 PM Ondrej Zajicek

Removes workaround related to import of kernel device routes.

Thanks to Benjamin Cama for notification.

736e143f 11/23/2013 10:50 AM Ondrej Zajicek

Merge branch 'master' into add-path


2b3d52aa 11/23/2013 12:56 AM Ondrej Zajicek

NEWS and version update.

56027b5c 11/22/2013 08:58 PM Ondrej Zajicek

Minor fix in log_commit() w.r.t. changes in BFD branch.

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.

64534ea2 11/21/2013 12:17 PM Ondrej Zajicek

Fixes an issue when opposite address is mistaken for broadcast on ptp ifaces on BSDs.

Thanks to Lex van Roon for the bugreport and to Alexander V. Chernikov
for examining it and locating the problem.

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

BFD protocol, ready for release.

Supports OSPF and BGP and also statically configured sessions.

f8cc7396 10/15/2013 08:57 AM Ondrej Zajicek

Forces KRT rescan on syncer startup with multi syncer config.

Thanks to Sergey Popovich for the patch.

1cd198cf 10/05/2013 08:45 PM Ondrej Filip

Flag -f "run in foreground" added as requested by a package maintainter.

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

Fixes some BFD bugs and makes logging thread-safe.

e7c23802 10/05/2013 05:30 PM Ondrej Zajicek

Implements PID file support.

Thanks to Thierry Fournier for the original patch.

f83ce94d 09/26/2013 03:33 PM Ondrej Zajicek

Fixes missing unregister of kernel table handling code.

And some minor fixes.

Thanks to Sergey Popovich for the patch.

f515e229 09/22/2013 05:15 PM Ondrej Zajicek

Allows other than IA_PEER addresses on PtP ifaces on BSD.

Also fixes a potential problem with link-local dest_addrs
for IA_PEER addresses.

Thanks to Alexander V. Chernikov for the suggestion.

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

BFD work in progress.

Now it compiles and mostly works.

2a0130f9 09/10/2013 11:01 AM Ondrej Zajicek

Fixes a bug in kernel extended attribute processing.

The bug caused that krt_prefsrc attribute was not processed when a route
received from a kernel protocol was exported to another kernel protocol.

Thanks to Sergey Popovich for a bugreport.

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

Initial BFD commit, work in progress.

643228bc 07/26/2013 10:47 PM Ondrej Zajicek

NEWS and version update.

1103b32e 07/25/2013 08:33 PM Ondrej Zajicek

Allows to define constants of all filter types.

508d9360 07/25/2013 11:15 AM Ondrej Zajicek

Implements eval command and minor CLI cleanups.

Implemented eval command can be used to evaluate expressions.

The patch also documents echo command and allows to use log classes
instead of integer as a mask for echo.

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.

c01a9466 07/07/2013 10:11 AM Ondrej Zajicek

Implements multiple routing table support for FreeBSD and OpenBSD.

Inspired by the patch from Alexander V. Chernikov.

c6964c30 07/04/2013 04:02 PM Ondrej Zajicek

Makes krt.c much more readable.

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.

9810d055 05/28/2013 08:44 AM Ondrej Zajicek

Fixes problems with routing table scans on some platforms.

Negative bit shifts are definitely undefined oprations.

a2017200 04/29/2013 08:33 PM Ondrej Zajicek

NEWS and version update.

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

c93c0208 11/16/2012 12:30 PM Ondrej Zajicek

NEWS and version update.

cf98be7b 11/10/2012 01:26 PM Ondrej Zajicek

Allows rejected routes to be kept and examined.

When 'import keep rejected' protocol option is activated, routes
rejected by the import filter are kept in the routing table, but they
are hidden and not propagated to other protocols. It is possible to
examine them using 'show route rejected'.

0343d066 08/29/2012 10:42 AM Ondrej Zajicek

Fixes a bug in primary IP selection.