]> git.ipfire.org Git - thirdparty/bird.git/log
thirdparty/bird.git
2 weeks agoRAdv: Fix flags for deprecated prefixes master
Ondrej Zajicek [Thu, 27 Nov 2025 16:59:44 +0000 (17:59 +0100)] 
RAdv: Fix flags for deprecated prefixes

When a prefix is deprecated (valid_lifetime == 0), it should be
announced with the same flags as before. The old code announced it
without any flags, which leads to being ignored by recipients.

Note that a prefix could be depreacted for two reason - it is removed
from the interface, or it is deconfigured in BIRD configuration.

Thanks to Michael Saxl for the bugreport.

3 weeks agoTools: Release initialization script
Maria Matejka [Sat, 22 Nov 2025 22:23:28 +0000 (23:23 +0100)] 
Tools: Release initialization script

There is a bunch of things one needs to do in gitlab when releasing and
this script simply checks whether there is everything needed and fixes
what is missing,

3 weeks agoBMP: Fix crash when exporting a route with non-bgp attributes
Maria Matejka [Thu, 20 Nov 2025 13:35:02 +0000 (14:35 +0100)] 
BMP: Fix crash when exporting a route with non-bgp attributes

Reported-By: Annika Hannig
4 weeks agoCI: fix broken debian-11-i386 packaging dp-pipeline-fix
David Petera [Fri, 14 Nov 2025 13:07:38 +0000 (14:07 +0100)] 
CI: fix broken debian-11-i386 packaging

The error occured when trying to install 'markupsafe' v3.0.3 python package (dependency of 'apkg') on debian-11-i386 arch.
Fixed by preinstalling older version of 'markupsafe' package before the installation of 'apkg'.

Since the behavior is added to 'pkg-deb-legacy' it also effects packaging of ubuntu-18.04-amd64.
Also debian-11-amd64 is moved to 'pkg-deb-legacy' together with effected debian-11-i386 just for code clarity.

4 weeks agoBGP: Fix interface pattern behavior with free bind mq-bgp-multilisten
Maria Matejka [Thu, 28 Aug 2025 18:18:46 +0000 (20:18 +0200)] 
BGP: Fix interface pattern behavior with free bind

In case of free bind, it makes no sense to check for addresses
on the interfaces.

Also added quite some documentation on how this all behaves
in different combinations of options.

4 weeks agoBGP: Fix dynamic instance reconfiguration
Maria Matejka [Wed, 20 Aug 2025 13:35:32 +0000 (15:35 +0200)] 
BGP: Fix dynamic instance reconfiguration

Every dynamic BGP was torn down on reconfig because the inherited
configuration is a little bit different than the parent one. Fixed this
by applying the same changes before the reconfiguration's memcmp().

This bug was introduced in 56af56a5ab8929bf211bdbe8fef28cb37c2cb7fa.

Also fixed interface pattern reconfiguration which always restarted.
Added not only comparison but also actual reconfiguration of the pattern
itself so that one can update the pattern without restarting a running
BGP session.

Finally, extended documentation a bit to cover dynamic BGP scenarios a
little bit better. Yet, it probably deserves a separate section on
dynamic BGP.

4 weeks agoBGP: Fix TCP-AO single key rejection
Maria Matejka [Wed, 20 Aug 2025 13:34:31 +0000 (15:34 +0200)] 
BGP: Fix TCP-AO single key rejection

When one key fails but others are working OK, do not shut down the BGP,
just disable that one key. We intended to do it this way but it somehow
slipped through.

Also added key cleanup in cases where the key addition fails for just
some sockets but not for all.

4 weeks agoBGP: Refactoring incoming socket matching
Maria Matejka [Wed, 20 Aug 2025 09:52:26 +0000 (11:52 +0200)] 
BGP: Refactoring incoming socket matching

4 weeks agoBGP: Rewind MD5 setup on listening sockets on setup failure
Maria Matejka [Tue, 19 Aug 2025 09:16:15 +0000 (11:16 +0200)] 
BGP: Rewind MD5 setup on listening sockets on setup failure

4 weeks agoBGP: Fixed link-local connections with wildcard local iface
Maria Matejka [Wed, 16 Jul 2025 08:45:10 +0000 (10:45 +0200)] 
BGP: Fixed link-local connections with wildcard local iface

