]> git.ipfire.org Git - thirdparty/bird.git/log
thirdparty/bird.git
4 years agoBFD: Better handling of BFD options in BGP configs
Ondrej Zajicek (work) [Thu, 12 Nov 2020 03:02:38 +0000 (04:02 +0100)] 
BFD: Better handling of BFD options in BGP configs

Merge multiple BFD option blocks in BGP configs instead of using the last
one. That is necessary for proper handling of templates when BFD options
are used both in a BGP template and in a BGP protocol derived from that
template.

4 years agoBFD: Fix superfluous reconfiguration of sessions
Ondrej Zajicek (work) [Thu, 12 Nov 2020 01:37:42 +0000 (02:37 +0100)] 
BFD: Fix superfluous reconfiguration of sessions

4 years agoBFD: Allow per-request session options
Ondrej Zajicek (work) [Sun, 8 Nov 2020 14:33:22 +0000 (15:33 +0100)] 
BFD: Allow per-request session options

BFD session options are configured per interface in BFD protocol. This
patch allows to specify them also per-request in protocols requesting
sessions (currently limited to BGP).

4 years agoRPKI: Add 'ignore max length' option
Ondrej Zajicek (work) [Sat, 10 Oct 2020 22:53:19 +0000 (00:53 +0200)] 
RPKI: Add 'ignore max length' option

Add 'ignore max length' option to RPKI protocol, which ignores received
max length in ROA records and instead uses max value (32 or 128). This
may be useful for implementing loose RPKI check for blackholes.

4 years agoDoc: Fix missing semicolons
Ondrej Zajicek (work) [Mon, 5 Oct 2020 12:52:55 +0000 (14:52 +0200)] 
Doc: Fix missing semicolons

Thanks to Marco Gartmann for the bugreport.

4 years agoDoc: Fix typo
Ondrej Zajicek (work) [Mon, 5 Oct 2020 12:45:01 +0000 (14:45 +0200)] 
Doc: Fix typo

Thanks to Sergey Kulikov for the bugreport.

4 years agoOSPF: Fixed a debug assert
Maria Matejka [Mon, 31 Aug 2020 13:41:39 +0000 (15:41 +0200)] 
OSPF: Fixed a debug assert

4 years agoOSPF: Skip out-of-state packets earlier
Ondrej Zajicek (work) [Wed, 12 Aug 2020 17:42:44 +0000 (19:42 +0200)] 
OSPF: Skip out-of-state packets earlier

Sometimes multicast OSPF packet is received when neighbor adjacency is
not established. Such packet should be ignored earlier in packet
processing as otherwise it causes strange error messages when OSPFv3
authentication is enabled.

5 years agoNest: Keep route ordering during route updates
Ondrej Zajicek (work) [Thu, 16 Jul 2020 13:02:10 +0000 (15:02 +0200)] 
Nest: Keep route ordering during route updates

Put new non-best routes to the end of list instead of the second
position. Put updated routes to their old position. Position is changed
just by best route selection.

5 years agoShow info from multiple protocols when protocol is not specified
Ondrej Zajicek (work) [Thu, 14 May 2020 01:48:17 +0000 (03:48 +0200)] 
Show info from multiple protocols when protocol is not specified

Most commands like 'show ospf neighbors' fail when protocol is not
specified and there are multiple instances of given protocol type.
This is annoying in BIRD 2, as many protocols have IPv4 and IPv6
instances. The patch changes that by showing output from all protocol
instances of appropriate type.

Note that the patch also removes terminating cli_msg() call from these
commands and moves it to the common iterating code.

5 years agoFilter: Improve handling of sets in BGP path masks
Kazuki Yamaguchi [Sun, 28 Jun 2020 13:37:01 +0000 (15:37 +0200)] 
Filter: Improve handling of sets in BGP path masks

Compare the content of PM_ASN_SET in path masks. A reconfiguration
was not properly triggering a reload of affected protocols when the
members of a set in a path mask change.

Also, update the printing code to so that it can display sets in a path
mask.

5 years agoFilter: Fix comparison of BGP path mask
Kazuki Yamaguchi [Sun, 28 Jun 2020 13:33:26 +0000 (15:33 +0200)] 
Filter: Fix comparison of BGP path mask

Add a missing return statement. Path masks with the same length were all
considered the same. Comparing two with different length would cause
out-of-bounds memory access.

