0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-22 17:51:53 +00:00
Commit Graph

4246 Commits

Author SHA1 Message Date
Maria Matejka
926c3295d4 Merge commit 'b6385dec' into mq-aggregator-for-v3 2023-11-09 15:58:58 +01:00
Maria Matejka
45ffbb4d76 Merge commit '81a20ca5' into mq-aggregator-for-v3 2023-11-09 15:50:39 +01:00
Maria Matejka
4d6620a008 Merge commit '35726051' into mq-aggregator-for-v3 2023-11-09 15:50:28 +01:00
Maria Matejka
360de8fb68 Merge commit 'fcf22586' into mq-aggregator-for-v3 2023-11-09 15:50:02 +01:00
Maria Matejka
8429b4bc38 Merge commit '8e9e013b' into mq-aggregator-for-v3 2023-11-09 15:35:18 +01:00
Maria Matejka
eae4177220 Merge commit '3397ca51' into mq-aggregator-for-v3 2023-11-09 15:35:08 +01:00
Maria Matejka
2a30e9bd07 Merge commit 'e338c4b6' into mq-aggregator-for-v3 2023-11-09 15:34:54 +01:00
Maria Matejka
b979c6ce6e Merge commit 'bcff3ae7' into mq-aggregator-for-v3 2023-11-09 11:06:07 +01:00
Maria Matejka
6270373954 Merge commit '9ca86ef6' into mq-aggregator-for-v3 2023-11-09 10:52:53 +01:00
Maria Matejka
4c07f33261 Merge commit '9d456d53' into mq-aggregator-for-v3 2023-11-08 22:14:58 +01:00
Maria Matejka
cac866d5eb Merge commit '15c86ed0' into mq-aggregator-for-v3 2023-11-08 21:56:58 +01:00
Ondrej Zajicek
a0b4835253 MPLS: Fix issue with recursive MPLS routes
Recursive MPLS routes used hostentry from the original route, which
triggered different table than MPLS table, and therefore were not
updated.
2023-11-07 16:06:15 +01:00
Maria Matejka
3611555883 Merge commit '333ddd4f' into mq-aggregator-for-v3 2023-11-02 12:01:22 +01:00
Maria Matejka
3cb8d73e2e Merge commit 'e55696a4' into mq-aggregator-for-v3 2023-11-01 18:11:53 +01:00
Maria Matejka
29e3a86ad1 Merge commit '21213be5' into mq-aggregator-for-v3 2023-11-01 17:49:12 +01:00
Maria Matejka
dd0f3940d3 Merge commit '8ad9c4bb' into mq-aggregator-for-v3 2023-11-01 17:46:52 +01:00
Maria Matejka
5f166f6782 Aggregator: fixed route source unlocking on shutdown and withdraw 2023-11-01 17:25:29 +01:00
Maria Matejka
b958228953 Aggregator: Fixed bugs in filter usage 2023-11-01 10:57:43 +01:00
Maria Matejka
d16126dacd Merge commit 'a4adb09f5a5c3806488fb121eafc0e6c969135e7' into HEAD 2023-11-01 10:15:32 +01:00
Maria Matejka
c103b51fca Aggregator: Expressed most of the attribute logic in filter language 2023-11-01 10:15:16 +01:00
Igor Putovny
f42c118aa7 Basic route aggregation
Add a new protocol offering route aggregation.

User can specify list of route attributes in the configuration file and
run route aggregation on the export side of the pipe protocol. Routes are
sorted and for every group of equivalent routes new route is created and
exported to the routing table. It is also possible to specify filter
which will run for every route before aggregation.

Furthermore, it will be possible to set attributes of new routes
according to attributes of the aggregated routes.

This is a work in progress.

Original work by Igor Putovny, subsequent cleanups and finalization by
Maria Matejka.

This is a split-commit of the neighboring aggregator branch
with a bit improved lvalue handling, to have easier merge into v3.
2023-10-31 16:40:46 +01:00
Maria Matejka
ba91f4c831 Filters: allowing to return any number of values 2023-10-31 16:40:46 +01:00
Maria Matejka
df5a08e7c7 Filter: value hashing
Added a code for computing hash of filter values.

