Maria Matejka
ef814fb2d6
Merge commit 'bb094fb6' into mq-aggregator-for-v3
2023-12-08 12:09:17 +01:00
Maria Matejka
bb094fb6c7
Refactoring also net_roa_check
...
Having 4 functions doing almost the same is more mess than three macros.
2023-12-08 12:08:28 +01:00
Maria Matejka
db1eb46664
Merge commit '54ddf90f6370f06efc71c3ffd6e02d031a86866f' into mq-aggregator-for-v3
2023-12-08 09:08:38 +01:00
Maria Matejka
54ddf90f63
Conf: debug tables
...
For now just a dummy config but it is needed for forward
compatibility with v3.
2023-12-07 14:38:05 +01:00
Maria Matejka
9a91ea52db
Refactoring of net_route
2023-12-07 14:11:16 +01:00
Maria Matejka
3b48dc9bce
Table: Adding route refresh begin and end debug messages
2023-12-07 14:11:16 +01:00
Maria Matejka
980ef11016
C Compiler Attribute Cleanup Test
...
There is a long-known CC attribute cleanup which allows to call a custom
cleanup function when an auto-storage variable ceases to exist. We're
gonna use it for end-of-loop and leave-locked-block macros.
This commit adds a static unit test for this compiler feature to be sure
that it really does what we want. We're looking forward to the next ISO
C norm where this may finally get a nice syntax and standardization.
2023-11-09 23:08:21 +01:00
Maria Matejka
87e2ba8c84
Merge commit '8f5511da' into mq-aggregator-for-v3
2023-11-09 16:53:45 +01:00
Maria Matejka
f434eb3865
Merge commit 'd8130da8' into mq-aggregator-for-v3
2023-11-09 16:36:54 +01:00
Maria Matejka
c4c2148ab9
Merge commit 'a7a9df86' into mq-aggregator-for-v3
2023-11-09 16:34:20 +01:00
Maria Matejka
6067ad6c07
Merge commit '9b775859' into mq-aggregator-for-v3
2023-11-09 16:00:44 +01:00
Maria Matejka
29ffc62b76
Merge commit 'e915f99e' into mq-aggregator-for-v3
2023-11-09 16:00:09 +01:00
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
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
Ondrej Zajicek
a7a9df8639
MPLS: Implement FEC map reconfiguration
...
This allows changing label policy or label range without restart.
2023-10-04 13:12:05 +02:00
Ondrej Zajicek
9b775859cd
MPLS: Handle label allocation failures
2023-10-04 13:12:05 +02:00
Ondrej Zajicek
e915f99e1c
L3VPN: Fix bug in reconfiguration
...
Fields import_target / export_target link to config structures, must be
updated during reconfiguration.
2023-10-04 13:12:05 +02:00
Ondrej Zajicek
b6385decb3
MPLS: Improve handling of static label allocations
...
Use mpls_new_label() / mpls_free_label() also for static labels, to keep
track of allocated labels and to enforce label ranges.
Static label allocations always use static label range, regardless of
configured label range.
2023-10-04 13:12:05 +02:00
Ondrej Zajicek
81a20ca5d8
Static: Add syntax for static MPLS labels
...
Instead of just using route attributes, static routes with
static MPLS labels can be defined just by e.g.:
route 10.1.1.0/24 mpls 100 via 10.1.2.1 mpls 200;
2023-10-04 13:12:05 +02:00
Ondrej Zajicek
3572605151
MPLS: Label range non-intersection check
2023-10-04 13:12:05 +02:00
Ondrej Zajicek
fcf2258620
MPLS: Improve label range reconfiguration
...
Allow to shorten label range over unused area.
2023-10-04 13:12:05 +02:00
Ondrej Zajicek
8e9e013b0d
MPLS: Add command 'show mpls ranges'
...
Add command to show MPLS label ranges and their stats.
2023-10-04 13:12:05 +02:00
Ondrej Zajicek
3397ca51f8
Nest: Fix missing RTS_* values in filters
2023-10-04 13:12:05 +02:00
Ondrej Zajicek
e338c4b63c
Lib: Extend MPLS label allocator bitmap
...
Add function lmap_last_one_in_range() for finding the last active label
in a label range.
2023-10-04 13:07:33 +02:00