5 years agoOSPF: Fix bad header length test
Ondrej Zajicek (work) [Wed, 10 Jun 2020 11:27:14 +0000 (13:27 +0200)] 
OSPF: Fix bad header length test

Thanks to Slava Aseev for the thorough bugreport.

5 years agoDoc: Add 'ptp address' to OSPF doc overview
Kenth Eriksson [Wed, 3 Jun 2020 21:05:29 +0000 (23:05 +0200)] 
Doc: Add 'ptp address' to OSPF doc overview

5 years agoTest: Fix unit test mockups
Ondrej Zajicek (work) [Wed, 3 Jun 2020 14:15:29 +0000 (16:15 +0200)] 
Test: Fix unit test mockups

5 years agoNetlink: Fix parsing of MPLS multipath routes
Kazuki Yamaguchi [Wed, 3 Jun 2020 13:18:02 +0000 (15:18 +0200)] 
Netlink: Fix parsing of MPLS multipath routes

Add support for RTA_MULTIPATH attribute parsing for AF_MPLS routes.

BIRD is capable of installing a multipath route into kernel on Linux,
but it would not be seen because parsing fails. This made BIRD attempt
to install the same route repeatedly.

(The patch minorly updated by committer)

5 years agoRPKI: Fix unnecessary reconnection on reconfiguration
Kazuki Yamaguchi [Wed, 3 Jun 2020 13:05:35 +0000 (15:05 +0200)] 
RPKI: Fix unnecessary reconnection on reconfiguration

Compare the new timing parameters with the old configuration, not with
the temporary state of the current connection.

The timing values in struct rpki_cache is updated by a version 1 End Of
Data PDU, unless this behavior is suppressed by the configuration
explicitly by the "keep" keyword. Consequently, every reconfiguration
of BIRD triggers a reconnection even if it is not necessary.

5 years agoLog: Do not open logfiles when parse-and-exit option is active
Ondrej Zajicek (work) [Sun, 31 May 2020 11:21:55 +0000 (13:21 +0200)] 
Log: Do not open logfiles when parse-and-exit option is active

This is a quick workaround for an issue where configured logfiles are
opened/created during parsing of a config file even when parse-and-exit
option is active. We should later refactor the logging code to avoid
opening log during parsing altogether.

5 years agoOSPF: setting list node to zero before enlisting
Maria Matejka [Tue, 2 Jun 2020 14:58:06 +0000 (16:58 +0200)] 
OSPF: setting list node to zero before enlisting

5 years agoBabel: Set onlink flag for IPv4 routes with unreachable next hop
Ondrej Zajicek (work) [Tue, 26 May 2020 21:43:13 +0000 (23:43 +0200)] 
Babel: Set onlink flag for IPv4 routes with unreachable next hop

If the next hop of a route is not a reachable address, the route should be
installed as onlink. This enables a configuration common in mesh networks
where the mesh interface is assigned a /32 and babel handles the routing by
installing onlink routes.

Thanks to Toke Hoiland-Jorgensen for the patch.

5 years agoOSPF: Fix handling of unnumbered PtPs
Ondrej Zajicek (work) [Tue, 26 May 2020 16:21:43 +0000 (18:21 +0200)] 
OSPF: Fix handling of unnumbered PtPs

This issue has a long history. In 2012, we changed data field for
unnumbered PtP links from iface id (specified by RFC) to IP address based
on reports of bugs in Quagga that required it, and we used out-of-band
information to distinquish unnumberred PtPs with the same local IP
address.

Then with OSPF graceful restart implementation, we found that we can no
longer use out-of-band information, and we need to use only LSAdb info
for routing table calculation, but i forgot to finish handling of this
case, so multiple unnumbered PtPs with the same local IP addresses were
broken.

Considering that even recent Mikrotik RouterOS has broken next hop
calculation that depends on IP address in PtP link data field, we
cannot just switch back to the iface id for unnumbered PtP links.

The patch makes two changes: First, it goes back to use out-of-band
(position) info for distinguishing local interfaces in SPF when graceful
restart is not enabled, while still uses LSAdb-only approach for SPF
calculation when graceful restart is enabled.

Second, it adds OSPF interface option 'ptp address', which controls
whether IP address or iface id is used in data field. It is enabled
by default except for unnumbered PtP links with enabled graceful
restart.

Thanks to Kenth Eriksson for the bugreport and Joakim Tjernlund for
suggestions.