When BGP was configured to accept link-local connections
in combination with interface range, it failed to recognize
that the incoming connection is indeed for that protocol.

4 weeks agoBGP: Fixed unnumbered connections with wildcard local IP.
Maria Matejka [Tue, 8 Jul 2025 18:28:03 +0000 (20:28 +0200)] 
BGP: Fixed unnumbered connections with wildcard local IP.

When the BGP was configured onlink with a neighbor range, interface
range and wildcard local IP, the connections failed to establish
because the inferred local IP wasn't properly propagated.

4 weeks agoBGP: Interface range bind
Maria Matejka [Thu, 3 Jul 2025 15:16:14 +0000 (17:16 +0200)] 
BGP: Interface range bind

For dynamic onlink connections, we need to find out which interface
the connection came in, and we need to pin that connection to
that interface. To achieve that, we create a listening socket
bound to each interface separately, and match the incoming connection
by the socket. Otherwise, the kernel would not give us any information
on where the connection came from.

4 weeks agoBGP: Listening socket refactoring
Maria Matejka [Thu, 3 Jul 2025 09:58:01 +0000 (11:58 +0200)] 
BGP: Listening socket refactoring

We sometimes need to have multiple listening sockets for one passive
BGP. This refactoring commit updates the appropriate data structures.

4 weeks agoSocket: Warnings for link-local addresses without interfaces
Maria Matejka [Wed, 2 Jul 2025 14:40:34 +0000 (16:40 +0200)] 
Socket: Warnings for link-local addresses without interfaces

In certain corner cases (e.g. mixed global and link-local IPv6 address)
the kernel fails to give us the interface ID. We log a warning for such
a case before a possibly misleading error message is spit out by BGP.

Also pass TCP interface information from parent to child on accept,
if the interface is bound to that interface.

4 weeks agoBGP: Show onlink information in CLI
Maria Matejka [Thu, 3 Jul 2025 15:16:45 +0000 (17:16 +0200)] 
BGP: Show onlink information in CLI

5 weeks agoRAdv: Add P-flag to prefer prefix delegation in DHCPv6 ip-radv-pflag
Igor Putovny [Tue, 4 Nov 2025 14:15:54 +0000 (15:15 +0100)] 
RAdv: Add P-flag to prefer prefix delegation in DHCPv6

8 weeks agoConf: Add warning for symbol overriding keyword oz-test
Ondrej Zajicek [Thu, 16 Oct 2025 15:03:38 +0000 (17:03 +0200)] 
Conf: Add warning for symbol overriding keyword

In BIRD configuration, used-defined symbols can override keywords, which
could lead to an unexpected behavior when one tries to use such keyword
in its original meaning.

2 months agoFilter: Allow merging of intervals in build_tree()
Igor Putovny [Tue, 23 Sep 2025 14:58:14 +0000 (16:58 +0200)] 
Filter: Allow merging of intervals in build_tree()

Fixes a bug that overlapping intervals in sets are not processed properly.

2 months agoL3VPN: Add support for import/export target none and import target all
Ondrej Zajicek [Fri, 19 Sep 2025 16:46:41 +0000 (18:46 +0200)] 
L3VPN: Add support for import/export target none and import target all

The patch adds support for 'import/export target none' (or '[]' to
specify an empty set). It can be used when we do not want to import/export
any route from/to the VRF, or if we prefer to set the RT it in filters
(e.g., adding a different RT for different IP prefixes).

The patch also adds support for 'import target all', i.e. all VPN routes
are imported in the VRF IP table regardless of the RTs. Useful when more
complexx policy implemented in filters.

Based on patches from Sébastien Parisot <sparisot@iliad-free.fr>, thanks!

3 months agoNest: Function aspa_check() should return ASPA_INVALID for paths containing AS_SET
Evann DREUMONT [Tue, 2 Sep 2025 14:23:34 +0000 (16:23 +0200)] 
Nest: Function aspa_check() should return ASPA_INVALID for paths containing AS_SET

The aspa_check() uses as_path_getlen() to estimate the size of a buffer,
which does not work for AS_SET segments, because as_path_getlen() returns
length 1 for them regardless of their length. This may cause buffer
overflow and crash.

