]> git.ipfire.org Git - thirdparty/bird.git/log
thirdparty/bird.git
5 years agoConfigure: Use standard --runstatedir option
Ondrej Zajicek (work) [Sun, 18 Nov 2018 00:22:09 +0000 (01:22 +0100)] 
Configure: Use standard --runstatedir option

Newer Autoconf defines --runstatedir option for setting directory for
run-time variable data. Use it instead our old --with-runtimedir.

5 years agoFilter: Make ifname attribute modifiable
Ondrej Zajicek (work) [Mon, 5 Nov 2018 21:03:21 +0000 (22:03 +0100)] 
Filter: Make ifname attribute modifiable

Allow to change an interface associated with a route by setting
ifname attribute. It will also change the route to a direct one.

5 years agoNest: Fix crash in rta_show() for RPKI and Babel routes
Ondrej Zajicek (work) [Mon, 5 Nov 2018 12:56:59 +0000 (13:56 +0100)] 
Nest: Fix crash in rta_show() for RPKI and Babel routes

Some new route source values did not have associated string
in rta_show(), which might caused crash in some cases.

5 years agoBGP: Fix VRF for listening socket
Ondrej Zajicek (work) [Fri, 26 Oct 2018 17:11:33 +0000 (19:11 +0200)] 
BGP: Fix VRF for listening socket

Listening socket should be bound to specified interface and VRF.

Thanks to Alexander Zubkov for the bugreport.

5 years agoOSPF: Fix some trace messages
Ondrej Zajicek (work) [Thu, 25 Oct 2018 15:22:37 +0000 (17:22 +0200)] 
OSPF: Fix some trace messages

Missing argument in MTU change trace message can crash bird when MTU
change happens and trace messages are active.

Thanks to Alexander Velkov for the bugreport.

5 years agoLib: Force output type in ip4_addr constructor
Ondrej Zajicek (work) [Thu, 25 Oct 2018 10:39:13 +0000 (12:39 +0200)] 
Lib: Force output type in ip4_addr constructor

Fixes type issue when u64 is pushed into it.

5 years agoFilter: Add support for VPN_RD sets
Ondrej Zajicek (work) [Thu, 25 Oct 2018 09:26:58 +0000 (11:26 +0200)] 
Filter: Add support for VPN_RD sets

5 years agoFilter: Fix minor bug in accessing bgp_path
Ondrej Zajicek (work) [Thu, 25 Oct 2018 09:23:15 +0000 (11:23 +0200)] 
Filter: Fix minor bug in accessing bgp_path

Not relevant for regular BGP paths, just for BGP paths added by filters
to e.g. static routes.

5 years agoFix installation with --disable-client
Ondrej Zajicek (work) [Thu, 11 Oct 2018 13:03:09 +0000 (15:03 +0200)] 
Fix installation with --disable-client

The old check assumed that @CLIENT@ does not contain
birdc, which is not true in 2.0 branc.

Thanks to Thomas Petazzoni for the bugreport and original patch.

5 years agoNest: Fix 'show interfaces summary' command
Ondrej Zajicek (work) [Thu, 11 Oct 2018 12:39:13 +0000 (14:39 +0200)] 
Nest: Fix 'show interfaces summary' command

The command showed interfaces that were removed / in shutdown.

5 years agoLib: Add and use ev_new_init()
Ondrej Zajicek (work) [Mon, 1 Oct 2018 13:55:23 +0000 (15:55 +0200)] 
Lib: Add and use ev_new_init()

5 years agoBGP: Fix bug in show protocol related to LLGR
Ondrej Zajicek (work) [Mon, 1 Oct 2018 13:35:43 +0000 (15:35 +0200)] 
BGP: Fix bug in show protocol related to LLGR

When channel is not active due to not be negotiated during sessino
establishment, the LLGR timer is not allocated, so we should not show it.

5 years agoNo more warnings ...
Jan Maria Matejka [Tue, 18 Sep 2018 12:21:11 +0000 (14:21 +0200)] 
No more warnings ...

no more warnings
No more warnings over me
And while it is being compiled all the log is black and white
Release BIRD now and then let it flee

(use the melody of well-known Oh Freedom!)

5 years agoConf: Show the line:char position where the syntax error happens
Jan Maria Matejka [Tue, 11 Sep 2018 14:55:41 +0000 (16:55 +0200)] 
Conf: Show the line:char position where the syntax error happens