5 years agoNest: Allow key id 0
Ondrej Zajicek (work) [Tue, 19 May 2020 00:50:47 +0000 (02:50 +0200)] 
Nest: Allow key id 0

There is nothing in RFCs specifying that id 0 is not allowed. Some
implementations does not support it, while some other use key id 0 by
default. We allow it but start with key id 1 by default.

Thanks to Kenth Eriksson for the bugreport.

5 years agoRIP: Triggered RIP (demand circuit) documentation
Ondrej Zajicek (work) [Mon, 18 May 2020 20:16:37 +0000 (22:16 +0200)] 
RIP: Triggered RIP (demand circuit) documentation

5 years agoNest: Implement BGP path mask loop operator
Ondrej Zajicek (work) [Mon, 18 May 2020 14:25:08 +0000 (16:25 +0200)] 
Nest: Implement BGP path mask loop operator

Implement regex-like '+' operator in BGP path masks to match previous
path mask item multiple times. This is useful as ASNs may appear
multiple times in paths due to path prepending for traffic engineering
purposes.

5 years agoRIP: Fix handling of passive mode for demand circuit interfaces
Ondrej Zajicek (work) [Tue, 12 May 2020 01:46:47 +0000 (03:46 +0200)] 
RIP: Fix handling of passive mode for demand circuit interfaces

5 years agoNest: Fix neighbor handling for colliding ranges
Ondrej Zajicek (work) [Mon, 11 May 2020 02:29:36 +0000 (04:29 +0200)] 
Nest: Fix neighbor handling for colliding ranges

Resolve neighbors using longest prefix match. Although interface ranges
should not generally collide, it may happen for unnumbered links.

Thanks to Kenth Eriksson for the bugreport.

5 years agoTests: Activate BGP-int test
Ondrej Zajicek (work) [Tue, 5 May 2020 00:20:30 +0000 (02:20 +0200)] 
Tests: Activate BGP-int test

5 years agoTests: Change unsupported Ubuntu 19.04 for supported version 19.10
Matous Holinka [Wed, 29 Apr 2020 14:15:17 +0000 (16:15 +0200)] 
Tests: Change unsupported Ubuntu 19.04 for supported version 19.10

5 years agoFilter: Remove quitbird command
Ondrej Zajicek (work) [Wed, 29 Apr 2020 13:07:33 +0000 (15:07 +0200)] 
Filter: Remove quitbird command

No need for this debug filter command and it can be abused from CLI.

5 years agoFixed a harmless warning in production build
Maria Matejka [Fri, 1 May 2020 13:41:42 +0000 (15:41 +0200)] 
Fixed a harmless warning in production build

5 years agoMerge remote-tracking branch 'origin/mq-static-analysis'
Maria Matejka [Fri, 1 May 2020 13:34:17 +0000 (15:34 +0200)] 
Merge remote-tracking branch 'origin/mq-static-analysis'

5 years agoSlab: Init node in slab head to NULLs. mq-static-analysis
Maria Matejka [Mon, 19 Aug 2019 12:43:14 +0000 (14:43 +0200)] 
Slab: Init node in slab head to NULLs.

5 years agoTimer: Adding missing initializer.
Maria Matejka [Sat, 17 Aug 2019 14:09:29 +0000 (16:09 +0200)] 
Timer: Adding missing initializer.

5 years agoLexer: strtoul shall never set endptr to NULL; it should be an error
Maria Matejka [Sat, 17 Aug 2019 13:03:09 +0000 (15:03 +0200)] 
Lexer: strtoul shall never set endptr to NULL; it should be an error

5 years agoUnix socket: Path length check directly before copying the path.
Maria Matejka [Sat, 17 Aug 2019 12:57:41 +0000 (14:57 +0200)] 
Unix socket: Path length check directly before copying the path.

This is not needed as the string is always short enough, anyway
it may be needed in future and one strlen during BIRD start is
cheap enough.

5 years agoLists: Replaced replace_node() by update_node() which is the only use of that function.
Maria Matejka [Mon, 19 Aug 2019 12:36:51 +0000 (14:36 +0200)] 
Lists: Replaced replace_node() by update_node() which is the only use of that function.

5 years agoLists: fix a stupid sanitizer bug
Maria Matejka [Sat, 17 Aug 2019 12:03:47 +0000 (14:03 +0200)] 
Lists: fix a stupid sanitizer bug