As AS_SET segments are not valid for ASPA verification, we can just
handle them explicitly. See https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-aspa-verification#section-6

Co-Authored-By: Alarig <alarig@swordarmor.fr>
Minor changes by committer.

3 months agoCI: Add test of user and groups before and after package installation dp-ci-debian-trixie
David Petera [Wed, 20 Aug 2025 14:45:06 +0000 (16:45 +0200)] 
CI: Add test of user and groups before and after package installation

Also fix typo and add more descriptive logging to installation test

3 months agoCI: Add debian trixie to pipeline
David Petera [Tue, 19 Aug 2025 16:05:22 +0000 (18:05 +0200)] 
CI: Add debian trixie to pipeline

3 months agoCI: Fix installation on newer debian-based distros
David Petera [Wed, 20 Aug 2025 16:04:37 +0000 (18:04 +0200)] 
CI: Fix installation on newer debian-based distros

Package 'adduser' needs to be installed explicitly

4 months agoBGP: Do not restart when next hop keep/self is changed
Maria Matejka [Tue, 29 Jul 2025 12:15:08 +0000 (14:15 +0200)] 
BGP: Do not restart when next hop keep/self is changed

The change in dade7147eb6b62b2d58d478a370baef513d96975 forces BGP to restart
even if next hop self and next hop keep changes, which can be updated just by
reloading export, while explicit next hop address can not.

Related to #280.

4 months agoCI: Autotests for BGP setting changes
Maria Matejka [Thu, 17 Jul 2025 22:19:14 +0000 (00:19 +0200)] 
CI: Autotests for BGP setting changes

There are actually 144 test variants. Choosing 12 of them, such that:

- m2 may request no RR, basic RR or enhanced RR
- m2 may have any combination of import and export table
- import and export table settings for m1 are pseudorandomized
- the same for multiple variants how to get basic RR negotiated

This should cover all the code with not too much resource consumption.

Implements #239.

4 months agoBGP: restart on outgoing next hop setting change
Maria Matejka [Wed, 25 Jun 2025 11:00:11 +0000 (13:00 +0200)] 
BGP: restart on outgoing next hop setting change

When next hop self / keep / address changed, BGP only reloaded
the exports but it didn't apply the changes. To fix this problem
before actually implementing a proper change detection algorithm,
we restart the protocol if this setting changes.

Fixes #280.

5 months agoFilter: Add more tests for append operator
Ondrej Zajicek [Tue, 1 Jul 2025 14:43:18 +0000 (16:43 +0200)] 
Filter: Add more tests for append operator

5 months agoFilter: Add 'append' operator
Ondrej Zajicek [Tue, 3 Jun 2025 02:04:47 +0000 (04:04 +0200)] 
Filter: Add 'append' operator

We need append() operator to concatenate strings / bytestrings.
Can be also written as '++', (e.g. "abcd" ++ "1234").

5 months agoCI: adding tests cf-bgp-unnumbered and cf-bgp-error-states
Maria Matejka [Sun, 29 Jun 2025 18:14:31 +0000 (20:14 +0200)] 
CI: adding tests cf-bgp-unnumbered and cf-bgp-error-states

The unnumbered test checks the onlink neighbor scenarios,
and the cf-bgp-error-states checks a regression for BIRD 3
where BGP crashed when listening socket failed to bind.

5 months agoBGP: Allow onlink neighbors
Maria Matejka [Thu, 19 Jun 2025 16:57:15 +0000 (18:57 +0200)] 
BGP: Allow onlink neighbors

In certain scenarios, the direct neighbor is not inside any prefix
assigned to the appropriate interface. There is a route for that address
pointing to that interface, though.

In such cases, the user may specify the neighbor as onlink, effectively
disabling the prefix check and trying to connect immediately. It is
expected that the operator ensures that the neighbor is indeed there.

5 months agoCI: Limit log bloating for netlab runners mq-pin-apkg
Maria Matejka [Thu, 19 Jun 2025 19:12:52 +0000 (21:12 +0200)] 
CI: Limit log bloating for netlab runners

There is no useful configurable file size limit for netlab, allowing
the job to eat up all the disk. Thus we limit it directly in the script
by setting ulimit -f to 1G.