5 years agoMain: Add -b to force background even in debug mode
Jan Maria Matejka [Tue, 28 Aug 2018 14:45:50 +0000 (16:45 +0200)] 
Main: Add -b to force background even in debug mode

5 years agoDoc: Fix description of 'description'
Ondrej Zajicek (work) [Fri, 24 Aug 2018 16:54:27 +0000 (18:54 +0200)] 
Doc: Fix description of 'description'

Thanks to Clemens Schrimpe for the bugreport.

5 years agoLib: recursive printf
Jan Maria Matejka [Wed, 22 Aug 2018 12:58:53 +0000 (14:58 +0200)] 
Lib: recursive printf

Use like this:

void func(const char *msg, va_list args) {
  ...
  bvsnprintf(buf, len, "file %s, line %d: %V (foo %d, bar %d)", file, line, msg, &args, foo, bar);
  ...
}

5 years agoDOC: Remove pipe mode reference
Ondrej Zajicek (work) [Tue, 21 Aug 2018 13:24:55 +0000 (15:24 +0200)] 
DOC: Remove pipe mode reference

Pipe mode was removed in 2.0, remove reference to it in the documentation.

Thanks to Piotr Wydrych for the bugreport.

5 years agoBison: A bit more verbose error messages in config.
Jan Maria Matejka [Tue, 14 Aug 2018 12:36:44 +0000 (14:36 +0200)] 
Bison: A bit more verbose error messages in config.

5 years agoMake: Add option to force colors in compiler output
Jan Maria Matejka [Tue, 17 Jul 2018 13:39:06 +0000 (15:39 +0200)] 
Make: Add option to force colors in compiler output

5 years agoM4: generate synchronization lines
Jan Maria Matejka [Tue, 17 Jul 2018 13:30:59 +0000 (15:30 +0200)] 
M4: generate synchronization lines

This also includes Bison version check. Versions before 3.0 don't
support them in a reliable way and we don't promise to work with
versions older than 2.4.

5 years agosysdep/unix/main.c: Remove trailing spaces
Pavel Tvrdik [Mon, 14 Nov 2016 13:53:10 +0000 (14:53 +0100)] 
sysdep/unix/main.c: Remove trailing spaces

5 years agoDoc: Fix notes related to obsolete option
Ondrej Zajicek (work) [Tue, 7 Aug 2018 12:46:24 +0000 (14:46 +0200)] 
Doc: Fix notes related to obsolete option

Thanks to Julien Dessaux for the report.

5 years agoBGP: Long-lived graceful restart
Ondrej Zajicek (work) [Tue, 31 Jul 2018 16:40:38 +0000 (18:40 +0200)] 
BGP: Long-lived graceful restart

The patch implements long-lived graceful restart for BGP, namely
draft-uttaro-idr-bgp-persistence-03.

5 years agoBSD: Use MSG_DONTROUTE for unicast packets on FreeBSD
Ondrej Zajicek (work) [Sat, 28 Jul 2018 14:54:06 +0000 (16:54 +0200)] 
BSD: Use MSG_DONTROUTE for unicast packets on FreeBSD

BSD systems cannot use SO_DONTROUTE, because it does not work properly
with multicast packets (perhaps it tries to find iface based on multicast
group address). But we can use MSG_DONTROUTE sendmsg() flag for unicast
packets. Works on FreeBSD, is ignored on OpenBSD and is broken on NetBSD
(i guess due to integrated routing table and ARP table).

5 years agoRAdv: Fix crash during prefix change
Ondrej Zajicek (work) [Thu, 19 Jul 2018 18:54:10 +0000 (20:54 +0200)] 
RAdv: Fix crash during prefix change

Thanks to Julian Schuh for the bugreport.

5 years agoOSPF: Fix crash during route removal
Ondrej Zajicek (work) [Thu, 19 Jul 2018 18:48:13 +0000 (20:48 +0200)] 
OSPF: Fix crash during route removal

The bug was introduced by an earler patch which removed additional eattr
argument to rt_notify hook.

5 years agoNest: Fix race condition during reconfiguration, part 2
Ondrej Zajicek (work) [Fri, 6 Jul 2018 00:04:45 +0000 (02:04 +0200)] 
Nest: Fix race condition during reconfiguration, part 2

If export filter is changed during reconfiguration and a route disappears
between reconfiguration and refeed (e.g., if the route is a static route
also removed during the reconfiguration), the route is not withdrawn.