5 years agoUninitialized list nodes fixes
Maria Matejka [Sat, 17 Aug 2019 12:18:41 +0000 (14:18 +0200)] 
Uninitialized list nodes fixes

5 years agoNest: Added const to ea_show just to declare that this shouldn't really change anything
Maria Matejka [Sat, 17 Aug 2019 11:36:36 +0000 (13:36 +0200)] 
Nest: Added const to ea_show just to declare that this shouldn't really change anything

5 years agoOSPF: Zero-initialization of a temporary neighbor
Maria Matejka [Sat, 17 Aug 2019 08:28:55 +0000 (10:28 +0200)] 
OSPF: Zero-initialization of a temporary neighbor

5 years agoNest: Several assumptions to tame the static analyzer
Maria Matejka [Sat, 17 Aug 2019 08:20:46 +0000 (10:20 +0200)] 
Nest: Several assumptions to tame the static analyzer

5 years agoNest: Assumption in rt-show for not-so-intuitive invariant.
Maria Matejka [Sat, 17 Aug 2019 06:59:06 +0000 (08:59 +0200)] 
Nest: Assumption in rt-show for not-so-intuitive invariant.

5 years agoStatic scanner and expensive debugging setup fix
Maria Matejka [Sat, 17 Aug 2019 06:54:08 +0000 (08:54 +0200)] 
Static scanner and expensive debugging setup fix

5 years agoRPKI: fixed rare va_list leak
Maria Matejka [Fri, 16 Aug 2019 19:22:56 +0000 (21:22 +0200)] 
RPKI: fixed rare va_list leak

5 years agoStatic check: Don't report dead code
Maria Matejka [Fri, 16 Aug 2019 19:15:49 +0000 (21:15 +0200)] 
Static check: Don't report dead code

5 years agoOSPF: Adding a note about a static analyzer result.
Maria Matejka [Fri, 16 Aug 2019 12:04:53 +0000 (14:04 +0200)] 
OSPF: Adding a note about a static analyzer result.

5 years agoOSPF: variable-length array of size 0 replaced by alloca()'d pointer
Maria Matejka [Fri, 16 Aug 2019 10:47:13 +0000 (12:47 +0200)] 
OSPF: variable-length array of size 0 replaced by alloca()'d pointer

NULL pointer is safer than a random pointer onto stack if this function
gets changed and eventually broken.

5 years agoList expensive check.
Maria Matejka [Wed, 14 Aug 2019 14:23:58 +0000 (16:23 +0200)] 
List expensive check.

5 years agoExpensive check declaration
Maria Matejka [Wed, 14 Aug 2019 14:22:39 +0000 (16:22 +0200)] 
Expensive check declaration

Intended to be run at every operation with complex data structures
to check their consistency and validity.

5 years agoIPv6 address parser: fail on incomplete addresses
Maria Matejka [Wed, 14 Aug 2019 10:29:04 +0000 (12:29 +0200)] 
IPv6 address parser: fail on incomplete addresses

5 years agoFilter: Don't alloc varargs array if its length would be zero
Maria Matejka [Wed, 14 Aug 2019 09:49:20 +0000 (11:49 +0200)] 
Filter: Don't alloc varargs array if its length would be zero

5 years agoFilter: Removed forgotten dead code
Maria Matejka [Wed, 14 Aug 2019 09:31:03 +0000 (11:31 +0200)] 
Filter: Removed forgotten dead code

5 years agoNon-null function argument declaration
Maria Matejka [Mon, 27 Apr 2020 20:33:10 +0000 (22:33 +0200)] 
Non-null function argument declaration

5 years agoBGP: Fix handling of strange IPv6 link-local-only next hops
Ondrej Zajicek (work) [Wed, 29 Apr 2020 00:50:29 +0000 (02:50 +0200)] 
BGP: Fix handling of strange IPv6 link-local-only next hops

There are three common ways how to encode IPv6 link-local-only next hops:
(:: ll), (ll), and (ll ll). We use the first one but we should accept all
three. The patch fixes handling of the last one.

Thanks to Sebastian Hahn for the bugreport.

5 years agoMore assertion categories
Maria Matejka [Thu, 1 Aug 2019 12:25:01 +0000 (14:25 +0200)] 
More assertion categories

5 years agoNot calling memcpy with n=0.
Maria Matejka [Wed, 14 Aug 2019 08:28:23 +0000 (10:28 +0200)] 
Not calling memcpy with n=0.

