]>
git.ipfire.org Git - thirdparty/bird.git/log
Ondrej Zajicek (work) [Mon, 18 Dec 2017 22:15:07 +0000 (23:15 +0100)]
Fix build without limited protocol set
Ondrej Zajicek (work) [Sat, 16 Dec 2017 15:31:43 +0000 (16:31 +0100)]
Minor fixes for debug mode
Ondrej Zajicek (work) [Fri, 15 Dec 2017 23:42:56 +0000 (00:42 +0100)]
Netlink: Fix memory leak
Ondrej Zajicek (work) [Thu, 14 Dec 2017 20:52:07 +0000 (21:52 +0100)]
Minor cleanup
Ondrej Zajicek (work) [Wed, 13 Dec 2017 18:18:30 +0000 (19:18 +0100)]
Use git describe for BIRD version
Based on patch from Pavel Tvrdik
Ondrej Zajicek (work) [Wed, 13 Dec 2017 14:57:44 +0000 (15:57 +0100)]
BGP: Fix non-transitive ext communities
Ondrej Zajicek (work) [Wed, 13 Dec 2017 14:26:29 +0000 (15:26 +0100)]
Netlink: Use linpool instead of static buffer
Ondrej Zajicek (work) [Wed, 13 Dec 2017 13:49:55 +0000 (14:49 +0100)]
Lib: Minor fix
Jan Maria Matejka [Wed, 13 Dec 2017 09:29:10 +0000 (10:29 +0100)]
Merge branch 'int-new' of gitlab.labs.nic.cz:labs/bird into int-new
Jan Maria Matejka [Wed, 13 Dec 2017 09:28:50 +0000 (10:28 +0100)]
Doc: Fixed misc sgml bugs, no content change
Ondrej Zajicek (work) [Tue, 12 Dec 2017 18:51:36 +0000 (19:51 +0100)]
Lib: Save/restore state for linpools
Also change linpool.current ptr to really point to thr current chunk.
Ondrej Zajicek (work) [Tue, 12 Dec 2017 14:56:31 +0000 (15:56 +0100)]
Fix some minor issues
Ondrej Zajicek (work) [Tue, 12 Dec 2017 14:22:01 +0000 (15:22 +0100)]
Minor CI tweak
Ondrej Filip [Tue, 12 Dec 2017 09:43:56 +0000 (10:43 +0100)]
Removed '--enable-ipv6' reference.
Ondrej Zajicek (work) [Mon, 11 Dec 2017 23:05:49 +0000 (00:05 +0100)]
Revive FIB and kernel MPLS code
Ondrej Filip [Mon, 11 Dec 2017 08:36:21 +0000 (09:36 +0100)]
Changes to be able to build 2.0.0
Ondrej Zajicek (work) [Mon, 11 Dec 2017 01:05:35 +0000 (02:05 +0100)]
NEWS and version update
Ondrej Zajicek (work) [Mon, 11 Dec 2017 00:04:15 +0000 (01:04 +0100)]
KRT: Fix bug in multipath handling
Ondrej Zajicek (work) [Sun, 10 Dec 2017 21:47:38 +0000 (22:47 +0100)]
Doc: Documentation update
Maria Jan Matejka [Mon, 25 Sep 2017 11:00:05 +0000 (13:00 +0200)]
Switchoff for MPLS in kernel.
Ondrej Zajicek (work) [Sun, 10 Dec 2017 12:18:36 +0000 (13:18 +0100)]
Lib: Check size of nets
Ondrej Zajicek (work) [Sun, 10 Dec 2017 12:16:31 +0000 (13:16 +0100)]
Lib: Fix macro/keyword collisions
Old code breaks with some versions of bison
Ondrej Zajicek (work) [Sat, 9 Dec 2017 23:55:34 +0000 (00:55 +0100)]
Several minor fixes
Ondrej Zajicek (work) [Fri, 8 Dec 2017 16:31:33 +0000 (17:31 +0100)]
Filter: Remove old BGP path mask syntax from tests
Ondrej Zajicek (work) [Fri, 8 Dec 2017 16:00:47 +0000 (17:00 +0100)]
BGP: Link check just for single-hop
Jan Maria Matejka [Wed, 27 Sep 2017 14:55:09 +0000 (16:55 +0200)]
Docs: Update to v2.0
Ondrej Zajicek (work) [Fri, 8 Dec 2017 14:59:44 +0000 (15:59 +0100)]
Enable ECMP and Link detection by default
ECMP is not enabled on BSD, where it is not supported by BIRD.
Ondrej Zajicek (work) [Fri, 8 Dec 2017 14:16:47 +0000 (15:16 +0100)]
Nest: Minor formatting changes
Ondrej Zajicek (work) [Fri, 8 Dec 2017 13:00:36 +0000 (14:00 +0100)]
BGP: Fix IPv6 MPLS/VPN multicast SAFI
Ondrej Zajicek (work) [Fri, 8 Dec 2017 01:26:17 +0000 (02:26 +0100)]
BGP: Autoconfigure BGP next hops from preferred addresses
Ondrej Zajicek (work) [Thu, 7 Dec 2017 20:54:47 +0000 (21:54 +0100)]
Ondrej Zajicek (work) [Thu, 7 Dec 2017 17:35:46 +0000 (18:35 +0100)]
Ondrej Zajicek (work) [Thu, 7 Dec 2017 16:41:09 +0000 (17:41 +0100)]
Ondrej Zajicek (work) [Thu, 7 Dec 2017 13:21:38 +0000 (14:21 +0100)]
BSD: Fix in the last commit
Ondrej Zajicek (work) [Tue, 28 Nov 2017 16:43:20 +0000 (17:43 +0100)]
Timers: Revert temporary names and remove old timer.h
Ondrej Zajicek (work) [Tue, 28 Nov 2017 16:06:10 +0000 (17:06 +0100)]
Timers: Fix TBF and some last remains
Ondrej Zajicek (work) [Tue, 28 Nov 2017 14:11:41 +0000 (15:11 +0100)]
Babel: More changes and bugfixes
Several changes and bugfixes in Babel, namely:
- Exported route parameters stored directly in route table entry
- Exported non-babel routes no longer stored in per-entry route list
- Route update, selection and retraction simplified and fixed
- Route feasibility is evalualated per update and stored with route
- Unreachable route handling fixed, based on hold interval
- Added 'show babel routes' command
Overall, it fixes some issues with proper propagation of triggered
updates, making Babel convergence after topology change almost
instant.
Ondrej Zajicek (work) [Wed, 8 Nov 2017 13:35:52 +0000 (14:35 +0100)]
Babel: Fix handling of seqno requests
Old behavior has several deficiencies compared to standard behavior
(no triggered updates for replies, no retransmissions, ...).
Ondrej Zajicek (work) [Wed, 8 Nov 2017 13:15:11 +0000 (14:15 +0100)]
Babel: Fix handling of IPv4 retractions
Babel TLV parsing code rejected IPv4 retractions without next-hop,
although next-hop is needed just for regular updates.
Ondrej Zajicek (work) [Fri, 27 Oct 2017 10:20:58 +0000 (12:20 +0200)]
Babel: Remove babel_proto ptr from babel_entry
Ondrej Zajicek (work) [Wed, 25 Oct 2017 15:59:57 +0000 (17:59 +0200)]
Babel: Fix hello timeout for short hello intervals
Ondrej Zajicek (work) [Wed, 25 Oct 2017 15:14:08 +0000 (17:14 +0200)]
Babel: Revamp cost computation and run route selection when cost change
Also fix several minor bugs and add 'limit' option for k-out-of-j
link sensing strategy. Change default from 8-of-16 to 12-of-16.
Change IHU expiry factor from 1.5 to 3.5 (as in RFC 6126).
Ondrej Zajicek (work) [Fri, 13 Oct 2017 21:46:41 +0000 (23:46 +0200)]
Babel: Fix unicast seqno requests
Ondrej Zajicek (work) [Fri, 13 Oct 2017 17:34:34 +0000 (19:34 +0200)]
Babel: Avoid batch seqno updates
Ondrej Zajicek (work) [Fri, 13 Oct 2017 17:33:42 +0000 (19:33 +0200)]
Babel: Fix Hello and IHU expiration
Ondrej Zajicek (work) [Fri, 13 Oct 2017 10:34:08 +0000 (12:34 +0200)]
Babel: Update to new timers
Ondrej Zajicek (work) [Wed, 21 Jun 2017 13:38:11 +0000 (15:38 +0200)]
Sysdep: Remove old timer code
Ondrej Zajicek (work) [Wed, 21 Jun 2017 12:43:49 +0000 (14:43 +0200)]
Nest: Update to new timers
Ondrej Zajicek (work) [Wed, 21 Jun 2017 12:14:51 +0000 (14:14 +0200)]
BGP: Update to new timers
Ondrej Zajicek (work) [Tue, 20 Jun 2017 16:03:06 +0000 (18:03 +0200)]
OSPF: Update to new timers
Note that recurrent timers are currently limited to ~1 hour.
Ondrej Zajicek (work) [Tue, 20 Jun 2017 13:55:39 +0000 (15:55 +0200)]
Timers: Add typecast to unit-converting macros
Ondrej Zajicek (work) [Tue, 20 Jun 2017 12:30:44 +0000 (14:30 +0200)]
RIP: Update to new timers
Ondrej Zajicek (work) [Wed, 14 Jun 2017 15:02:11 +0000 (17:02 +0200)]
RAdv: Update to new timers
Ondrej Zajicek (work) [Wed, 14 Jun 2017 14:32:15 +0000 (16:32 +0200)]
RPKI: Update to new timers
Ondrej Zajicek (work) [Wed, 14 Jun 2017 11:15:35 +0000 (13:15 +0200)]
Kernel: Update to new timers
Ondrej Zajicek (work) [Tue, 13 Jun 2017 14:52:21 +0000 (16:52 +0200)]
Timers: Show sub-second times in some protocol outputs
Ondrej Zajicek (work) [Tue, 13 Jun 2017 13:55:13 +0000 (15:55 +0200)]
Timers: Fix tests after timer change
Ondrej Zajicek (work) [Tue, 13 Jun 2017 13:41:49 +0000 (15:41 +0200)]
Printf: Add support for microsecond times
Use '%t' in bsnprintf() for microsecond times (in btime) with variable
sub-second precision.
Ondrej Zajicek (work) [Tue, 6 Jun 2017 14:47:30 +0000 (16:47 +0200)]
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.
Ondrej Zajicek (work) [Thu, 1 Jun 2017 10:33:20 +0000 (12:33 +0200)]
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.
Ondrej Zajicek (work) [Wed, 31 May 2017 13:46:04 +0000 (15:46 +0200)]
Timers: Integrate microsecond timers to the main loop
Ondrej Zajicek (work) [Tue, 30 May 2017 17:12:35 +0000 (19:12 +0200)]
Timers: Split microsecond timers from BFD code to lib
Ondrej Zajicek (work) [Thu, 7 Dec 2017 12:44:00 +0000 (13:44 +0100)]
BSD: Minor fix of penultimate commit
Ondrej Zajicek (work) [Thu, 7 Dec 2017 12:28:24 +0000 (13:28 +0100)]
KRT: Minor fix of last commit
Ondrej Zajicek (work) [Thu, 7 Dec 2017 12:06:01 +0000 (13:06 +0100)]
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.
Ondrej Zajicek (work) [Tue, 28 Nov 2017 18:33:33 +0000 (19:33 +0100)]
Babel: Parse flags in Hello TLV
RFC6126bis introduces a flags field for the Hello TLV, and adds a unicast flag
that is used to signify that a hello was sent as unicast. This adds parsing of
the flags field and ignores such unicast hellos, which preserves compatibility
until we can add a proper implementation of the unicast hello mechanism.
Thanks to Toke Hoiland-Jorgensen for the patch.
Jan Maria Matejka [Thu, 9 Nov 2017 14:04:05 +0000 (15:04 +0100)]
Filter test: typo fix
Jan Maria Matejka [Tue, 22 Aug 2017 11:47:01 +0000 (13:47 +0200)]
Babel: Interface address irrelevant for interface pattern matching.
Jan Moskyto Matejka [Mon, 21 Aug 2017 12:14:07 +0000 (14:14 +0200)]
Iface address debug dump fix
Ondrej Zajicek (work) [Tue, 10 Oct 2017 14:07:54 +0000 (16:07 +0200)]
OSPF: Add option to disable OSPFv3-AF
Ondrej Zajicek (work) [Mon, 9 Oct 2017 19:11:53 +0000 (21:11 +0200)]
OSPF: Fix minor issue in TTL check
The TTL check must be done after instance ID dispatch to avoid warnings
when a physical iface is shared by multiple instances and some use TTL
security and some not.
Ondrej Zajicek (work) [Mon, 9 Oct 2017 18:36:14 +0000 (20:36 +0200)]
OSPF: Fix next hop calculation for PtP links in IPv4 OSPFv3-AF
In such case, next hop has to be taken from Link-LSA like in broadcast
case, not from neighbor source address like in other PtP cases.
Also add some checks, comments and code cleanup.
Ondrej Zajicek (work) [Sun, 8 Oct 2017 23:16:29 +0000 (01:16 +0200)]
OSPF: Support of address families in OSPFv3
OSPFv3-AF can handle multiple topologies of diferent address families
(IPv4, IPv6, both unicast and multicast) using separate instances
distinguished by instance ID ranges.
Ondrej Zajicek (work) [Tue, 10 Oct 2017 13:06:39 +0000 (15:06 +0200)]
Doc: Update sgml2* tools
The old ones do not work on current Debian.
Ondrej Zajicek (work) [Tue, 10 Oct 2017 11:27:03 +0000 (13:27 +0200)]
Doc: Fix reference
Michal 'vorner' Vaner [Tue, 19 Sep 2017 15:23:31 +0000 (17:23 +0200)]
RAdv: Documentation for more specific routes
Ondrej Zajicek (work) [Fri, 6 Oct 2017 10:22:18 +0000 (12:22 +0200)]
RAdv: Change specific route options to be per-interface
And change default values of specific route options to be consistent with
values of default router options.
Michal 'vorner' Vaner [Thu, 31 Aug 2017 13:40:23 +0000 (15:40 +0200)]
RAdv: Support for more specific routes (RFC 4191)
The patch implements Default Router Preferences and More-Specific Routes
(RFC 4191) for RAdv protocol, allowing to announce router preference and
more specific routes in router advertisements. Routes can be exported to
RAdv like to regular routing protocols.
Some cleanups, bugfixes and other changes done by Ondrej Zajicek.
Michal 'vorner' Vaner [Tue, 5 Sep 2017 13:50:00 +0000 (15:50 +0200)]
filter: Allow assigning enums into extended attributes
They are internally ints, but they got refused as a wrong type. This
fixes setting of the BGP origin and is also needed for RA.
Ondrej Zajicek (work) [Tue, 19 Sep 2017 17:55:37 +0000 (19:55 +0200)]
BGP: Shutdown communication (RFC 8203)
The patch implements BGP Administrative Shutdown Communication (RFC 8203)
allowing BGP operators to pass messages related to BGP session
administrative shutdown/restart. It handles both transmit and receive of
shutdown messages. Messages are logged and may be displayed by show
protocol all command.
Thanks to Job Snijders for the basic patch.
Michal 'vorner' Vaner [Thu, 14 Sep 2017 10:31:15 +0000 (12:31 +0200)]
Docs: FIB iteration macros
Ondrej Zajicek (work) [Wed, 13 Sep 2017 11:10:50 +0000 (13:10 +0200)]
Doc: Document 'empty' operator
Thanks to Alexander Zubkov for the notification.
Ondrej Zajicek (work) [Tue, 12 Sep 2017 14:33:29 +0000 (16:33 +0200)]
Backport some minor changes from int-new
Ondrej Zajicek (work) [Tue, 12 Sep 2017 13:49:36 +0000 (15:49 +0200)]
Nest: VRF support for neighbor cache and olock code
Actually much simpler than expected.
Ondrej Zajicek (work) [Wed, 6 Sep 2017 15:38:48 +0000 (17:38 +0200)]
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
kernel routing tables to handle BGP TCP connections.
The VRF support is preliminary, currently there are several limitations:
- Recent Linux kernels (4.11) do not handle correctly sockets bound
to interaces that are part of VRF, so most protocols other than multihop
BGP do not work. This will be fixed by future kernel versions.
- Neighbor cache ignores VRFs. Breaks config with the same prefix on
local interfaces in different VRFs. Not much problem as single hop
protocols do not work anyways.
- Olock code ignores VRFs. Breaks config with multiple BGP peers with the
same IP address in different VRFs.
- Incoming BGP connections are not dispatched according to VRFs.
Breaks config with multiple BGP peers with the same IP address in
different VRFs. Perhaps we would need some kernel API to read VRF of
incoming connection? Or probably use multiple listening sockets in
int-new branch.
- We should handle master VRF interface up/down events and perhaps
disable associated protocols when VRF goes down. Or at least disable
associated interfaces.
- Also we should check if the master iface is really VRF iface and
not some other kind of master iface.
- BFD session request dispatch should be aware of VRFs.
- Perhaps kernel protocol should read default kernel table ID from VRF
iface so it is not necessary to configure it.
- Perhaps we should have per-VRF default table.
Ondrej Zajicek (work) [Mon, 4 Sep 2017 22:02:20 +0000 (00:02 +0200)]
KRT: Fix IPv6 ECMP handling with Linux 4.11+
Starting from Linux 4.11, IPv6 ECMP routes are now notified using
RTA_MULTIPATH, like IPv4 ones. The patch adds support for RTA_MULTIPATH
parsing for IPv6 routes. This also enables to parse ECMP alien routes
correctly.
Thanks to Vincent Bernat for the original patch.
Ondrej Zajicek (work) [Mon, 4 Sep 2017 20:32:45 +0000 (22:32 +0200)]
BSD: Fix alignment issue
Incorrect structure alignment breaks kernel routing table updates on
FreeBSD/ARM (and perhaps other platforms).
Thanks to Eugene Sevastyanov for the original patch.
Michal 'vorner' Vaner [Mon, 4 Sep 2017 11:30:13 +0000 (13:30 +0200)]
Merge branch 'gitlab-ci'
Michal 'vorner' Vaner [Thu, 17 Aug 2017 13:02:35 +0000 (15:02 +0200)]
Gitlab CI support
Add configuration and docker definitions for tests and builds in Gitlab
CI platform.
Some of them currently fail, which is a known problem.
Ondrej Zajicek (work) [Tue, 29 Aug 2017 17:17:35 +0000 (19:17 +0200)]
RAdv: Some style nitpicks
Michal 'vorner' Vaner [Thu, 17 Aug 2017 09:34:25 +0000 (11:34 +0200)]
RAdv: Configure how long a dead prefix is advertised
Michal 'vorner' Vaner [Fri, 11 Aug 2017 10:25:36 +0000 (12:25 +0200)]
RAdv: Buffer prefixes awhile after they disappear
Keep a cache of all the relevant prefixes we send out. When a prefix
appears, insert it into the cache. If it dies, keep it there for a
while, marked as dead.
Send out the dead prefixes with zero lifetime.
Michal 'vorner' Vaner [Wed, 9 Aug 2017 14:00:16 +0000 (16:00 +0200)]
RAdv: Extract prefix option preparation
Put the prefix option preparation into a separate function. We're going
to reuse that bit of code.
Ondrej Zajicek (work) [Tue, 22 Aug 2017 12:03:38 +0000 (14:03 +0200)]
Client: Fix include
Michal 'vorner' Vaner [Thu, 10 Aug 2017 12:35:14 +0000 (14:35 +0200)]
Nicer log output
non-primary is ugly, just omit it (and use primary in the other case).
Michal 'vorner' Vaner [Thu, 10 Aug 2017 11:06:05 +0000 (13:06 +0200)]
Less confusing log message
A non-primary address isn't necessarily secondary, that's an independent
flag.
Michal 'vorner' Vaner [Thu, 10 Aug 2017 10:32:30 +0000 (12:32 +0200)]
Fix bird.conf example
Make it syntactically correct, so it is accepted.
Michal 'vorner' Vaner [Wed, 9 Aug 2017 11:39:20 +0000 (13:39 +0200)]
Gitignore: File created by autoreconf
Michal 'vorner' Vaner [Wed, 9 Aug 2017 11:35:55 +0000 (13:35 +0200)]
Drop stale TODO
A TODO file last updated 5 years ago is useless.
Ondrej Zajicek (work) [Wed, 9 Aug 2017 10:46:27 +0000 (12:46 +0200)]
Merge branch 'master' into int-new