The issue was fixed for regular channels by an earlier patch. This patch
fixes the issue for channels in RA_ACCEPTED mode (first-pass-the-filter),
used by BGP with 'secondary' option.

5 years agoCleanup some warnings
Ondrej Zajicek (work) [Tue, 3 Jul 2018 16:08:35 +0000 (18:08 +0200)] 
Cleanup some warnings

5 years agoNest: Fix race condition during reconfiguration
Ondrej Zajicek (work) [Tue, 3 Jul 2018 15:52:51 +0000 (17:52 +0200)] 
Nest: Fix race condition during reconfiguration

If export filter is changed during reconfiguration and a route disappears
between reconfiguration and refeed (e.g., if the route is a static route
also removed during the reconfiguration), the route is not withdrawn.
The patch fixes that by adding tx reconfiguration timestamp.

5 years agoBGP: Use implicit-NULL label when announcing MPLS routes with local next-hop
Ondrej Zajicek (work) [Sat, 30 Jun 2018 23:03:16 +0000 (01:03 +0200)] 
BGP: Use implicit-NULL label when announcing MPLS routes with local next-hop

We currently cannot assing local labels, but we can still be LSP egress
router. Therefore when we announce labeled route with local next-hop, we
should announce implicit-NULL label instead of rejecting it completely.

5 years agoBGP: Fix parsing of MPLS withdrawals
Ondrej Zajicek (work) [Sat, 30 Jun 2018 22:43:24 +0000 (00:43 +0200)] 
BGP: Fix parsing of MPLS withdrawals

RFC 3107 was bit vague with regard to labeled withdrawals, RFC 8277
clarified that. The old code was incompatible with some implementations,
namely with Juniper.

Thanks to Vadim Fedorenko for the original patch.

5 years agoBGP: Attribute set function merged with its common counterpart
Maria Jan Matejka [Fri, 29 Jun 2018 15:23:27 +0000 (17:23 +0200)] 
BGP: Attribute set function merged with its common counterpart

5 years agoBSD: Fix of the previous commit
Ondrej Zajicek (work) [Wed, 27 Jun 2018 15:08:59 +0000 (17:08 +0200)] 
BSD: Fix of the previous commit

5 years agoNest: Neighbor cache cleanups
Ondrej Zajicek (work) [Wed, 27 Jun 2018 14:51:53 +0000 (16:51 +0200)] 
Nest: Neighbor cache cleanups

Simplify neighbor cache code, fix several minor bugs, and improve
handling of ONLINK flag.

5 years agoAutotools: updated config.guess and config.sub
Maria Matejka [Mon, 23 Apr 2018 13:59:02 +0000 (15:59 +0200)] 
Autotools: updated config.guess and config.sub

Updated to version 63b4ce2e8c28aee6a32133e400436e4ca885215a
from git://git.savannah.gnu.org/config.git

Previous version was 93b5037172b15ad28952481933517f1ba93d125b

5 years agoAndroid: check for extra libs needed for build
Maria Matejka [Mon, 23 Apr 2018 13:54:20 +0000 (15:54 +0200)] 
Android: check for extra libs needed for build

5 years agoDoc: renamed progdoc files Doc -> progdoc to fix collision with doc/ folder on case...
Maria Matejka [Mon, 23 Apr 2018 09:29:13 +0000 (11:29 +0200)] 
Doc: renamed progdoc files Doc -> progdoc to fix collision with doc/ folder on case-insensitive filesystems

5 years agoConfig: Dropping CF_ADDTO.
Jan Maria Matejka [Tue, 26 Jun 2018 12:29:03 +0000 (14:29 +0200)] 
Config: Dropping CF_ADDTO.

5 years agoFilter: fixed eattr cached pointer
Jan Maria Matejka [Tue, 19 Jun 2018 14:16:08 +0000 (16:16 +0200)] 
Filter: fixed eattr cached pointer

Use ACCESS_RTE to guard **f_rte, use ACCESS_EATTRS to guard **f_eattrs.
Use f_rta_cow() before writing to rta or eattrs, use f_rte_cow() before
writing preference (stored in rte).

Do not access eattrs indirectly through (*f_rte)->attrs->eattrs, it is
way too slow. The cached pointer is faster.

5 years agoMerge branch 'int-new' into HEAD
Jan Maria Matejka [Tue, 19 Jun 2018 12:32:16 +0000 (14:32 +0200)] 
Merge branch 'int-new' into HEAD