5 years agoFilter: fixed omitted overflow check in EC constructor
Maria Matejka [Wed, 14 Aug 2019 09:06:49 +0000 (11:06 +0200)] 
Filter: fixed omitted overflow check in EC constructor

5 years agoMakefile rule for static analyzer
Maria Matejka [Wed, 14 Aug 2019 08:14:15 +0000 (10:14 +0200)] 
Makefile rule for static analyzer

5 years agoTests: Activate BGP-auth test
Ondrej Zajicek (work) [Tue, 28 Apr 2020 12:58:43 +0000 (14:58 +0200)] 
Tests: Activate BGP-auth test

5 years agoTests: Activate OSPF-VRF test
Ondrej Zajicek (work) [Tue, 28 Apr 2020 01:52:47 +0000 (03:52 +0200)] 
Tests: Activate OSPF-VRF test

5 years agoTests: Activate BGP test
Ondrej Zajicek (work) [Wed, 22 Apr 2020 14:03:37 +0000 (16:03 +0200)] 
Tests: Activate BGP test

5 years agoBGP: Fix handling of 16bit-only ASN translation
Nasato Goto [Wed, 15 Apr 2020 01:46:53 +0000 (03:46 +0200)] 
BGP: Fix handling of 16bit-only ASN translation

The bug generated invalid AGGREGATOR attribute during translation of
32bit ASN to 16bit-only BGP peer. The patch fixes that.

5 years agoConfiguration strings are constant.
Maria Matejka [Wed, 8 Apr 2020 20:25:15 +0000 (22:25 +0200)] 
Configuration strings are constant.

This is merely a const propagation. There was no problem in there.

5 years agoDoc: Update prefix set comment
Ondrej Zajicek (work) [Sat, 28 Mar 2020 16:17:51 +0000 (17:17 +0100)] 
Doc: Update prefix set comment

5 years agoFletcher16 test fixed to work at bigendian architectures.
Maria Matejka [Sat, 4 Apr 2020 23:12:06 +0000 (01:12 +0200)] 
Fletcher16 test fixed to work at bigendian architectures.

To be honest, it was wrong in concept, anyway it accidentally worked.

5 years agoFilter: Remove mixed address tests and fix formatting
Ondrej Zajicek (work) [Thu, 26 Mar 2020 03:53:23 +0000 (04:53 +0100)] 
Filter: Remove mixed address tests and fix formatting

5 years agoFilter: Optimize IPv4 prefix sets
Ondrej Zajicek (work) [Thu, 26 Mar 2020 02:57:48 +0000 (03:57 +0100)] 
Filter: Optimize IPv4 prefix sets

Use separate IPv4 and IPv6 implementation of prefix sets. Just this
change makes IPv4 prefix sets 60% smaller and 50% faster.

5 years agoRIP: Improvements to demand circuit mode
Ondrej Zajicek (work) [Sat, 14 Mar 2020 16:04:49 +0000 (17:04 +0100)] 
RIP: Improvements to demand circuit mode

Restart iface after changing demand circuit mode during reconfiguration.
Fix next_regular interval reset during reconfiguration. Send flushing
response when iface goes down.

5 years agoPerf: changed route update pattern to be more like common protocols
Maria Matejka [Mon, 27 Jan 2020 16:42:11 +0000 (17:42 +0100)] 
Perf: changed route update pattern to be more like common protocols

5 years agoNetlink: Handle interfaces with missing broadcast addresses
Ondrej Zajicek (work) [Thu, 5 Mar 2020 22:51:28 +0000 (23:51 +0100)] 
Netlink: Handle interfaces with missing broadcast addresses

5 years agoTests: Enforce cleanup before running a test
Ondrej Zajicek (work) [Thu, 5 Mar 2020 21:01:30 +0000 (22:01 +0100)] 
Tests: Enforce cleanup before running a test

5 years agoTests: Activate OSPF tests
Ondrej Zajicek (work) [Thu, 5 Mar 2020 16:39:52 +0000 (17:39 +0100)] 
Tests: Activate OSPF tests

5 years agoFlowspec: Fix tests
Ondrej Zajicek (work) [Tue, 3 Mar 2020 18:04:05 +0000 (19:04 +0100)] 
Flowspec: Fix tests

Missing dst no longer generates error.