This is a split-commit of the neighboring aggregator branch
with improved lvalue and attribute handling.
2023-10-31 16:40:44 +01:00
Maria Matejka
407eb388b7 Filter: predefined variables for specific blocks
This is a split-commit of the neighboring aggregator branch
with a bit improved lvalue handling, to have easier merge into v3.
2023-10-30 13:10:37 +01:00
Maria Matejka
f0187d713c Filter: adding explicit route-block type
This is a split-commit of the neighboring aggregator branch
with a bit improved lvalue handling, to have easier merge into v3.
2023-10-30 13:10:36 +01:00
Maria Matejka
de70474fed Filter: adding explicit route type
This is a split-commit of the neighboring aggregator branch
with a bit improved lvalue handling, to have easier merge into v3.
2023-10-30 13:10:36 +01:00
Ondrej Zajicek
a740054db5 Nest: Minor fixes in MPLS 2023-10-25 18:25:46 +02:00
Michal Rada
06301a991d Doc: prefix match prefix pattern definition typo (in sets of prefixes definition) 2023-10-24 18:02:40 +02:00
Ondrej Zajicek
63f1c4d918 Use RTA_MAX_SIZE in rta_do_cow()
This allows to modify MPLS label stack in filters. Fixes a bug in
handling of 'gw_mpls' attribute.
2023-10-24 14:25:18 +02:00
Maria Matejka
108c4cfaf3 Autoconf: minor reduction of redundancy
Joined BIRD_CHECK_GCC_OPTION and BIRD_ADD_GCC_OPTION.
2023-10-24 12:45:08 +02:00
Ondrej Zajicek
c9b7b03211 CI: Update for new netlab worker
- Change tag from 'birdlab' to 'netlab'
 - Change path of gitlab-runner home dir
 - Use stayrtr from Debian
2023-10-18 03:37:59 +02:00
Ondrej Zajicek
5973031460 CI: Add MPLS tests 2023-10-16 15:34:01 +02:00
Ondrej Zajicek
b5e9e5197b MPLS: Fix issue with recursive MPLS routes
Recursive MPLS routes used hostentry from the original route, which
triggered different table than MPLS table, and therefore were not
updated.
2023-10-16 15:21:36 +02:00
Ondrej Zajicek
0e1fbaa5b2 NEWS and version update 2023-10-06 18:53:25 +02:00
Ondrej Zajicek
23f94b1368 Doc: Minor fixes 2023-10-06 18:52:02 +02:00
Ondrej Zajicek
c5c3a22bcc Conf: Bytestrings with hex: should use the same general format as ones without.
Either hex:01234567, or hex:01:23:45:67. No confusing formats like
hex:0123:4567🆎cdef, which looks like there is an implicit zero byte.
2023-10-06 04:59:47 +02:00
Pavel Šorejs
e83beb70bd KRT: Allow to learn routes with RTPROT_KERNEL
The Kernel protocol, even with the option 'learn' enabled, ignores
direct routes created by the OS kernel (on Linux these are routes
with rtm_protocol == RTPROT_KERNEL).

Implement optional behavior where both OS kernel and third-party routes
are learned, it can be enabled by 'learn all' option.

Minor changes by committer.
2023-10-06 04:55:56 +02:00
Ondrej Zajicek
57aa077227 BGP: Improve custom BGP attributes
- Implement EA_GET for custom BGP attributes
 - Forbid EA_SET on existing opaque attributes
 - Forbid redefining existing attributes
 - Document possible compatibility problems
2023-10-05 21:54:25 +02:00
Ondrej Zajicek
ba01a6f2e6 MPLS: Handle compatibility with old configs
Old configs do not define MPLS domains and may use a static protocol
to define static MPLS routes.

When MPLS channel is the only channel of static protocol, handle it
as a main channel. Also, define implicit MPLS domain if needed and
none is defined.
2023-10-05 17:54:43 +02:00
Ondrej Zajicek
de09fda5dc Filter: Fix scope handling in for loops
Changes in scope implementation broke scope handling in for loops.
The term in for loops is supposed to be parsed in the parent scope.
2023-10-05 14:26:22 +02:00
Ondrej Zajicek
abae806efd Conf: Fix 'show symbols'
Seems like the root scope was not marked as active.
2023-10-04 20:16:13 +02:00
Ondrej Zajicek
ab47c2ae46 BGP: Custom attribute definitions should use cfg_alloc(), not malloc()
Otherwise we would get memory leaks.
2023-10-04 20:16:13 +02:00
Maria Matejka
d41b06238d Filter: explicitly forbidden for-loop with pre-defined variable 2023-10-04 19:57:55 +02:00
Ondrej Zajicek
6a242b3ec6 IO: Fix race condition in event processing
When regular event was added from work event, we did remember that
regular event list was empty and therefore we did not use zero time
in poll(). This leads to ~3 s latency in route reload during
reconfiguration.
2023-10-04 17:36:03 +02:00
Ondrej Zajicek
0bfa216f49 Doc: Fix syntax errors in SGML 2023-10-04 15:25:05 +02:00
Ondrej Zajicek
be09b030ed MPLS: Update to support and use 64bit source id 2023-10-04 15:00:24 +02:00
Ondrej Zajicek
cab5fce2b6 Doc: L3VPN documentation 2023-10-04 13:12:05 +02:00
Ondrej Zajicek
8a70885694 Doc: MPLS documentation 2023-10-04 13:12:05 +02:00
Ondrej Zajicek
8f5511dafb L3VPN: Import/export target reconfiguration 2023-10-04 13:12:05 +02:00
Ondrej Zajicek
d8130da86b BGP, L3VPN: Fix MPLS channel reload
When a MPLS channel is reloaded, it should reload all regular MPLS-aware
channels. This causes re-evaluation of routes in FEC map and possibly
reannouncement of MPLS routes.
2023-10-04 13:12:05 +02:00