5 months agoCI: Pinned apkg version to 0.5.1 until 0.6.0 is fixed
Maria Matejka [Thu, 19 Jun 2025 19:03:27 +0000 (21:03 +0200)] 
CI: Pinned apkg version to 0.5.1 until 0.6.0 is fixed

This workarounds packaging/apkg#114.

5 months agoCI: split make gitlab to local and venv variant
Maria Matejka [Thu, 19 Jun 2025 16:40:23 +0000 (18:40 +0200)] 
CI: split make gitlab to local and venv variant

If you prefer to install python3-jinja2 and pyaml yourself,
run gitlab-local. If you prefer the thing to create a venv
and pip3 all the dependencies, run gitlab-venv.

5 months agoDoc: Fix documentation for "next hop prefer" ip-bgp-next-hop-prefer-local
Igor Putovny [Fri, 30 May 2025 16:08:46 +0000 (18:08 +0200)] 
Doc: Fix documentation for "next hop prefer"

5 months agoBGP: Add option "next hop prefer local" and use it in direct mode of next hop computation
Igor Putovny [Thu, 29 May 2025 15:55:49 +0000 (17:55 +0200)] 
BGP: Add option "next hop prefer local" and use it in direct mode of next hop computation

5 months agoCLI: Add missing semicolon for option RESTRICT 241-bgp-improve-next-hop-prefer-option-2
Vojtech Vilimek [Tue, 17 Jun 2025 13:34:43 +0000 (15:34 +0200)] 
CLI: Add missing semicolon for option RESTRICT