5 years agoBabel: Fix handling of missing IPv4 next hops
Ondrej Zajicek (work) [Wed, 13 Jun 2018 13:22:29 +0000 (15:22 +0200)] 
Babel: Fix handling of missing IPv4 next hops

In case of missing IPv4 next hop, we should skip such routes
on transmit and ignore such routes on receive.

Thanks to Julian Schuh for the bugreport and Toke Hoiland-Jorgensen
for the original patch.

5 years agoBGP: Handle missing NEXT_HOP attribute properly
Ondrej Zajicek (work) [Wed, 13 Jun 2018 12:47:37 +0000 (14:47 +0200)] 
BGP: Handle missing NEXT_HOP attribute properly

RFC 7606 specifies handle-as-withdraw instead of session reset.

5 years agoNest: Removing separate tmpa from route propagation
Jan Maria Matejka [Tue, 29 May 2018 10:08:12 +0000 (12:08 +0200)] 
Nest: Removing separate tmpa from route propagation

This is a fundamental change of an original (1999) concept of route
processing inside BIRD. During import/export, there was a temporary
ea_list created which was to be used instead of the another one inside
the route itself.

This led to some confusion, quirks, and strange filter code that handled
extended route attributes. Dropping it now.

The protocol interface has changed in an uniform way -- the
`struct ea_list *attrs` argument has been removed from store_tmp_attrs(),
import_control(), rt_notify() and get_route_info().

5 years agoOSPF: Fix invalid NSSA RFC references
Ondrej Zajicek (work) [Tue, 29 May 2018 12:23:14 +0000 (14:23 +0200)] 
OSPF: Fix invalid NSSA RFC references

5 years agoProtocol: Introducing an enum protocol_class
Jan Maria Matejka [Mon, 7 May 2018 12:47:00 +0000 (14:47 +0200)] 
Protocol: Introducing an enum protocol_class

This supersedes the EAP_* constants.

5 years agoFilter: macro for recursive interpretation of instructions
Jan Maria Matejka [Wed, 2 May 2018 10:34:35 +0000 (12:34 +0200)] 
Filter: macro for recursive interpretation of instructions

5 years agoFilter: Simple type checks converted to ARG() macro
Jan Maria Matejka [Mon, 30 Apr 2018 14:06:53 +0000 (16:06 +0200)] 
Filter: Simple type checks converted to ARG() macro

5 years agoFilter: Removing the third argument hack
Jan Maria Matejka [Mon, 30 Apr 2018 11:29:05 +0000 (13:29 +0200)] 
Filter: Removing the third argument hack

Just to make the code a bit more clean and easier to maintain.

5 years agoFilter: instruction names
Jan Maria Matejka [Mon, 30 Apr 2018 10:49:22 +0000 (12:49 +0200)] 
Filter: instruction names

5 years agoFilter: Instruction codes linearized
Jan Maria Matejka [Mon, 30 Apr 2018 10:39:32 +0000 (12:39 +0200)] 
Filter: Instruction codes linearized

5 years agoMacro: Added a bunch of dirty C preprocessor tricks
Jan Maria Matejka [Mon, 30 Apr 2018 10:20:04 +0000 (12:20 +0200)] 
Macro: Added a bunch of dirty C preprocessor tricks

Included are Makefile implicit rules to show the preprocessed source.
When debugging something around this, it may be handy.

5 years agoDo not initialize route metrics in import_control hook
Ondrej Zajicek (work) [Thu, 24 May 2018 12:51:05 +0000 (14:51 +0200)] 
Do not initialize route metrics in import_control hook

During route export, the receiving protocol often initialized route
metrics to default value in its import_control hook before export filter
was executed. This is inconsistent with the expectation that an export
filter would process the same route as one in the routing table and it
breaks setting these metrics before (e.g. for static routes directly in
static protocol).

The patch removes the initialization of route metrics in import_control
hook, the default values are already handled in rt_notify hook called
after export filters.

The patch also changed the behavior of OSPF to keep metrics when a route
is reannounced between OSPF instances (to be consistent with other
protocols) and the behavior when both ospf_metric1 and ospf_metric2
are specified (to have more expected behavior).

5 years agoFilter: Add support for src filter op to access SADR source prefix
Ondrej Zajicek (work) [Wed, 16 May 2018 09:19:29 +0000 (11:19 +0200)] 
Filter: Add support for src filter op to access SADR source prefix

