]>
git.ipfire.org Git - thirdparty/bird.git/log
Maria Matejka [Thu, 9 Nov 2023 14:50:15 +0000 (15:50 +0100)]
Merge branch 'mq-aggregator-for-v3' into thread-next
Maria Matejka [Thu, 9 Nov 2023 14:50:13 +0000 (15:50 +0100)]
Merge branch 'mq-aggregator-for-v3' into thread-next
Maria Matejka [Thu, 9 Nov 2023 14:50:02 +0000 (15:50 +0100)]
Merge commit '
fcf22586 ' into mq-aggregator-for-v3
Maria Matejka [Thu, 9 Nov 2023 14:35:18 +0000 (15:35 +0100)]
Merge commit '
8e9e013b ' into mq-aggregator-for-v3
Maria Matejka [Thu, 9 Nov 2023 14:35:11 +0000 (15:35 +0100)]
Merge branch 'mq-aggregator-for-v3' into thread-next
Maria Matejka [Thu, 9 Nov 2023 14:35:08 +0000 (15:35 +0100)]
Merge commit '
3397ca51 ' into mq-aggregator-for-v3
Maria Matejka [Thu, 9 Nov 2023 14:34:59 +0000 (15:34 +0100)]
Merge branch 'mq-aggregator-for-v3' into thread-next
Maria Matejka [Thu, 9 Nov 2023 14:34:54 +0000 (15:34 +0100)]
Merge commit '
e338c4b6 ' into mq-aggregator-for-v3
Maria Matejka [Thu, 9 Nov 2023 14:20:13 +0000 (15:20 +0100)]
Merge branch 'mq-aggregator-for-v3' into thread-next
Maria Matejka [Thu, 9 Nov 2023 10:06:07 +0000 (11:06 +0100)]
Merge commit '
bcff3ae7 ' into mq-aggregator-for-v3
Maria Matejka [Thu, 9 Nov 2023 10:04:57 +0000 (11:04 +0100)]
Merge branch 'mq-aggregator-for-v3' into thread-next
Maria Matejka [Thu, 9 Nov 2023 09:52:53 +0000 (10:52 +0100)]
Merge commit '
9ca86ef6 ' into mq-aggregator-for-v3
Maria Matejka [Wed, 8 Nov 2023 21:24:33 +0000 (22:24 +0100)]
Merge branch 'mq-aggregator-for-v3' into thread-next
Maria Matejka [Wed, 8 Nov 2023 21:14:58 +0000 (22:14 +0100)]
Merge commit '
9d456d53 ' into mq-aggregator-for-v3
Maria Matejka [Wed, 8 Nov 2023 21:14:19 +0000 (22:14 +0100)]
Merge branch 'mq-aggregator-for-v3' into thread-next
Maria Matejka [Wed, 8 Nov 2023 20:56:58 +0000 (21:56 +0100)]
Merge commit '
15c86ed0 ' into mq-aggregator-for-v3
Maria Matejka [Wed, 8 Nov 2023 20:51:46 +0000 (21:51 +0100)]
Merge branch 'mq-aggregator-for-v3' into thread-next
Maria Matejka [Wed, 8 Nov 2023 16:37:42 +0000 (17:37 +0100)]
Merge remote-tracking branch 'origin/partial-reload' into thread-next
Ondrej Zajicek [Mon, 16 Oct 2023 13:21:36 +0000 (15:21 +0200)]
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.
Katerina Kubecova [Mon, 6 Nov 2023 08:38:13 +0000 (09:38 +0100)]
krt.c: fixup lots of routes learn & unlearn
Maria Matejka [Thu, 2 Nov 2023 13:43:15 +0000 (14:43 +0100)]
Merge branch 'thread-next' into HEAD
Katerina Kubecova [Thu, 2 Nov 2023 13:33:00 +0000 (14:33 +0100)]
Automatic ROA reloads on channel import
This includes updating OSPF, Pipe and RIP to enable partial route reload
directly from the protocols' internal tables.
Katerina Kubecova [Thu, 2 Nov 2023 13:28:50 +0000 (14:28 +0100)]
FIB walk macros now allow continue from the loop
Maria Matejka [Wed, 4 Oct 2023 09:03:29 +0000 (11:03 +0200)]
Prefiltering routes by net and custom hook for partial reloads
Maria Matejka [Wed, 4 Oct 2023 08:39:46 +0000 (10:39 +0200)]
Channel feeding request respects the subnet tries
Maria Matejka [Wed, 4 Oct 2023 08:02:43 +0000 (10:02 +0200)]
Channel feeding request has a done-hook
Maria Matejka [Wed, 1 Nov 2023 17:34:06 +0000 (18:34 +0100)]
Merge commit '
333ddd4f ' into mq-aggregator-for-v3
Maria Matejka [Wed, 1 Nov 2023 17:25:40 +0000 (18:25 +0100)]
Dumping route sources along with protocols and routes
Maria Matejka [Wed, 1 Nov 2023 17:25:15 +0000 (18:25 +0100)]
Debug file fix
It got mistakenly closed while applying the log configuration.
Maria Matejka [Wed, 1 Nov 2023 17:24:32 +0000 (18:24 +0100)]
Nexthop dump fix for unreachables
Maria Matejka [Wed, 1 Nov 2023 17:23:43 +0000 (18:23 +0100)]
Fixes to root pool and meta loop to allow resource dumps
Maria Matejka [Wed, 1 Nov 2023 17:19:55 +0000 (18:19 +0100)]
Merge branch 'mq-aggregator-for-v3' into HEAD
Maria Matejka [Wed, 1 Nov 2023 17:08:34 +0000 (18:08 +0100)]
Merge commit '
e55696a4 ' into mq-aggregator-for-v3
Maria Matejka [Wed, 1 Nov 2023 17:08:49 +0000 (18:08 +0100)]
Merge branch 'mq-aggregator-for-v3' into thread-next
Maria Matejka [Wed, 1 Nov 2023 16:49:12 +0000 (17:49 +0100)]
Merge commit '
21213be5 ' into mq-aggregator-for-v3
Maria Matejka [Wed, 1 Nov 2023 16:48:00 +0000 (17:48 +0100)]
Merge branch 'mq-aggregator-for-v3' into thread-next
Maria Matejka [Wed, 1 Nov 2023 16:46:52 +0000 (17:46 +0100)]
Merge commit '
8ad9c4bb ' into mq-aggregator-for-v3
Maria Matejka [Wed, 1 Nov 2023 16:44:37 +0000 (17:44 +0100)]
Merge branch 'mq-aggregator-for-v3' into thread-next
Maria Matejka [Wed, 1 Nov 2023 13:30:46 +0000 (14:30 +0100)]
Aggregator: fixed route source unlocking on shutdown and withdraw
Maria Matejka [Wed, 1 Nov 2023 09:58:44 +0000 (10:58 +0100)]
Merge branch 'mq-aggregator-for-v3' into HEAD
Maria Matejka [Wed, 1 Nov 2023 09:57:57 +0000 (10:57 +0100)]
Merge branch 'mq-aggregator-for-v3' into HEAD
Maria Matejka [Wed, 1 Nov 2023 09:57:43 +0000 (10:57 +0100)]
Aggregator: Fixed bugs in filter usage
Maria Matejka [Wed, 1 Nov 2023 09:15:32 +0000 (10:15 +0100)]
Maria Matejka [Tue, 31 Oct 2023 10:37:54 +0000 (11:37 +0100)]
Aggregator: Expressed most of the attribute logic in filter language
Maria Matejka [Tue, 31 Oct 2023 15:54:58 +0000 (16:54 +0100)]
Maria Matejka [Tue, 31 Oct 2023 15:48:48 +0000 (16:48 +0100)]
Igor Putovny [Wed, 21 Jun 2023 11:15:07 +0000 (13:15 +0200)]
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.
Maria Matejka [Tue, 31 Oct 2023 11:03:49 +0000 (12:03 +0100)]
Filters: allowing to return any number of values
Maria Matejka [Tue, 31 Oct 2023 10:52:30 +0000 (11:52 +0100)]
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.
Maria Matejka [Tue, 31 Oct 2023 09:28:01 +0000 (10:28 +0100)]
Maria Matejka [Tue, 31 Oct 2023 09:20:22 +0000 (10:20 +0100)]
Maria Matejka [Tue, 31 Oct 2023 08:58:42 +0000 (09:58 +0100)]
Maria Matejka [Mon, 30 Oct 2023 09:44:45 +0000 (10:44 +0100)]
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.
Maria Matejka [Mon, 30 Oct 2023 08:49:20 +0000 (09:49 +0100)]
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.
Maria Matejka [Sun, 29 Oct 2023 18:53:09 +0000 (19:53 +0100)]
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.
Maria Matejka [Sun, 29 Oct 2023 15:25:01 +0000 (16:25 +0100)]
Renamed nest/rt.h back to nest/route.h
Some [redacted] (yes, myself) had a really bad idea
to rename nest/route.h to nest/rt.h while refactoring
some data structures out of it.
This led to unnecessarily complex problems with
merging updates from v2. Reverting this change
to make my life a bit easier.
At least it needed only one find-sed command:
find -name '*.[chlY]' -type f -exec sed -i 's#nest/rt.h#nest/route.h#' '{}' +
Maria Matejka [Sun, 29 Oct 2023 14:42:46 +0000 (15:42 +0100)]
Merge commit '
0a729b50 ' into thread-next
This merge was particularly difficult. I finally resorted to delete the
symbol scope active flag altogether and replace its usage by other
means.
Also I had to update custom route attribute registration to fit
both the scope updates in v2 and the data model in v3.
Maria Matejka [Sat, 28 Oct 2023 22:56:06 +0000 (00:56 +0200)]
Merge commit '
bb8e2824 ' into thread-next
Maria Matejka [Sat, 28 Oct 2023 22:51:34 +0000 (00:51 +0200)]
Merge commit '
9ffea830 ' into thread-next
Maria Matejka [Sat, 28 Oct 2023 22:50:38 +0000 (00:50 +0200)]
Merge commit '
a3dc2645 ' into thread-next
Maria Matejka [Sat, 28 Oct 2023 22:14:52 +0000 (00:14 +0200)]
Merge commit '
cc1099a0 ' into thread-next
Updated f_implicit_roa_check() to use type methods and moved to filter/f-util.c
Maria Matejka [Sat, 28 Oct 2023 22:02:04 +0000 (00:02 +0200)]
Merge commit '
c0231b09 ' into thread-next
Maria Matejka [Sat, 28 Oct 2023 22:00:07 +0000 (00:00 +0200)]
Merge commit '
fdd39c81 ' into thread-next
Maria Matejka [Sat, 28 Oct 2023 21:42:21 +0000 (23:42 +0200)]
Merge commit '
fc9d471b ' into thread-next
Conflicts:
conf/cf-lex.l
conf/conf.h
filter/config.Y
filter/data.c
filter/data.h
Maria Matejka [Fri, 27 Oct 2023 16:30:37 +0000 (18:30 +0200)]
Merge commit '
6b95353e ' into thread-next
Maria Matejka [Fri, 27 Oct 2023 16:29:31 +0000 (18:29 +0200)]
Merge commit '
51f2e7af ' into thread-next
Conflicts:
conf/cf-lex.l
conf/conf.h
conf/confbase.Y
filter/config.Y
nest/config.Y
nest/proto.c
nest/rt-table.c
proto/bgp/bgp.c
sysdep/unix/main.c
Maria Matejka [Fri, 27 Oct 2023 13:56:06 +0000 (15:56 +0200)]
Merge commit '
5951dfbd ' into thread-next
Maria Matejka [Wed, 25 Oct 2023 12:41:11 +0000 (14:41 +0200)]
Merge commit '
58efa944 ' into thread-next
Conflicts:
conf/cf-lex.l
conf/conf.h
conf/confbase.Y
conf/gen_keywords.m4
conf/gen_parser.m4
filter/config.Y
nest/config.Y
proto/bgp/config.Y
proto/static/config.Y
Keywords and attributes are split to separate namespaces, to avoid
collisions between regular keyword use and attribute overlay.
Maria Matejka [Tue, 24 Oct 2023 08:39:52 +0000 (10:39 +0200)]
Merge commit '
a5a6de58 ' into thread-next
Conflicts:
filter/config.Y
filter/data.h
filter/data.c
Maria Matejka [Tue, 24 Oct 2023 07:34:43 +0000 (09:34 +0200)]
Merge commit '
86598183 ' into thread-next
Maria Matejka [Tue, 24 Oct 2023 07:34:06 +0000 (09:34 +0200)]
Merge commit '
aa70e14c ' into thread-next
Maria Matejka [Fri, 13 Oct 2023 13:18:07 +0000 (15:18 +0200)]
Merge commit '
f5140d10 ' into thread-next
Smashed as "ours" as local changes are completely incompatible.
Relevant fixes will be merged from later commits if possible.
Maria Matejka [Fri, 13 Oct 2023 12:02:21 +0000 (14:02 +0200)]
Merge commit '
cce48c6c ' into thread-next
Maria Matejka [Fri, 13 Oct 2023 11:49:09 +0000 (13:49 +0200)]
Merge commit '
32427c9c ' into thread-next
Maria Matejka [Fri, 13 Oct 2023 11:46:04 +0000 (13:46 +0200)]
Merge commit '
f411a19b ' into thread-next
Maria Matejka [Fri, 13 Oct 2023 11:38:15 +0000 (13:38 +0200)]
CI: Temporarily disabling test-ibgp-loop-big as it tends to hang
Maria Matejka [Fri, 13 Oct 2023 11:36:47 +0000 (13:36 +0200)]
Merge commit '
0dbcc927 ' into thread-next
Maria Matejka [Fri, 13 Oct 2023 09:32:53 +0000 (11:32 +0200)]
Merge commit '
fc354788 ' into thread-next
Maria Matejka [Fri, 13 Oct 2023 09:23:21 +0000 (11:23 +0200)]
RIP: actually remove the interface structures on shutdown
This avoids a spurious route update fail when protocol shutdown collides
with an incoming RIP packet.
Maria Matejka [Fri, 13 Oct 2023 09:04:39 +0000 (11:04 +0200)]
Merge commit '
e3c0eca9 ' into thread-next
Maria Matejka [Fri, 13 Oct 2023 08:22:09 +0000 (10:22 +0200)]
Protocol: better granularity of pool management
There are now 3 different pools with specific lifetime. All of these are
available since protocol start, anyway they get freed in different
moments.
First, pool_up gets freed immediately after announcing PS_STOP, to e.g.
stop all timers and events regularly updating the routing table when the
imports are already flushing.
Then, pool_inloop gets freed just before the protocol loop is finally
stopped, after all channels, imports and exports and other hooks are
cleaned up.
And finally, the pool itself is freed the last. Unless you explicitly
need the early free, use this pool.
Maria Matejka [Thu, 12 Oct 2023 12:12:33 +0000 (14:12 +0200)]
Maria Matejka [Thu, 12 Oct 2023 08:07:57 +0000 (10:07 +0200)]
Channel: using a separate pool for export data
Maria Matejka [Thu, 12 Oct 2023 09:38:16 +0000 (11:38 +0200)]
Maria Matejka [Thu, 12 Oct 2023 07:29:51 +0000 (09:29 +0200)]
Merge commit '
4972590e ' into thread-next
Maria Matejka [Thu, 12 Oct 2023 08:57:55 +0000 (10:57 +0200)]
BGP/BMP: fixed build with no bmp at all
Maria Matejka [Thu, 12 Oct 2023 07:29:09 +0000 (09:29 +0200)]
BGP: dropped bgp_fix_attr_flags() (useless remnant from previous versions)
Maria Matejka [Wed, 11 Oct 2023 20:26:41 +0000 (22:26 +0200)]
Maria Matejka [Wed, 11 Oct 2023 20:23:34 +0000 (22:23 +0200)]
BGP/BMP: Moved temporary allocation checks to the freeing functions
Maria Matejka [Wed, 11 Oct 2023 20:06:18 +0000 (22:06 +0200)]
Merge branch 'mq-bmp-to-merge-to-v3' into thread-next
Maria Matejka [Wed, 11 Oct 2023 12:16:39 +0000 (14:16 +0200)]
Maria Matejka [Wed, 11 Oct 2023 11:28:30 +0000 (13:28 +0200)]
Merge commit '
6e908775 ' into thread-next
Maria Matejka [Tue, 10 Oct 2023 13:04:26 +0000 (15:04 +0200)]
Merge branch 'mq-bmp-to-merge-to-v3' into HEAD
Ondrej Zajicek [Mon, 21 Aug 2023 02:17:21 +0000 (04:17 +0200)]
Nest: Use generic rte_announce() also for import tables
Remove special rte_announce_in(), so we can use generic rte_announce()
for bot feed and notifications.
Ondrej Zajicek [Thu, 27 Apr 2023 16:20:49 +0000 (18:20 +0200)]
Conf: Improve handling of keywords
For whatever reason, parser allocated a symbol for every parsed keyword
in each scope. That wasted time and memory. The effect is worsened with
recent changes allowing local scopes, so keywords often promote soft
scopes (with no symbols) to real scopes.
Do not allocate a symbol for a keyword. Take care of keywords that could
be promoted to symbols (kw_sym) and do it explicitly.
Ondrej Zajicek [Thu, 27 Apr 2023 15:09:00 +0000 (17:09 +0200)]
Conf: Fix symbol lookup
The symbol table used just symbol name as a key, and used a trick with
active flag to find symbols in active scopes with one hash table lookup.
The disadvantage is that it can degenerate to O(n) for negative queries
in situations where are many symbols with the same name in different
scopes.
Thanks to Yanko Kaneti for the bugreport.
Ondrej Zajicek [Mon, 18 Sep 2023 15:47:17 +0000 (17:47 +0200)]
MPLS: Improve label range reconfiguration
Allow to shorten label range over unused area.
Ondrej Zajicek [Mon, 18 Sep 2023 15:32:24 +0000 (17:32 +0200)]
MPLS: Add command 'show mpls ranges'
Add command to show MPLS label ranges and their stats.
Ondrej Zajicek [Mon, 18 Sep 2023 12:19:20 +0000 (14:19 +0200)]
Nest: Fix missing RTS_* values in filters
Ondrej Zajicek [Mon, 18 Sep 2023 12:12:22 +0000 (14:12 +0200)]
Lib: Extend MPLS label allocator bitmap
Add function lmap_last_one_in_range() for finding the last active label
in a label range.