5 months agoCLI: Fix memory leak in cli_listen (fixes #285)
Vojtech Vilimek [Tue, 17 Jun 2025 13:22:58 +0000 (15:22 +0200)] 
CLI: Fix memory leak in cli_listen (fixes #285)

6 months agoCI: add cf-pipe-collision test 37-add-asserts-to-hash-lib-to-inhibit-modifications-when-walking 37-add-asserts-to-hash-lib-to-inhibit-modifications-when-walking-2 37-add-asserts-to-hash-lib-to-inhibit-modifications-when-walking-3
Maria Matejka [Fri, 13 Jun 2025 18:34:59 +0000 (20:34 +0200)] 
CI: add cf-pipe-collision test

6 months agoCLI: fix display of ambiguos command options listing 279-mq-command-expansion-fix
Maria Matejka [Fri, 13 Jun 2025 08:02:07 +0000 (10:02 +0200)] 
CLI: fix display of ambiguos command options listing

When fixing display of two-command help messages, we failed to test that
all the CLI functions still do work as expected.

Fixes: #279
Introduced-In: 457c10267054b999b188164dbf6bc5975838dd31
Reported-By: Артём Варакса <varaksaaa@basealt.ru>
6 months agoCI: Fix tests for merge requests
Maria Matejka [Thu, 12 Jun 2025 09:55:21 +0000 (11:55 +0200)] 
CI: Fix tests for merge requests

The branch name check needed to be extended to include merge requests.
Now for merge requests, we generate a fake branch name.

6 months agoCI: Fix netlab failure artifact collection
Maria Matejka [Thu, 12 Jun 2025 09:52:32 +0000 (11:52 +0200)] 
CI: Fix netlab failure artifact collection

When implementing artifact collection for netlab,
I forgot that the coredumps and logs are generated outside the
repository. Moving the artifacts to the right place for collection.

Introduced in 3d88a81f102783bd4af3d99db1e1f14d14050d6c.

6 months agoBGP: Disallow AS Sets by default (documentation)
Maria Matejka [Thu, 12 Jun 2025 18:57:19 +0000 (20:57 +0200)] 
BGP: Disallow AS Sets by default (documentation)

The documentation needed to be updated as well to be consistent
with the code.

Related to #248.

6 months agoBGP: Disallow AS Sets by default
Igor Putovny [Mon, 2 Jun 2025 11:44:42 +0000 (13:44 +0200)] 
BGP: Disallow AS Sets by default

For a long time, AS Sets have been considered obsolete
but they were still valid by the original RFC. Recently,
RFC 9774 flipped this and AS Sets are now formally deprecated.

Therefore, all BGP sessions will now by default reject routes
containing AS Sets in their AS Paths. If you want to keep the
old behavior, you may simply state

    allow as set;

in every BGP protocol configuration where you want to accept AS Sets.

This closes #248.

6 months agoCI: Add tests rip-vrf, ibgp-bfd-auth, ebgp-bfd-auth
Ondrej Zajicek [Thu, 5 Jun 2025 15:29:39 +0000 (17:29 +0200)] 
CI: Add tests rip-vrf, ibgp-bfd-auth, ebgp-bfd-auth

6 months agoBGP: Restart if route refresh is impossible on attribute change
Maria Matejka [Wed, 4 Jun 2025 12:53:36 +0000 (14:53 +0200)] 
BGP: Restart if route refresh is impossible on attribute change

In previous commit, we force route refresh when some protocol attributes
change. Yet, when the neighbor doesn't support route refresh, we have to
restart the session, not send an unsupported request.

Note: if the neighbor is restarting right now with graceful restart
enabled, we keep the stale routes until the neighbor converges again.

Related to #268

6 months agoBGP: Do route refresh after preference change
Ondrej Zajicek [Tue, 3 Jun 2025 14:56:41 +0000 (16:56 +0200)] 
BGP: Do route refresh after preference change

Reconfiguration of preference is handled by nest code by asking for
reload, but in case of BGP with import table, that just reloaded routes
with the old preference. In BGP, we can handle that by triggering full
route refresh.

Although, it would be probably better to set preference in nest, when
a route is propagated from the import table.

6 months agoNest: Fix route update after preference change 241-bgp-improve-next-hop-prefer-option 248-bgp-reject-as-sets-by-default 270-reject-configuration-with-secondary-and-add-paths-tx-together
Ondrej Zajicek [Thu, 29 May 2025 15:34:35 +0000 (17:34 +0200)] 
Nest: Fix route update after preference change

The route preference was ignored in route comparison, therefore if
a protocol changed it and then reloaded routes, they were ignored
and routes with the old prefernce were kept.

The bug was introduced 5 years ago, when preference was moved from
struct rte to struct rta.

6 months agoCI: Note on how to trigger image rebuild when adding new dockerfile.
Jana Babovakova [Tue, 27 May 2025 10:42:13 +0000 (12:42 +0200)] 
CI: Note on how to trigger image rebuild when adding new dockerfile.

6 months agoCI: Added Docker for Rocky Linux 8 and 9.
Jana Babovakova [Tue, 27 May 2025 10:34:45 +0000 (12:34 +0200)] 
CI: Added Docker for Rocky Linux 8 and 9.

Updated both to supported versions 8.10, 9.5.

6 months agoCI: Add package install tests.
David Petera [Wed, 7 May 2025 14:02:09 +0000 (16:02 +0200)] 
CI: Add package install tests.

We are checking that generated BIRD packages can be installed and run.
Communication between bird and birdc is also tested.

This fixes #202

6 months agoCI: Add systemd installation to Fedora Dockerfiles and make exception in bird.spec...
David Petera [Wed, 7 May 2025 13:36:14 +0000 (15:36 +0200)] 
CI: Add systemd installation to Fedora Dockerfiles and make exception in bird.spec for CentOS and OpenSUSE distros.

6 months agoCI: added new ASPA tests.
Jana Babovakova [Fri, 23 May 2025 10:19:59 +0000 (12:19 +0200)] 
CI: added new ASPA tests.

6 months agoGitlab: fix cleanup after failed netlab
Maria Matejka [Thu, 22 May 2025 15:57:00 +0000 (17:57 +0200)] 
Gitlab: fix cleanup after failed netlab

I forgot to add cd command to move to the right directory.

6 months agoCI: Stayrtr binary has moved elsewhere
Maria Matejka [Thu, 22 May 2025 15:21:13 +0000 (17:21 +0200)] 
CI: Stayrtr binary has moved elsewhere

Installed our local version supporting RTRv2 and ASPA

6 months agoGitlab: properly cleanup after failed netlab jobs
Maria Matejka [Sat, 10 May 2025 18:17:34 +0000 (20:17 +0200)] 
Gitlab: properly cleanup after failed netlab jobs

Also keeps artifacts from failed netlab jobs to allow for
easier debugging

6 months agoBGP: Improve log messages in reconfiguration
Ondrej Zajicek [Thu, 22 May 2025 12:55:35 +0000 (14:55 +0200)] 
BGP: Improve log messages in reconfiguration

Use separate messages for import / export reload triggered by
reconfiguration.

6 months agoConf: Silence grammar conflict warning
Ondrej Zajicek [Wed, 21 May 2025 15:02:28 +0000 (17:02 +0200)] 
Conf: Silence grammar conflict warning

There is one harmless grammar ambiquity that is hard to avoid, so let
just document it and silence it.

6 months agoBGP: Minor refactoring of capability write
Ondrej Zajicek [Tue, 20 May 2025 16:44:40 +0000 (18:44 +0200)] 
BGP: Minor refactoring of capability write

7 months agoNest: Improve grammar rule for interface patterns
Ondrej Zajicek [Sat, 10 May 2025 02:30:17 +0000 (04:30 +0200)] 
Nest: Improve grammar rule for interface patterns

Interface options should allow constants/expressions for name patterns.

Thanks to Arnaud Gomes-do-Vale for the bugreport.

7 months agoStatic: Improve grammar rule for static route next hops
Ondrej Zajicek [Fri, 9 May 2025 16:51:54 +0000 (18:51 +0200)] 
Static: Improve grammar rule for static route next hops

Static routes should allow constants/expressions for interface names in
next hops.

7 months agoConf: Fix cases where lexer tokens are used instead of parser rules
Ondrej Zajicek [Fri, 9 May 2025 16:26:15 +0000 (18:26 +0200)] 
Conf: Fix cases where lexer tokens are used instead of parser rules

7 months agoConf: Switch options should use boolean values
Ondrej Zajicek [Fri, 9 May 2025 13:38:31 +0000 (15:38 +0200)] 
Conf: Switch options should use boolean values

Fix switch options to use boolean constants and expressions intead of
integer ones. Still allow integer values with deprecation warning.

Also, allow true/false in addition to on/off and yes/no.

7 months agoConf: Improve parsing of config datatypes
Ondrej Zajicek [Fri, 9 May 2025 12:53:58 +0000 (14:53 +0200)] 
Conf: Improve parsing of config datatypes

Parser rules for configuration datatypes were inconsistent about whether
they accept literals, constants, or expressions. We should accept each
of these three everywhere.

The patch also simplifies the grammar, makes it more uniform, and adds
some documentation about that.

7 months agoConf: Fix invalid check in text_or_ipa grammar
Ondrej Zajicek [Tue, 6 May 2025 12:50:53 +0000 (14:50 +0200)] 
Conf: Fix invalid check in text_or_ipa grammar

Can cause crash when a bad expression is used.

7 months agoVersion script: fix detached mode
Maria Matejka [Sat, 10 May 2025 13:02:58 +0000 (15:02 +0200)] 
Version script: fix detached mode

7 months agoBuild: call tools/version with sh
xtex [Fri, 9 May 2025 11:14:50 +0000 (07:14 -0400)] 
Build: call tools/version with sh

As tools/version has a shebang line, it should be
fine to just call it without specifying bash.

Calling bash explicitly may lead to inconsistency,
as the first line of tools/version indicates /usr/bin/sh
but the script is always executed with bash.
And, it adds bash as a new build dependency.

Signed-off-by: xtex <xtexchooser@duck.com>
7 months agoNEWS and version update v2.17.1
Maria Matejka [Tue, 29 Apr 2025 18:30:45 +0000 (20:30 +0200)] 
NEWS and version update

7 months agoTag checking
Maria Matejka [Tue, 29 Apr 2025 08:03:14 +0000 (10:03 +0200)] 
Tag checking

Adding a script to gather all information about the current release and
confirm that it is indeed ready for departure.

7 months agoCI: Checking that the reported version is actually the built one
Maria Matejka [Thu, 24 Apr 2025 19:06:27 +0000 (21:06 +0200)] 
CI: Checking that the reported version is actually the built one

7 months agoCI: Packages are built from the single release tgz package
Maria Matejka [Thu, 24 Apr 2025 18:46:34 +0000 (20:46 +0200)] 
CI: Packages are built from the single release tgz package

7 months agoCI: Tasks generated from a data file and template
Maria Matejka [Sat, 19 Apr 2025 18:11:02 +0000 (20:11 +0200)] 
CI: Tasks generated from a data file and template

Instead of directly editing .gitlab-ci.yml, the pipeline definition is
generated by a script from a much shorter file defining the required
tests, and templated.

7 months agoVersion and release scripting
Maria Matejka [Mon, 14 Apr 2025 13:14:05 +0000 (15:14 +0200)] 
Version and release scripting

Version number moved to a separate file as a primary source of truth.

Added tools/release-commit to make the release process a little bit faster.

Fixes #218

7 months agoCI: Immediately fail if WIP commits pushed to a stable branch
Maria Matejka [Sat, 12 Apr 2025 19:13:19 +0000 (21:13 +0200)] 
CI: Immediately fail if WIP commits pushed to a stable branch

7 months agoCI: no pipeline for WIP commits
Maria Matejka [Fri, 11 Apr 2025 19:47:45 +0000 (21:47 +0200)] 
CI: no pipeline for WIP commits

We'd like to encourage team members to push WIP work to Gitlab. Such
work often fails to build and therefore we run no tests for these
branches.

7 months agoBGP: Update obsolete RFC 8203 to newer RFC 9003
Ondrej Zajicek [Sat, 26 Apr 2025 22:48:29 +0000 (00:48 +0200)] 
BGP: Update obsolete RFC 8203 to newer RFC 9003

7 months agoBSD: Silence some warnings
Ondrej Zajicek [Fri, 25 Apr 2025 17:02:11 +0000 (19:02 +0200)] 
BSD: Silence some warnings

7 months agoBSD: Fix build on NetBSD
Ondrej Zajicek [Fri, 25 Apr 2025 16:29:28 +0000 (18:29 +0200)] 
BSD: Fix build on NetBSD

Newer NetBSD versions removed RTF_LLINFO and added RTF_LLDATA.
In FreeBSD, RTF_LLINFO is obsolete, but still defined.

7 months agoCI: Add builds on new NetBSD workers
Ondrej Zajicek [Thu, 24 Apr 2025 15:04:15 +0000 (17:04 +0200)] 
CI: Add builds on new NetBSD workers

7 months agoBGP: Fix crash when incoming connection for disabled protocol arrives
Ondrej Zajicek [Thu, 24 Apr 2025 01:01:19 +0000 (03:01 +0200)] 
BGP: Fix crash when incoming connection for disabled protocol arrives

The function bgp_find_proto() may return a protocol in DOWN state, but
ao.keys (as most protocol data) are only valid in non-DOWN state.

7 months agoSilence some warnings
Ondrej Zajicek [Wed, 23 Apr 2025 01:53:56 +0000 (03:53 +0200)] 
Silence some warnings

7 months agoCI: Add builds on new OpenBSD workers
Ondrej Zajicek [Tue, 22 Apr 2025 13:46:34 +0000 (15:46 +0200)] 
CI: Add builds on new OpenBSD workers

7 months agoCI: Add FreeBSD 14 and netlink builds for FreeBSD 13 and 14.
Jana Babovakova [Mon, 14 Apr 2025 13:29:58 +0000 (15:29 +0200)] 
CI: Add FreeBSD 14 and netlink builds for FreeBSD 13 and 14.

7 months agoCI: Do not rebuild Docker images for test builds for new branches
Maria Matejka [Wed, 16 Apr 2025 18:36:17 +0000 (20:36 +0200)] 
CI: Do not rebuild Docker images for test builds for new branches

New branch considers all files changed. We don't want to rebuild all
docker images for new branches; that's just a waste of time and energy.

There is a better way for future -- a much better fine-grained control
may be obtained by running secondary pipelines.

fixes #212

7 months agocli/commands: Help for multiple word command did not show properly.
Katerina Kubecova [Tue, 15 Apr 2025 15:22:33 +0000 (17:22 +0200)] 
cli/commands: Help for multiple word command did not show properly.

Possible commands are stored as keywords, each keyword has its own structure.
The last acceptable keyword structure contains string with hint. But when the hint was printed only direct child
of the base keyword was considered. If it was multi keyword command, the first child did not carry any hint to print,
so it was ignored.

Now, if we don't find a hint in a child, we recursively search in grandchildren.

7 months agoCI: enable Fedora 42: image, build, package.
Jana Babovakova [Wed, 16 Apr 2025 08:41:34 +0000 (10:41 +0200)] 
CI: enable Fedora 42: image, build, package.

7 months agoDocker: added lost docker file for Fedora 42.
Jana Babovakova [Wed, 16 Apr 2025 08:39:50 +0000 (10:39 +0200)] 
Docker: added lost docker file for Fedora 42.

7 months agoDocker: lost files for OpenSuse 15.4, 15.5
Jana Babovakova [Mon, 14 Apr 2025 13:41:46 +0000 (15:41 +0200)] 
Docker: lost files for OpenSuse 15.4, 15.5

8 months agoDoc: Minor corrections in README and INSTALL
Jana Babovakova [Wed, 2 Apr 2025 11:44:02 +0000 (13:44 +0200)] 
Doc: Minor corrections in README and INSTALL

- Licence to License - also in code comments.
- copyright date until now.
- updated license text from gnu.org
- added command to build bird documentation.

8 months agoCI: Fix missing srcdir in path to tools/version
Ondrej Zajicek [Tue, 8 Apr 2025 15:52:12 +0000 (17:52 +0200)] 
CI: Fix missing srcdir in path to tools/version

8 months agoCI: fix test collisions between branches (again)
Maria Matejka [Tue, 17 Dec 2024 11:38:12 +0000 (12:38 +0100)] 
CI: fix test collisions between branches (again)

The build-netlab job was side-effecting the test-* jobs,
and if for some reason Gitlab scheduled build-netlab before
other pipeline's test-* jobs finished, these jobs got a wrong
binary, possibly failing. Solved by using explicit artifacts, which is
not the fastest way to do this (we could keep the binaries named there)
but it's the gitlab-right way to do this.

(Re-committed, was accidentally removed by one of previous commits)

8 months agoNEWS and version update v2.17
Maria Matejka [Tue, 1 Apr 2025 19:49:58 +0000 (21:49 +0200)] 
NEWS and version update

8 months agoRelease tools: fix several bugs in version number detection
Maria Matejka [Thu, 3 Apr 2025 18:03:50 +0000 (20:03 +0200)] 
Release tools: fix several bugs in version number detection

Forgetting to do proper checks, I merged a buggy release tools update
not detecting the right version (mostly if tagged).

8 months agoDoc singlepage: add bold handler
Maria Matejka [Tue, 1 Apr 2025 18:05:09 +0000 (20:05 +0200)] 
Doc singlepage: add bold handler

8 months agoDocker build machinery: a little bit of documentation
Maria Matejka [Tue, 1 Apr 2025 12:19:23 +0000 (14:19 +0200)] 
Docker build machinery: a little bit of documentation

8 months agoCI: Massive update of build and test runners
Jana Babovakova [Tue, 1 Apr 2025 10:05:46 +0000 (12:05 +0200)] 
CI: Massive update of build and test runners

Fixed and added current distros, deleted certain EOL distros,
sorted things in the CI file.

With some heavy lifting and comments by Maria.

Signed-Off-By: Maria Matejka <mq@jmq.cz>
8 months agoFix dependecy issue with bs4 on legacy distros
David Petera [Fri, 28 Feb 2025 14:40:04 +0000 (15:40 +0100)] 
Fix dependecy issue with bs4 on legacy distros

8 months agoFix getting the version tag. Now it should also support older versions of git
David Petera [Tue, 18 Feb 2025 11:38:13 +0000 (12:38 +0100)] 
Fix getting the version tag. Now it should also support older versions of git

8 months agoReadd CentOS 7 to CI build and package process
David Petera [Fri, 31 Jan 2025 13:08:49 +0000 (14:08 +0100)] 
Readd CentOS 7 to CI build and package process

8 months agoAdd archived repositories for CentOS 8
David Petera [Fri, 31 Jan 2025 13:07:33 +0000 (14:07 +0100)] 
Add archived repositories for CentOS 8

8 months agoRemove links to czech repos in EOL debians and add archived repos for debian 9
David Petera [Fri, 17 Jan 2025 12:50:47 +0000 (13:50 +0100)] 
Remove links to czech repos in EOL debians and add archived repos for debian 9