| Branch: | Revision:

iof-bird-daemon / lib @ 62e64905

# Date Author Comment
62e64905 02/20/2017 01:26 AM Ondrej Zajicek (work)

Several minor fixes

d311368b 12/22/2016 08:38 PM Jan Moskyto Matejka

VPN4 and VPN6 literals

From now on, protocol static accepts VPN4 and VPN6 addressess.
With some concerns about VPN6 Route Distinguishers, I finally chose
to have the same format as for VPN4 (where it is defined by RFC 4364).

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.

33ad6e01 12/22/2016 12:35 PM Jan Moskyto Matejka

MPLS: added net_addr_mpls variant of net_addr

a7848dd8 12/07/2016 03:20 PM Ondrej Zajicek (work)

Client: No need for birdlib functions

77234bbb 12/07/2016 02:54 PM Ondrej Zajicek (work)

Basic flow specification support (RFC 5575)

Add flow4/flow6 network and rt-table type and operations, config grammar
and static protocol support.

Squashed flowspec branch from Pavel Tvrdik.

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

69ae5784 12/07/2016 08:35 AM Pavel Tvrdik

Add `.asn' operator to all ROA prefixes in filters

bird> eval ( max 20 as 1234).asn

Todo: Should be described in user docs

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
( that is integrated inside
the BIRD's code.

Implemeted transports are:
- unprotected transport over TCP
- secure transport over SSHv2...

bb721f0d 11/16/2016 11:22 AM Pavel Tvrdik

Add lp_strdup function for string duplication on linpool

5e3cd0e5 11/11/2016 04:43 PM Pavel Tvrdik

Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0

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

920a86e8 11/03/2016 08:53 AM Ondrej Zajicek (work)

Add missing extern

390601f0 11/02/2016 04:53 PM Ondrej Zajicek (work)

RIP: Use message authentication interface

Based on former commit from Pavel Tvrdik

de2a27e2 11/02/2016 03:23 PM Ondrej Zajicek (work)

Add generic message authentication interface

Add generic interface for generating and verifying MACs (message
authentication codes). Replace multiple HMAC implementation with
a generic one.

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.

d107ef78 08/16/2016 11:02 AM Pavel Tvrdik

Whitespace fixes

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.

5af7b596 05/13/2016 11:48 AM Jan Moskyto Matejka

Merge branch 'int-new' of into int-new

d39d41fb 05/13/2016 11:46 AM Jan Moskyto Matejka

Hash: Fix of previous commit

b66a9e2f 05/12/2016 07:49 PM Ondrej Zajicek (work)

Merge branch 'master' into int-new

659f80f2 05/12/2016 07:47 PM Ondrej Zajicek (work)

Make int-new compilable again

776d6b2c 05/12/2016 04:11 PM Ondrej Zajicek (work)

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

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

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

54ac0bec 05/12/2016 02:16 PM Jan Moskyto Matejka

Hash: fixed rta hashing wrt. structure padding

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

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

937e75d8 04/28/2016 04:01 PM Ondrej Zajicek (work)

Add the Babel routing protocol (RFC 6126)

This patch implements the IPv6 subset of the Babel routing protocol.
Based on the patch from Toke Hoiland-Jorgensen, with some heavy
modifications and bugfixes.

Thanks to Toke Hoiland-Jorgensen for the original patch.

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

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.

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

54bb032d 03/23/2016 01:21 AM Jan Moskyto Matejka

Birdlib: Modify lists to avoid problems with pointer aliasing rules

The old linked list implementation used some wild typecasts and required
GCC option -fno-strict-aliasing to work properly. This patch fixes that.
However, we still keep the option due to other potential problems....

665b8e52 03/23/2016 01:21 AM Ondrej Zajicek (work)

Birdlib: Do cleanups after remove/free

To avoid byzantine behavior in case of some errors, linked lists are
cleared after rem_node() and resource headers are cleared after rfree().

a815d62d 02/19/2016 03:33 PM Jan Moskyto Matejka

Hash: typecast error fix

9a74622c 02/10/2016 12:26 PM Jan Moskyto Matejka

Updated RTA hashes to 32-bit values.

... and reworked the hashes a bit. Also added mem_hash function
which just computes a hash of given memory block.

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.

f9d729ab 01/14/2016 01:31 PM Pavel Tvrdík

NET ROAx: add max_pxlen, fix format

9a883adf 01/13/2016 12:21 PM Jan Moskyto Matejka

Net address format: Do not print the -4 or -6 suffix in %I4 and %I6

a820ae10 01/12/2016 10:41 AM Pavel Tvrdík

NET ROAx more small changes

- Remove `u8 src` from net_add_roaX
- Add `u8 max_pxlen` to net_add_roaX
- Add some missing macro and functions for ROA
- Remove ASN from hash function for ROA

Thanks to Ondrej Santiago Zajicek

93e80729 01/12/2016 10:40 AM Pavel Tvrdík

ROA change printf 'ASN: xxx' to 'ASxxx'

6ffa8f53 01/11/2016 08:29 AM Jan Moskyto Matejka

Hidden AF_INET* inside sysdep/

de9b87f5 01/07/2016 05:21 PM Pavel Tvrdík

Add NET ROA4/6 structures

e691d16a 12/29/2015 04:12 PM Ondrej Zajicek (work)

Explicit ip4_addr / ip6_addr printf support

74c838a8 12/29/2015 02:42 PM Ondrej Zajicek (work)

Move ID allocator to a separate file and use it also in OSPF

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.

67aa8833 12/21/2015 05:23 PM Jan Moskyto Matejka

BSD wants to include sys/socket.h in lib/socket.h (AF_INET6? definitions)

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

7fd4143e 12/20/2015 12:47 PM Jan Moskyto Matejka

Integrated address print lengths

Minor changes by Ondrej Santiago Zajicek

aedd3a6b 12/20/2015 11:53 AM Jan Moskyto Matejka

Implemented missing prefix manipulation functions

5e173e9f 12/19/2015 10:49 PM Jan Moskyto Matejka

Stop perusing f_prefix for non-prefix-set uses

Multiple changes by Ondrej Santiago Zajicek

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

33b4f40a 11/24/2015 03:01 PM Pavel Tvrdík

MD5: Mormalize naming style

90f78507 11/24/2015 02:21 PM Ondrej Zajicek (work)

Merge branch 'master' into rip-new

e422ca0f 11/24/2015 12:52 PM Ondrej Zajicek (work)

Some consts for function arguments

Patch from Pavel Tvrdik

5126380b 11/24/2015 12:47 PM Ondrej Zajicek (work)

Minor changes to SHA hash functions

f312a837 11/13/2015 06:34 PM Pavel Tvrdík

Add SHA-384/512 and HMAC-SHA-384/512 crypto hash

4035e0e7 11/13/2015 06:34 PM Pavel Tvrdík

Add SHA-224/256 and HMAC-SHA-224/256 crypto hash

5d0c36f1 11/13/2015 06:33 PM Pavel Tvrdík

Add SHA1 and SHA1-HMAC crypto hash

75ff0802 11/13/2015 06:31 PM Pavel Tvrdík

Add get_u64() and put_u64() into lib/unaligned.h

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.

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

8465dccb 10/05/2015 11:18 AM Ondrej Zajicek (work)

Major RIP redesign

The new RIP implementation fixes plenty of old bugs and also adds support
for many new features: ECMP support, link state support, BFD support,
configurable split horizon and more. Most options are now per-interface.

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.

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

77edab64 05/01/2015 12:40 PM Ondrej Zajicek

OSPF: Redesign LSA checksumming

New LSA checksumming code separates generic Fletcher-16 and OSPF-specific
code and avoids back and forth endianity conversions, making it much more
readable and also several times faster.

8bcb5fb1 03/02/2015 08:41 AM Ondrej Zajicek

Implement latency tracking, internal event log and watchdog

4e639744 02/24/2015 03:19 PM Ondrej Zajicek

Add minor comment

9c89560e 02/22/2015 07:14 PM Ondrej Zajicek

Use IP_PORTRANGE_HIGH for BFD where available

6264aad1 02/21/2015 07:11 PM Pavel Tvrdík

Minor fixes

85a3639d 02/21/2015 07:07 PM Pavel Tvrdik

Better Clang compatibility

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

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

Fininshing integrated OSPF.

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

Integrated IP functions.

78342404 10/14/2014 03:23 PM Ondrej Zajicek

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

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

Implements token bucket filter for rate limiting.

20e8d040 06/30/2014 09:55 AM Ondrej Zajicek

Fixes integer overflow in show memory command.

Thanks to Job Snijders for the bugreport.

70945cb6 06/26/2014 09:58 AM Ondrej Zajicek

Temporary integrated OSPF commit.

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

IPv4/IPv6 integrated socket code.

7c4a8007 04/14/2014 10:28 AM Ondrej Filip

Fixed bug in unused function.

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.

5c200e0a 02/06/2014 07:15 PM Ondrej Zajicek

Merge branch 'add-path'

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

e7d2ac44 12/01/2013 12:49 PM Ondrej Zajicek

Finishes add-path.

Fixes some bugs and uses generic hash implementation.

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

Merge branch 'master' into add-path


41f8bf57 11/22/2013 08:59 PM Ondrej Zajicek

Changes identifiers to avoid use of reserved ones.

0aeac9cb 11/22/2013 01:48 AM Ondrej Zajicek

Merge commit 'origin/bfd'