]>
git.ipfire.org Git - thirdparty/bird.git/log
Ondrej Zajicek (work) [Tue, 20 Mar 2018 18:28:26 +0000 (19:28 +0100)]
Doc: Redesign default config file
The old one does not work with 2.0.x.
Ondrej Zajicek (work) [Mon, 19 Mar 2018 12:29:39 +0000 (13:29 +0100)]
Merge remote-tracking branch 'birdlab-tmp/int-new' into int-new
Ondrej Zajicek (work) [Sun, 18 Mar 2018 12:48:47 +0000 (13:48 +0100)]
Nest: Fix table reconfiguration when nettype changes
Thanks to Toke Hoiland-Jorgensen for the bugreport.
Ondrej Zajicek (work) [Sun, 18 Mar 2018 01:56:51 +0000 (02:56 +0100)]
Nest: SADR support for Direct
Ondrej Zajicek (work) [Sat, 17 Mar 2018 21:25:06 +0000 (22:25 +0100)]
Doc: SADR documentation
Ondrej Zajicek (work) [Sat, 17 Mar 2018 16:14:02 +0000 (17:14 +0100)]
Doc: Update BGP documentation
Thanks to Joshua McQuistan for the bugreport.
Jan Maria Matejka [Wed, 14 Mar 2018 11:57:16 +0000 (12:57 +0100)]
Merge branch 'master' into int-new
Jan Maria Matejka [Wed, 28 Feb 2018 15:57:50 +0000 (16:57 +0100)]
Filter: make bgpmask literals real constructors
The bgpmask literals can include expressions. This is OK but they have
to be interpreted as soon as the code is run, not in the time the code
is used as value.
This led to strange behavior like rewriting bgpmasks when they shan't
be rewritten:
function mask_generator(int as)
{
return [= * as * =];
}
function another()
bgpmask m1;
bgpmask m2;
{
m1 = mask_generator(10);
m2 = mask_generator(20);
if (m1 == m2) {
print("strange"); # this would happen
}
}
Moreover, sending this to CLI would cause stack overflow and knock down the
whole BIRD, as soon as there is at least one route to execute the given
filter on.
show route filter bgpmask mmm; bgppath ppp; { ppp = +empty+; mmm = [= (ppp ~ mmm) =]; print(mmm); accept; }
The magic match operator (~) inside the bgpmask literal would try to
resolve mmm, which points to the same bgpmask so it would resolve
itself, call the magic match operator and vice versa.
After this patch, the bgpmask literal will get resolved as soon as it's
assigned to mmm and it also will return a type error as bool is not
convertible to ASN in BIRD.
Jan Maria Matejka [Tue, 13 Mar 2018 16:02:49 +0000 (17:02 +0100)]
Merge branch 'master' into int-new
Jan Maria Matejka [Tue, 13 Mar 2018 11:08:37 +0000 (12:08 +0100)]
Filters: Removed FI_COMMA, not used for 19 years.
This instruction was removed in the commit linked below
and never used ever again. Rest in peace.
commit
84c7e1943f0dbf896b1dd8d02a21120aa00463f4
Author: Pavel Machek <pavel@ucw.cz>
Date: Tue Mar 2 19:49:28 1999 +0000
Jan Maria Matejka [Tue, 13 Mar 2018 15:51:04 +0000 (16:51 +0100)]
Merge branch 'master' into int-new
Jan Maria Matejka [Wed, 29 Nov 2017 10:38:01 +0000 (11:38 +0100)]
Filter: recursion to loop
It was supposed to do tail-recursion in interpret() but it didn't
compile as such. Converting it to loop makes a significant filter
performance improvement for flat filters.
Maria Jan Matejka [Thu, 19 Oct 2017 10:39:44 +0000 (12:39 +0200)]
Filter: Instruction codes named as enum
The two-letter instructions were quite messy but they could be easily
read from memory dumps. Now GDB (since 2012) supports pretty printing
enum values and GCC checks the switch construction for missing enum
values so we are converting the nice two-byte values to enums.
Anyway, the enum still keeps the old two-byte values to be able to read
the instruction codes even without GDB from plain memory dump.
Jan Maria Matejka [Tue, 6 Mar 2018 15:04:56 +0000 (16:04 +0100)]
Filter: the test conf checks also a bit of BGP args
Uncommented an old test.
Jan Maria Matejka [Tue, 6 Mar 2018 15:03:35 +0000 (16:03 +0100)]
Config: Dropped the ipv4:netmask4 syntax for IPv4 prefixes.
Ondrej Zajicek (work) [Wed, 7 Mar 2018 16:41:49 +0000 (17:41 +0100)]
Merge branch 'master' into int-new
Ondrej Zajicek (work) [Wed, 7 Mar 2018 16:35:24 +0000 (17:35 +0100)]
Babel: Fix build with restricted protocol set
All keywords used in Babel config have to be declared locally.
Thanks to Leo Vandewoestijne for the bugreport.
Ondrej Filip [Tue, 27 Feb 2018 05:08:03 +0000 (06:08 +0100)]
Merge branch 'int-new' of ssh://gitlab.labs.nic.cz/labs/bird into int-new
Ondrej Zajicek (work) [Tue, 13 Feb 2018 18:52:22 +0000 (19:52 +0100)]
Handle properly enums for extended attributes
Ondrej Zajicek (work) [Tue, 13 Feb 2018 16:00:24 +0000 (17:00 +0100)]
Add cscope Makefile target
For those who prefer cscope to etags
Thanks to Toke Hoiland-Jorgensen for the patch.
Ondrej Zajicek (work) [Tue, 13 Feb 2018 15:42:03 +0000 (16:42 +0100)]
Babel: Fix accidental bitwise or assignment
Fix an accidental bitwise or assignment that was supposed to be a
comparison.
Thanks to Toke Hoiland-Jorgensen for the patch.
Ondrej Zajicek (work) [Tue, 13 Feb 2018 15:39:36 +0000 (16:39 +0100)]
Babel: Add source-specific routing support
This patch adds support for source-specific routing to the Babel protocol.
It changes the protocol to support both NET_IP6 and NET_IP6_SADR channels
for IPv6 addresses. If only a NET_IP6 channel is configured,
source-specific updates are ignored. Otherwise, non-source-specific
routes are simply treated as source-specific routes with SADR prefix 0.
Thanks to Toke Hoiland-Jorgensen for the original patch.
Minor changes by Ondrej Santiago Zajicek.
Ondrej Zajicek (work) [Tue, 13 Feb 2018 15:27:57 +0000 (16:27 +0100)]
Add support for source-specific IPv6 routes to BIRD core
This patch adds support for source-specific IPv6 routes to BIRD core.
This is based on Dean Luga's original patch, with the review comments
addressed. SADR support is added to network address parsing in confbase.Y
and to the kernel protocol on Linux.
Currently there is no way to mix source-specific and non-source-specific
routes (i.e., SADR tables cannot be connected to non-SADR tables).
Thanks to Toke Hoiland-Jorgensen for the original patch.
Minor changes by Ondrej Santiago Zajicek.
Ondrej Zajicek (work) [Tue, 6 Feb 2018 16:43:55 +0000 (17:43 +0100)]
Nest: Trivial whitespace cleanup
Ondrej Zajicek (work) [Tue, 6 Feb 2018 15:08:45 +0000 (16:08 +0100)]
KRT: Fix IPv6 route learn
Internal table used for route learn was created with non-matching net
type for IPv6 kernel proto.
Thanks to Toke Hoiland-Jorgensen for the bugreport
Ondrej Zajicek (work) [Mon, 29 Jan 2018 11:49:37 +0000 (12:49 +0100)]
Nest: Fix corner case in recursive next hop lookup
Thanks to Svenne Krap for the bugreport.
Ondrej Zajicek (work) [Wed, 24 Jan 2018 12:55:12 +0000 (13:55 +0100)]
Nest: remove duplicate function
Ondrej Zajicek (work) [Tue, 23 Jan 2018 17:29:32 +0000 (18:29 +0100)]
Merge branch 'master' into int-new
Ondrej Zajicek (work) [Tue, 23 Jan 2018 16:05:45 +0000 (17:05 +0100)]
IO: Fix socket priority
On Linux, setting the ToS will also set the priority and the range of
accepted values is quite limited (masked by 0x1e). Therefore, 0xc0 is
translated to a priority of 0, not something we want, overriding the
"7" priority which was set previously explicitely. To avoid that, just
move setting priority later in the code.
Thanks to Vincent Bernat for the patch.
Ondrej Zajicek (work) [Tue, 23 Jan 2018 14:12:43 +0000 (15:12 +0100)]
KRT: Fix option 'merge paths'
Ondrej Zajicek (work) [Tue, 23 Jan 2018 13:48:07 +0000 (14:48 +0100)]
KRT: Remove useless option
Ondrej Zajicek (work) [Tue, 23 Jan 2018 13:26:18 +0000 (14:26 +0100)]
Doc: Fix example
Jan Maria Matejka [Tue, 16 Jan 2018 15:10:13 +0000 (16:10 +0100)]
Pipe: show export state
Jan Maria Matejka [Tue, 16 Jan 2018 13:46:06 +0000 (14:46 +0100)]
Pipe: fixed template bug
When pipe inherited from template, every channel config was lost.
Ondrej Zajicek (work) [Tue, 16 Jan 2018 18:17:04 +0000 (19:17 +0100)]
BGP: Implement 'disable after cease' option
The option allows to specify that some cease subcodes should
disable the protocol when received.
Ondrej Zajicek (work) [Tue, 16 Jan 2018 15:20:01 +0000 (16:20 +0100)]
Filter: Allow silent filter execution
A filter should log messages only if executed explicitly (e.g., during
route export or route import). When a filter is executed for technical
reasons (e.g., to establish whether a route was exported before), it
should run silently.
Ondrej Filip [Tue, 16 Jan 2018 13:36:46 +0000 (14:36 +0100)]
Error in version guessing
Ondrej Zajicek (work) [Tue, 16 Jan 2018 13:18:57 +0000 (14:18 +0100)]
Add note to NEWS
Ondrej Filip [Tue, 16 Jan 2018 09:45:03 +0000 (10:45 +0100)]
Notice about RFC 8212 added
Ondrej Zajicek (work) [Tue, 16 Jan 2018 03:14:49 +0000 (04:14 +0100)]
BGP: Require explicit import and export policies for EBGP channels
To comply with RFC 8212 requirements.
Ondrej Zajicek (work) [Sun, 14 Jan 2018 20:52:58 +0000 (21:52 +0100)]
NEWS and version update
Ondrej Zajicek (work) [Sun, 14 Jan 2018 13:30:38 +0000 (14:30 +0100)]
KRT: Fix direct routes for BSD
Old way to set direct routes is to use local IP as gateway, but that does
not work properly on newer FreeBSDs. Now we use sockaddr_dl containing
interface index as gateway.
Ondrej Zajicek (work) [Wed, 10 Jan 2018 15:17:37 +0000 (16:17 +0100)]
Use non-fatal asserts even for regular build
Ondrej Zajicek (work) [Tue, 9 Jan 2018 17:42:22 +0000 (18:42 +0100)]
Nest: Allow modification of channels inherited from templates
Multiple definitions of same channels are forbidden, but inherited
channel can be redefined. In such case channel options are merged.
Jan Maria Matejka [Tue, 9 Jan 2018 15:46:00 +0000 (16:46 +0100)]
Moved freebsd cflags and ldflags to configure
Ondrej Zajicek (work) [Tue, 9 Jan 2018 13:36:11 +0000 (14:36 +0100)]
Nest: Fix filter reconfiguration
Function filter_same() must be called with arguments in proper order,
otherwise it breaks the new filter, causing crash during route
processing.
Ondrej Zajicek (work) [Wed, 3 Jan 2018 14:44:05 +0000 (15:44 +0100)]
Filter: Handle undefined BGP paths as empty
The same is already done for clists. Also fixes defined() to work
properly for paths and clists.
Ondrej Zajicek (work) [Wed, 3 Jan 2018 13:12:00 +0000 (14:12 +0100)]
ROA: Fix reconfiguration
Ondrej Zajicek (work) [Tue, 2 Jan 2018 15:59:59 +0000 (16:59 +0100)]
Merge branch 'master' into int-new
Ondrej Zajicek (work) [Tue, 2 Jan 2018 15:57:45 +0000 (16:57 +0100)]
BGP: Fix unknown attribute handling
Ondrej Zajicek (work) [Tue, 2 Jan 2018 13:30:08 +0000 (14:30 +0100)]
BGP: Fix graceful restart timer
Should use remote value, not local value.
Ondrej Zajicek (work) [Tue, 2 Jan 2018 13:11:59 +0000 (14:11 +0100)]
Remove libhistory check
According to GNU Readline developers, if we link with libreadline then
there is no need to link with libhistory at all.
Ondrej Zajicek (work) [Wed, 20 Dec 2017 23:16:52 +0000 (00:16 +0100)]
Minor fix in documentation
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 21:15:01 +0000 (22:15 +0100)]
Minor cleanups
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