The patch allows to use 'net.src' to access SADR source prefix
from filters.

Thanks to Toke Hoiland-Jorgensen for the original patch for srclen.

6 years agoBetter initialization of random generator
Ondrej Zajicek (work) [Thu, 3 May 2018 15:07:39 +0000 (17:07 +0200)] 
Better initialization of random generator

Use full time precision to initialize random generator. The old
code was prone to initialize it to the same values in specific
circumstances (boot without RTC, multiple VMs starting at once).

6 years agoBabel: Add option to randomize router ID
Ondrej Zajicek (work) [Thu, 3 May 2018 14:55:11 +0000 (16:55 +0200)] 
Babel: Add option to randomize router ID

When a Babel node restarts, it loses its sequence number, which can cause
its routes to be rejected by peers until the state is cleared out by other
nodes in the network (which can take on the order of minutes).

There are two ways to fix this: Having stable storage to keep the sequence
number across restarts, or picking a different router ID each time.

This implements the latter, by introducing a new option that will cause
BIRD to randomize a high 32 bits of router ID every time it starts up.
This avoids the problem at the cost of not having stable router IDs in
the network.

Thanks to Toke Hoiland-Jorgensen for the patch.

6 years agoBabel: Fix type of route entry router ID
Ondrej Zajicek (work) [Thu, 3 May 2018 14:02:29 +0000 (16:02 +0200)] 
Babel: Fix type of route entry router ID

The router ID being assigned to routes was a uint, which discards the
upper 32 bits. This also has the nice side effect of echoing the wrong
router ID back to other routers.

Thanks to Toke Hoiland-Jorgensen for the patch.

6 years agoMakefile: Only set git version if BIRD is build from its repository.
Jan Maria Matejka [Thu, 3 May 2018 09:14:49 +0000 (11:14 +0200)] 
Makefile: Only set git version if BIRD is build from its repository.

Thanks to Toke Høiland-Jørgensen <toke@toke.dk> for reporting this bug.

6 years agoFilter: Added missing instruction comparators.
Jan Maria Matejka [Fri, 27 Apr 2018 12:38:41 +0000 (14:38 +0200)] 
Filter: Added missing instruction comparators.

These instructions caused SIGABORTs on reconfiguration.

6 years agoOSPF: Support of authentication trailer for OSPFv3
Ondrej Zajicek (work) [Wed, 25 Apr 2018 13:50:57 +0000 (15:50 +0200)] 
OSPF: Support of authentication trailer for OSPFv3

Implement RFC 7166, crypthographic authentication for OSPFv3
analogous to authentication used for OSPFv2.

6 years agoBGP: Fix extended next hop handling
Ondrej Zajicek (work) [Thu, 12 Apr 2018 14:55:56 +0000 (16:55 +0200)] 
BGP: Fix extended next hop handling

For IPv4 with extended next hop, we use MP-BGP format and therefore no
independent NEXT_HOP attribute.

Thanks to Arvin Gan for the bugreport.

6 years agoDoc: Documentation for BGP disable after cease option
Ondrej Zajicek (work) [Tue, 3 Apr 2018 15:31:45 +0000 (17:31 +0200)] 
Doc: Documentation for BGP disable after cease option

6 years agoDoc: Documentation for BGP extended next hop feature
Ondrej Zajicek (work) [Tue, 3 Apr 2018 14:53:58 +0000 (16:53 +0200)] 
Doc: Documentation for BGP extended next hop feature

Thanks to Arvin Gan for the bugreport.

6 years agoDoc: Remove some superfluous slashes
Ondrej Zajicek (work) [Sat, 24 Mar 2018 00:53:03 +0000 (01:53 +0100)] 
Doc: Remove some superfluous slashes

6 years agoAutoconf replaced by autoreconf
Ondrej Filip [Fri, 23 Mar 2018 16:24:58 +0000 (17:24 +0100)] 
Autoconf replaced by autoreconf

6 years agoDate added. v2.0.2
Ondrej Filip [Thu, 22 Mar 2018 12:30:10 +0000 (13:30 +0100)] 
Date added.

6 years agoMerge branch 'int-new' of ssh://gitlab.labs.nic.cz/labs/bird into int-new
Ondrej Filip [Thu, 22 Mar 2018 12:25:58 +0000 (13:25 +0100)] 
Merge branch 'int-new' of ssh://gitlab.labs.nic.cz/labs/bird into int-new