5 years agoBGP: Handle flowspec rules without dst part
Ondrej Zajicek (work) [Tue, 3 Mar 2020 16:45:16 +0000 (17:45 +0100)] 
BGP: Handle flowspec rules without dst part

The RFC 5575 does not explicitly reject flowspec rules without dst part,
it just requires dst part in validation procedure for feasibility, which
we do not implement anyway. Thus flow without dst prefix is syntactically
valid, but unfeasible (if feasibilty testing is done).

Thanks to Alex D. for the bugreport.

5 years agoBGP: Support for MD5SIG together with remote range
Ondrej Zajicek (work) [Thu, 27 Feb 2020 15:16:48 +0000 (16:16 +0100)] 
BGP: Support for MD5SIG together with remote range

When dynamic BGP with remote range is configured, MD5SIG needs to use
newer socket option (TCP_MD5SIG_EXT) to specify remote addres range for
listening socket.

Thanks to Adam Kułagowski for the suggestion.

5 years agoRIP: Demand circuit support (RFC 2091)
Ondrej Zajicek (work) [Fri, 21 Feb 2020 01:35:50 +0000 (02:35 +0100)] 
RIP: Demand circuit support (RFC 2091)

5 years agoRIP: Fix crash when interface is removed
Ondrej Zajicek (work) [Fri, 14 Feb 2020 21:37:07 +0000 (22:37 +0100)] 
RIP: Fix crash when interface is removed

Recent changes in neighbor code caused RIP to access neighbor field which
is NULL during interface/neighbor removal and caused crash when debug
messages are enabled. Use correct field to get iface from neighbor.

5 years agoConf: Better error message when reading iproute2 config
Maria Matejka [Tue, 4 Feb 2020 09:34:46 +0000 (10:34 +0100)] 
Conf: Better error message when reading iproute2 config

Reported by: Martin Weinelt <martin@darmstadt.freifunk.net>

5 years agoRPKI: Allow build without libSSH
Maria Matejka [Tue, 4 Feb 2020 09:15:35 +0000 (10:15 +0100)] 
RPKI: Allow build without libSSH

5 years agoAdded missing extern
Maria Matejka [Tue, 4 Feb 2020 09:11:16 +0000 (10:11 +0100)] 
Added missing extern

Thanks to Robert Scheck <bird@robert-scheck.de> who reported it
and Toke Høiland-Jørgensen <toke@toke.dk> who suggested this patch.

5 years agoBFD: Option to specify which class of BFD sessions are accepted
Ondrej Zajicek (work) [Tue, 28 Jan 2020 17:07:25 +0000 (18:07 +0100)] 
BFD: Option to specify which class of BFD sessions are accepted

Allows to configure IPv4/IPv6-only or direct/multihop-only BFD protocol
instances.

5 years agoOSPF: Fix bad initialization of tx_hdrlen field
Ondrej Zajicek (work) [Thu, 9 Jan 2020 01:59:59 +0000 (02:59 +0100)] 
OSPF: Fix bad initialization of tx_hdrlen field

Function ifa_tx_hdrlen() uses fields autype and passwords, so it must be
called after these are set.

Thanks to Kenth Eriksson for the bugreport.

5 years agoKRT: Improve syncer code to avoid using temporary data in rtable
Ondrej Zajicek (work) [Tue, 7 Jan 2020 17:35:03 +0000 (18:35 +0100)] 
KRT: Improve syncer code to avoid using temporary data in rtable

The old code stored route verdicts and temporary routes directly in
rtable. The new code do not store received routes (it immediately
compares them with exported routes and resolves conflicts) and uses
internal bitmap to keep track of which routes were received and which
needs to be reinstalled.

By not putting 'invalid' temporary routes to rtable, we keep rtable
in consistent state, therefore scan no longer needs to be atomic
operation and could be splitted to multiple events.

5 years agoFilter: Fix typecheck for AND/OR.
Ondrej Zajicek (work) [Tue, 7 Jan 2020 00:24:30 +0000 (01:24 +0100)] 
Filter: Fix typecheck for AND/OR.

Do not apply dynamic type check for second argument of AND/OR, as it is
not evaluated immediately like regular argument would be.

Thanks to Mikael for the bugreport.

5 years agoKRT: Remove KRF_SYNC_ERROR flag
Ondrej Zajicek (work) [Thu, 19 Dec 2019 15:34:35 +0000 (16:34 +0100)] 
KRT: Remove KRF_SYNC_ERROR flag

