| Branch: | Revision:

iof-bird-daemon / sysdep / unix @ ae80a2de

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

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.

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.

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.

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

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.

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

Merge branch 'master' into add-path


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.

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.

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.

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.

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.

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

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.

094d2bdb 08/14/2012 02:46 PM Ondrej Zajicek

Implements ADD-PATH extension for BGP.

Allows to send and receive multiple routes for one network by one BGP
session. Also contains necessary core changes to support this (routing
tables accepting several routes for one network from one protocol).
It needs some more cleanup before merging to the master branch.

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

Rename sk_new() to avoid name collision with OpenSSL.

4be266a9 07/18/2012 05:29 PM Ondrej Zajicek

Implements wildcard matching in config file include.

Also fixes some minor bugs in include.

Thanks Kelly Cochran for suggestion and draft patch.

e14bd380 05/03/2012 12:04 PM Ondrej Zajicek

Fixes flushing of device routes.

ab188fb7 05/03/2012 10:25 AM Ondrej Zajicek

Implements build options to specify socket dir and suffix.

7a2c48da 04/30/2012 08:34 PM Ondrej Zajicek

Cleanup in sysdep KRT code, part 3.

Just one more renaming, old krt_set_notify() to krt_replace_rte().

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.

396dfa90 04/30/2012 01:31 PM Ondrej Zajicek

Cleanup in sysdep KRT code, part 1.

OS-dependent functions renamed to be more consistent,
prepared to merge krt-set and krt-scan headers.

Name changes:

struct krt_if_params -> struct kif_params
struct krt_if_status -> struct kif_status
struct krt_set/scan_params -> struct krt_params...

ebecb6f6 04/15/2012 01:28 PM Ondrej Zajicek

Implements generalized import hooks.

Thanks to Alexander V. Chernikov for the original patch.

ae8b3001 04/15/2012 01:15 PM Ondrej Zajicek

Merge commit 'origin/master'

ed7c4b0c 04/09/2012 12:19 PM Ondrej Filip

Small bugfix in error message related to reconfiguration.

bf2abe2f 03/30/2012 09:04 AM Ondrej Zajicek

Merge branch 'soon'


c9df01d3 03/25/2012 05:44 PM Ondrej Zajicek

Fixes several minor bugs in kernel syncer.

9ba2798c 03/23/2012 04:22 PM Ondrej Zajicek

Adds krt_metric linux route attribute.

72aed1a0 03/22/2012 11:26 PM Ondrej Zajicek

Adds krt_source route attribute.

Thanks Jeremie Dimino for the original patch.

df279118 03/19/2012 12:00 PM Ondrej Zajicek

Fixes problem with dirname().

Thanks Henrique de Moraes Holschuh for the original patch.

af582c48 03/18/2012 04:32 PM Ondrej Zajicek

Route Origin Authorization basics.

- ROA tables, which are used as a basic part for RPKI.
- Commands for examining and modifying ROA tables.
- Filter operators based on ROA tables consistent with RFC 6483.
46c1a583 02/03/2012 10:50 AM Ondrej Zajicek

Fixes a bug causing crash during soft reconfiguration of export to kernel proto.

39c028e9 01/24/2012 10:31 AM Ondrej Zajicek

Assign default protocol preference via proto_config_new().

The patch from Alexander V. Chernikov.

09686693 01/23/2012 02:15 AM Ondrej Zajicek

Implements handling of BSD iface arrival/departure notifications.

Thanks to Alexander V. Chernikov for original patch.

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.

a7f23f58 11/06/2011 11:31 PM Ondrej Zajicek

Implements protocol templates.

Based on the patch from Alexander V. Chernikov.
Extended to support almost all protocols.
Uses 'protocol bgp NAME from TEMPLATE { ... }' syntax.

9b7fdfc8 10/09/2011 11:41 PM Ondrej Zajicek

Fixes for include.

32f95476 10/06/2011 08:48 PM Ondrej Zajicek

Signal problems with route installation to kernel tables.

48ec367a 09/11/2011 07:21 PM Ondrej Filip

Configuration can include other files.

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.

beeda6af 07/07/2011 11:14 PM Ondrej Zajicek

Removes timers for stub interfaces. Also fixes some minor bugs.

e8b89a61 05/15/2011 02:29 PM Ondrej Zajicek

Update and document the privilege restriction.

1bc26957 05/10/2011 12:42 AM Ondrej Zajicek

Allows run with restricted privileges.

Adds option -u and -g to specify user and group.
When different user (than root) is specified,
linux capabilities CAP_NET_* are kept.

acc93efd 04/27/2011 10:31 PM Ondrej Zajicek

Use constants from /etc/iproute2/rt_* files.

71ca7716 04/13/2011 10:32 AM Ondrej Zajicek

Adds support for several Linux kernel route attributes.

52a43ae3 03/28/2011 08:46 PM Ondrej Zajicek

Minor changes in addresses.

Mainly changes IA_UNNUMBERED to IA_PEER and adds IA_HOST. Also do not
show broadcast addr in show interfaces. Nobody cares for that.

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.

f25cb0ef 11/11/2010 09:03 AM Ondrej Zajicek

Implements link state detection.

Also changes some symbol names (IFF_ADMIN_DOWN -> IFF_SHUTDOWN,

0d1b3c4c 09/20/2010 11:01 AM Ondrej Zajicek

Changes print-like filter commands to use a log instead of a stderr.

And extends the log subsystem to better handle that.

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

Ignore warning when BGP peer is unreachable.

f038f0a6 07/12/2010 07:39 PM Ondrej Zajicek

Fixes missing check in reconfiguration.

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.

ba321706 04/27/2010 10:39 PM Ondrej Zajicek

Better support for /31 networks.

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.

44d4ab7a 04/07/2010 01:34 PM Ondrej Zajicek

Configurable syslog name.

Also fixes a bug in syslog initialization.

c429d4a4 04/04/2010 01:41 PM Ondrej Zajicek

Restrict export of device routes to the kernel protocol.

In usual configuration, such export is already restricted
with the aid of the direct protocol but there are some
races that can circumvent it. This makes it harder to
break kernel device routes. Also adds an option to...

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.