| Branch: | Revision:

iof-bird-daemon / sysdep / bsd @ 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.

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

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.

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

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

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.

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

Kernel socket missing err_hook fix

Thanks to Tim Weippert for bugreport.

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

af678af0 05/12/2016 04:03 PM Ondrej Zajicek (work)

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

0c6dfe52 05/10/2016 12:30 PM Jan Moskyto Matejka

Merge branch 'int-new' into int-new-merged

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

Fixed make doc on recent Debian together with moving generated doc into

Moved into root dir...

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.

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

Merge branch 'master' into int-new-channels

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

ade389b3 02/01/2016 09:28 AM Jan Moskyto Matejka

BSD: compilation error fix

2fad9214 01/21/2016 02:47 PM Jan Moskyto Matejka

BSD: fix no-return warning

3f358161 01/21/2016 01:55 PM Jan Moskyto Matejka

BSD: Explicitly dropping routes with mismatched AF's.

8109eb76 01/20/2016 11:05 AM Jan Moskyto Matejka

BSD integration fixes

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

Follow-up work on integration

Contains some patches from Jan Moskyto Matejka

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

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.

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

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

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

KRT: Support for RTM_CHANGE on BSD

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

Minor fixes

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

Integrated IP functions.

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.

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

IPv4/IPv6 integrated socket code.

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.

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

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


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.

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.

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.

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.

d760229a 08/08/2012 12:10 PM Ondrej Filip

DragonFly support add - thanks to

95616c82 05/04/2012 02:38 PM Ondrej Zajicek

Cleanup in sysdep KRT code, part 4.

Adding some files that was accidentally removed
(instead of moved) in cleanup part 2.

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

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

Fixes several minor bugs in kernel syncer.

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

Adds krt_source route attribute.

Thanks Jeremie Dimino for the original patch.

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.

732a0a25 01/23/2012 12:26 AM Ondrej Zajicek

Fixes problems with creating/removing/renaming ifaces on BSD.

b573755d 01/21/2012 09:41 PM Ondrej Zajicek

Fixes a bug in BSD iface scan.

if_update() should be called always, because periodic iface scan code
removes all not-updated ifaces.

d7f469c1 01/09/2012 01:41 AM Ondrej Zajicek

Some minor fixes.

3f584374 01/08/2012 03:32 PM Ondrej Zajicek

Fix for IPv6 addresses on non-multiaccess ifaces on BSD.

Thanks Matthias Schiffer for the patch.

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.

1cb97af4 10/09/2011 03:01 PM Ondrej Zajicek

Extend the error message.

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

Signal problems with route installation to kernel tables.

cb2b586f 09/04/2011 08:39 AM Ondrej Zajicek

NetBSD compile fix.

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.

a209d5d8 08/15/2011 12:06 AM Ondrej Zajicek

A minor fix in BSD.

14272097 07/28/2011 11:50 AM Ondrej Zajicek

Fixes crash on BSD.

4aef102b 04/07/2011 09:42 AM Ondrej Zajicek

Fixes KRT sync in BSD.

When buffer is too small (because of change between sysctls()),
needed is not changed.

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.

d32a071d 01/08/2011 10:31 AM Ondrej Zajicek

Some cleanups in krt_read_ifinfo().

dad7ee70 01/08/2011 10:22 AM Ondrej Zajicek

Fixes interface names on BSD systems.

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

Implements link state detection.

Also changes some symbol names (IFF_ADMIN_DOWN -> IFF_SHUTDOWN,

cfe34a31 07/05/2010 03:50 PM Ondrej Zajicek

Implements hostcache and recursive next hops.

Hostcache is a structure for monitoring changes in a routing table that
is used for routes with dynamic/recursive next hops. This is needed for
proper iBGP next hop handling.

9b061f7e 05/28/2010 09:16 AM Ondrej Zajicek

Minor fixes.

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

Better support for /31 networks.

de14a7c7 04/08/2010 10:56 PM Ondrej Zajicek

Ignore routes with next-hop on BSD.

a9f380fe 04/08/2010 04:41 PM Ondrej Zajicek

On BSD, consider unmarked non-device routes as alien.

646b24d9 04/08/2010 03:45 PM Ondrej Zajicek

Minor changes.

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

d2d2b5d2 04/03/2010 02:51 PM Ondrej Zajicek

Ignore some kernel messages.

44aa101c 04/03/2010 09:42 AM Ondrej Zajicek

Fixes related to routes with link-local gw on BSD.

e7b09e4a 04/02/2010 02:11 PM Ondrej Zajicek

Use SO_BINDTODEVICE also in Linux/IPv6.

97ab4c34 04/02/2010 09:36 AM Ondrej Zajicek

Fixes link-local addresses on BSD.

bed41728 04/02/2010 09:31 AM Ondrej Zajicek

Minor fixes to previous patches.

54305181 03/11/2010 05:55 PM Ondrej Zajicek

Merge branch 'new' into socket2

afa9f66c 03/10/2010 12:04 AM Ondrej Zajicek

Adds support for PTP links on BSD.

ff2857b0 02/26/2010 09:55 AM Ondrej Zajicek

Many changes in (mainly) kernel syncers.

- BSD kernel syncer is now self-conscious and can learn alien routes
- important bugfix in BSD kernel syncer (crash after protocol restart)
- many minor changes and bugfixes in kernel syncers and neighbor cache
- direct protocol does not generate host and link local routes...

353729f5 02/11/2010 09:23 AM Ondrej Zajicek

Temporary OSPF commit - socket changes.

7d196668 02/10/2010 01:57 PM Ondrej Zajicek

RTF_CLONING is removed in FreeBSD 8.

3f22fa9e 11/09/2009 09:54 PM Ondrej Zajicek

Merge branch 'dev' into ospf3

aa7088fe 09/30/2009 02:34 PM Ondrej Zajicek

Fixes one previous commit.

2d507e64 09/24/2009 05:08 PM Ondrej Zajicek

Do not allow gateway routes with NULL iface.

f9c799a0 09/04/2009 09:06 AM Ondrej Zajicek

Temporary OSPFv3 development commit (changing multicast support).

ef86b846 06/27/2009 04:56 PM Ondrej Filip

Unused file removed.

80f0d676 05/22/2009 11:37 AM Ondrej Zajicek

Fixes type mismatch on BSD systems.