This info is now stored in an internal bmap. Unfortunately, net.flags
is still needed for temporary kernel data.

5 years agoKRT: Fix removal of KRF_INSTALLED
Ondrej Zajicek (work) [Tue, 17 Dec 2019 15:30:29 +0000 (16:30 +0100)] 
KRT: Fix removal of KRF_INSTALLED

Use route id from net->routes to check export_map. Route received from
sysdep KRT code does not have proper id.

5 years agoTest: Improve filter_test
Ondrej Zajicek (work) [Mon, 16 Dec 2019 23:01:53 +0000 (00:01 +0100)] 
Test: Improve filter_test

Initial parsing of test.conf must be done directly in filter_test main,
while reconfiguration is handled as a regular test. Also fix several
minor issues in test code.

5 years agoDoc: Fix documentation of BGP gateway option
Ondrej Zajicek (work) [Mon, 16 Dec 2019 17:05:56 +0000 (18:05 +0100)] 
Doc: Fix documentation of BGP gateway option

Thanks to Nico Schottelius for the bugreport.

5 years agoKRT: Remove KRF_INSTALLED flag
Ondrej Zajicek (work) [Mon, 16 Dec 2019 01:40:28 +0000 (02:40 +0100)] 
KRT: Remove KRF_INSTALLED flag

The same information is stored in export_map of kernel protocol.

5 years agoFilter: fix filter comparison test
Maria Matejka [Thu, 12 Dec 2019 14:42:29 +0000 (15:42 +0100)] 
Filter: fix filter comparison test

5 years agoFilter: Fix function comparison
Ondrej Zajicek (work) [Tue, 10 Dec 2019 17:53:16 +0000 (18:53 +0100)] 
Filter: Fix function comparison

Check the SYM_FLAG_SAME in new symbols. The old code checked that
in old symbols (f2).

5 years agoNest: Fix bitmap cleanup
Ondrej Zajicek (work) [Tue, 10 Dec 2019 17:18:02 +0000 (18:18 +0100)] 
Nest: Fix bitmap cleanup

Channel currently does not have independent pool and uses protocol pool,
which is freed when protocol changes state to down, while channel is
still in flushing. Move some some cleanup code to channel_do_flush()
so it is done before freeing of protocol pool.

5 years agoFilter: Add support for src/dst accessors for Flowspec and SADR
Ondrej Zajicek (work) [Mon, 9 Dec 2019 03:23:01 +0000 (04:23 +0100)] 
Filter: Add support for src/dst accessors for Flowspec and SADR

5 years agoBGP: Add some statistics
Ondrej Zajicek (work) [Tue, 3 Dec 2019 17:05:41 +0000 (18:05 +0100)] 
BGP: Add some statistics

Add some statistic counters to BGP consistent with BGP MIB (RFC 4273),
including persistent 'FSM established transitions'.

5 years agoCI: Add more build tests
Matous Holinka [Tue, 26 Nov 2019 18:33:01 +0000 (19:33 +0100)] 
CI: Add more build tests

Add more Docker images with distributions (CentOS 8, Debian 10,
Fedora 27-31, OpenSUSE 15.0 & 15.1, and Ubuntu 18.04 & 19.04).
Fix some issues with older ones.

5 years agoCI: Cleanup of job templates
Ondrej Zajicek (work) [Sun, 10 Nov 2019 23:24:07 +0000 (00:24 +0100)] 
CI: Cleanup of job templates

Env templates were used for separate IPv4/IPv6 build, that is no longer
needed.

5 years agoCI: Update new netlab location
Ondrej Zajicek (work) [Sun, 10 Nov 2019 21:58:23 +0000 (22:58 +0100)] 
CI: Update new netlab location

5 years agoCI: Minor update
Ondrej Zajicek (work) [Sun, 10 Nov 2019 02:43:30 +0000 (03:43 +0100)] 
CI: Minor update

5 years agoApply relevant changes from branch mh-test-gitlab
Ondrej Zajicek (work) [Sun, 10 Nov 2019 02:02:58 +0000 (03:02 +0100)] 
Apply relevant changes from branch mh-test-gitlab

5 years agoGitlab test
Ondrej Zajicek (work) [Thu, 31 Oct 2019 23:13:59 +0000 (00:13 +0100)] 
Gitlab test