Commit Graph
4698 Commits
Author SHA1 Message Date
Maria Matejka c6fba7d7e6 Merge branch 'thread-next' into HEAD 2023-11-02 14:43:15 +01:00
Katerina KubecovaandMaria Matejka 9680bf68e4 Automatic ROA reloads on channel import
This includes updating OSPF, Pipe and RIP to enable partial route reload
directly from the protocols' internal tables.
2023-11-02 14:37:27 +01:00
Katerina KubecovaandMaria Matejka 4e9725e825 FIB walk macros now allow continue from the loop 2023-11-02 14:37:27 +01:00
Maria Matejka 1c0bc707a0 Prefiltering routes by net and custom hook for partial reloads 2023-11-02 14:37:27 +01:00
Maria Matejka 2659aebd9b Channel feeding request respects the subnet tries 2023-11-02 14:37:27 +01:00
Maria Matejka 898e268d0f Channel feeding request has a done-hook 2023-11-02 14:37:27 +01:00
Maria Matejka f730ecef4f Dumping route sources along with protocols and routes 2023-11-01 18:25:40 +01:00
Maria Matejka 6f1485baf9 Debug file fix
It got mistakenly closed while applying the log configuration.
2023-11-01 18:25:15 +01:00
Maria Matejka e85f4e890a Nexthop dump fix for unreachables 2023-11-01 18:24:32 +01:00
Maria Matejka 796f0af0cc Fixes to root pool and meta loop to allow resource dumps 2023-11-01 18:23:43 +01:00
Maria Matejka 15d890e87b Merge branch 'mq-aggregator-for-v3' into HEAD 2023-11-01 18:19:55 +01:00
Maria Matejka 3cb8d73e2e Merge commit 'e55696a4' into mq-aggregator-for-v3 2023-11-01 18:11:53 +01:00
Maria Matejka f90f2ed680 Merge branch 'mq-aggregator-for-v3' into thread-next 2023-11-01 18:08:49 +01:00
Maria Matejka 29e3a86ad1 Merge commit '21213be5' into mq-aggregator-for-v3 2023-11-01 17:49:12 +01:00
Maria Matejka d8463ca7d9 Merge branch 'mq-aggregator-for-v3' into thread-next 2023-11-01 17:48:00 +01:00
Maria Matejka dd0f3940d3 Merge commit '8ad9c4bb' into mq-aggregator-for-v3 2023-11-01 17:46:52 +01:00
Maria Matejka f32e53d7b1 Merge branch 'mq-aggregator-for-v3' into thread-next 2023-11-01 17:44:37 +01:00
Maria Matejka 5f166f6782 Aggregator: fixed route source unlocking on shutdown and withdraw 2023-11-01 17:25:29 +01:00
Maria Matejka 11faa7d36b Merge branch 'mq-aggregator-for-v3' into HEAD 2023-11-01 10:58:44 +01:00
Maria Matejka 8917f16e4b Merge branch 'mq-aggregator-for-v3' into HEAD 2023-11-01 10:58:31 +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
Maria Matejka e8dcc62ecd Merge commit 'ba91f4c831f057b81104d1453f99b012c01f9c9e' into thread-next 2023-10-31 16:54:58 +01:00
Maria Matejka 9ebd380593 Merge commit 'df5a08e7c717ff421a52b4144d741f0a9749159f' into thread-next 2023-10-31 16:48:48 +01:00
Igor PutovnyandMaria Matejka 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 fc3f07fdc3 Merge commit '407eb388b7082b52921e93476c8ff1a98fe3b873' into thread-next 2023-10-31 10:28:01 +01:00
Maria Matejka d18a68cef7 Merge commit 'f0187d713c36e841fe8bab350e84f5257a74981a' into thread-next 2023-10-31 10:20:22 +01:00
Maria Matejka b0797c2dcd Merge commit 'de70474fed139f9acb4ed3f8e925d12de4edcdd0' into thread-next 2023-10-31 09:58:42 +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
Maria Matejka ddf698ec99 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#' '{}' +
2023-10-29 16:29:26 +01:00
Maria Matejka c5f6dc8142 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.
2023-10-29 15:42:46 +01:00
Maria Matejka 737807c118 Merge commit 'bb8e2824' into thread-next 2023-10-29 00:56:06 +02:00
Maria Matejka cc6a233c7f Merge commit '9ffea830' into thread-next 2023-10-29 00:51:34 +02:00
Maria Matejka de8288c679 Merge commit 'a3dc2645' into thread-next 2023-10-29 00:50:38 +02:00
Maria Matejka a725e3e580 Merge commit 'cc1099a0' into thread-next
Updated f_implicit_roa_check() to use type methods and moved to filter/f-util.c
2023-10-29 00:14:52 +02:00
Maria Matejka 7d3d53e968 Merge commit 'c0231b09' into thread-next 2023-10-29 00:02:04 +02:00
Maria Matejka ef02744998 Merge commit 'fdd39c81' into thread-next 2023-10-29 00:00:07 +02:00
Maria Matejka 1a49a4aea8 Merge commit 'fc9d471b' into thread-next
Conflicts:
	conf/cf-lex.l
	conf/conf.h
	filter/config.Y
	filter/data.c
	filter/data.h
2023-10-28 23:42:21 +02:00
Maria Matejka d6d122e245 Merge commit '6b95353e' into thread-next 2023-10-27 18:34:16 +02:00
Maria Matejka 0ba22509a8 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
2023-10-27 18:29:31 +02:00
Maria Matejka e6baff89f8 Merge commit '5951dfbd' into thread-next 2023-10-27 18:06:34 +02:00
Maria Matejka da52d66177 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.
2023-10-25 14:41:11 +02:00
Maria Matejka c4bcded8b9 Merge commit 'a5a6de58' into thread-next
Conflicts:
      filter/config.Y
      filter/data.h
      filter/data.c
2023-10-24 10:39:52 +02:00
Maria Matejka 25f846ee8e Merge commit '86598183' into thread-next 2023-10-24 09:34:43 +02:00
Maria Matejka 6c85016dd4 Merge commit 'aa70e14c' into thread-next 2023-10-24 09:34:06 +02:00