6 years agoNEWS and version update
Ondrej Zajicek (work) [Wed, 21 Mar 2018 14:17:56 +0000 (15:17 +0100)] 
NEWS and version update

6 years agoDoc: Minor update
Ondrej Zajicek (work) [Wed, 21 Mar 2018 15:32:51 +0000 (16:32 +0100)] 
Doc: Minor update

6 years agoDoc: Redesign default config file
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.

6 years agoMerge remote-tracking branch 'birdlab-tmp/int-new' into int-new
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

6 years agoNest: Fix table reconfiguration when nettype changes
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.

6 years agoNest: SADR support for Direct
Ondrej Zajicek (work) [Sun, 18 Mar 2018 01:56:51 +0000 (02:56 +0100)] 
Nest: SADR support for Direct

6 years agoDoc: SADR documentation
Ondrej Zajicek (work) [Sat, 17 Mar 2018 21:25:06 +0000 (22:25 +0100)] 
Doc: SADR documentation

6 years agoDoc: Update BGP 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.

6 years agoMerge branch 'master' into int-new
Jan Maria Matejka [Wed, 14 Mar 2018 11:57:16 +0000 (12:57 +0100)] 
Merge branch 'master' into int-new

6 years agoFilter: make bgpmask literals real constructors
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.

6 years agoMerge branch 'master' into int-new
Jan Maria Matejka [Tue, 13 Mar 2018 16:02:49 +0000 (17:02 +0100)] 
Merge branch 'master' into int-new

6 years agoFilters: Removed FI_COMMA, not used for 19 years.
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

6 years agoMerge branch 'master' into int-new
Jan Maria Matejka [Tue, 13 Mar 2018 15:51:04 +0000 (16:51 +0100)] 
Merge branch 'master' into int-new

6 years agoFilter: recursion to loop
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.

6 years agoFilter: Instruction codes named as enum
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.

6 years agoFilter: the test conf checks also a bit of BGP args
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.

6 years agoConfig: Dropped the ipv4:netmask4 syntax for IPv4 prefixes.
Jan Maria Matejka [Tue, 6 Mar 2018 15:03:35 +0000 (16:03 +0100)] 
Config: Dropped the ipv4:netmask4 syntax for IPv4 prefixes.

6 years agoMerge branch 'master' into int-new
Ondrej Zajicek (work) [Wed, 7 Mar 2018 16:41:49 +0000 (17:41 +0100)] 
Merge branch 'master' into int-new

6 years agoBabel: Fix build with restricted protocol set
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.

6 years agoMerge branch 'int-new' of ssh://gitlab.labs.nic.cz/labs/bird into int-new
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

6 years agoHandle properly enums for extended attributes
Ondrej Zajicek (work) [Tue, 13 Feb 2018 18:52:22 +0000 (19:52 +0100)] 
Handle properly enums for extended attributes

6 years agoAdd cscope Makefile target
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.

6 years agoBabel: Fix accidental bitwise or assignment
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.

6 years agoBabel: Add source-specific routing support
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.

6 years agoAdd support for source-specific IPv6 routes to BIRD core
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.

6 years agoNest: Trivial whitespace cleanup
Ondrej Zajicek (work) [Tue, 6 Feb 2018 16:43:55 +0000 (17:43 +0100)] 
Nest: Trivial whitespace cleanup

6 years agoKRT: Fix IPv6 route learn
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

6 years agoNest: Fix corner case in recursive next hop lookup
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.

6 years agoNest: remove duplicate function
Ondrej Zajicek (work) [Wed, 24 Jan 2018 12:55:12 +0000 (13:55 +0100)] 
Nest: remove duplicate function

6 years agoMerge branch 'master' into int-new
Ondrej Zajicek (work) [Tue, 23 Jan 2018 17:29:32 +0000 (18:29 +0100)] 
Merge branch 'master' into int-new

6 years agoIO: Fix socket priority
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.

6 years agoKRT: Fix option 'merge paths'
Ondrej Zajicek (work) [Tue, 23 Jan 2018 14:12:43 +0000 (15:12 +0100)] 
KRT: Fix option 'merge paths'

6 years agoKRT: Remove useless option
Ondrej Zajicek (work) [Tue, 23 Jan 2018 13:48:07 +0000 (14:48 +0100)] 
KRT: Remove useless option