Maria Matejka
3fa23c3b53
Cached route attributes now have explicitly marked layers
...
Also the rta_* functions renamed to ea_* functions
2024-05-13 08:52:48 +02:00
Maria Matejka
178ea41e84
IO Loop: provide information about current loop and task time limit
2024-05-13 08:52:48 +02:00
Maria Matejka
5ba5cdd9f9
Locking: forcefully unwinding locks to a previously stored state
2024-05-13 08:52:48 +02:00
Maria Matejka
d1652138ca
Netindex: Dropping tmp handle mechanism in favor of deferred lfuc_unlock
2024-05-13 08:52:48 +02:00
Maria Matejka
a0df74780a
Fixed all implicit seq_cst warnings caused by the previous commit
2024-05-13 08:52:48 +02:00
Maria Matejka
a3daf69cd1
lib/printf_test.c: test on strcmp fixed
...
we mistakenly required the return value to be only -1, 0 or 1
2024-05-13 08:52:48 +02:00
Maria Matejka
bb35c4f9dc
Route flag REF_OBSOLETE
...
Marking routes obsolete when being removed from table, just to be sure.
2024-04-06 18:28:43 +02:00
Maria Matejka
b6853989ac
Bitops: bitflip function
...
to flip order of bits in 32b numbers
2024-04-06 18:28:43 +02:00
Maria Matejka
27f2fd4aa9
Removed the obsolete birdloop flagger
...
This was useful when events were locking. As now sending events is lockless,
we can drop this obsolete routine for good.
2024-04-06 18:28:43 +02:00
Maria Matejka
622d406087
Lockfree usecount: deferring unlocks to the metaloop
...
This allows us for easy temporary locks without additional burden of explicit cleanup.
2024-04-06 18:28:43 +02:00
Maria Matejka
422ecddaae
Allowing to send events to the metaloop's priority list
2024-04-06 18:28:43 +02:00
Maria Matejka
233004988b
Net: explicit generic-to-specific typecast with checking
2024-04-06 18:28:43 +02:00
Maria Matejka
a5eb8e0f9f
Lock free journal refactored into a separate data structure
2024-04-06 18:28:43 +02:00
Maria Matejka
d020cc7e26
Event: fixed race condition between ev_send and ev_postpone
2024-04-06 18:28:43 +02:00
Maria Matejka
76e43b405f
Typed list: macro for list length
2024-04-03 13:58:41 +02:00
Maria Matejka
59304b2f91
Typed lists: enabled defining the list structure independently on the node
2024-03-27 14:28:37 +01:00
Maria Matejka
058984bc86
BGP: fixed MPLS setting in nexthops
...
bug introduced somewhere during conversion of nexthops to eattrs
2024-01-29 22:12:38 +01:00
Maria Matejka
cd81b6d7cd
Merge commit '2c7555cf2ac8439713dd9148b348128c57222a38' into thread-next
...
The UDP logging had to be substantially rewritten due to a different
logging backend and reconfiguration mechanisms.
Conflicts:
doc/bird.sgml
sysdep/unix/config.Y
sysdep/unix/io.c
sysdep/unix/log.c
sysdep/unix/unix.h
2024-01-28 23:01:39 +01:00
Maria Matejka
86ba37d8f1
Logging: uses writev instead of in-buffer magic
2024-01-28 21:42:39 +01:00
Maria Matejka
8fe58b9f8d
Merge commit 'v2.13.1-192-gb8312130' into thread-next
2024-01-28 14:43:05 +01:00
Maria Matejka
b831213072
Merge commit 'v2.13.1-145-g605780f9' into mq-merge-step-2
2024-01-28 14:42:57 +01:00
Maria Matejka
a28264adc5
Merge commit 'v2.13.1-168-g5e9cf0ab' into thread-next
2024-01-28 13:40:23 +01:00
Maria Matejka
9624ebfd9a
Lock free usecount better debuggability
2024-01-10 09:19:27 +01:00
Maria Matejka
54d5e36ec0
Index of different net_addr values for hashing and bit-marking
...
For many reasons, it's handy to assign a contiguous range of integers to
known net_addr values. This is a data structure keeping this mapping.
2024-01-08 09:34:32 +01:00
Ondrej Zajicek
2c7555cf2a
Log: Add support for UDP logging
...
Add support for UDP logging, using RFC 3164 syslog protocol.
Based on the patch from Alexander Zubkov <green@qrator.net>, thanks!
2023-12-13 04:01:09 +01:00
Maria Matejka
8c19f8a209
Merge commit 'db1eb46664d4c76d56dc55a63ce7abe853fc6862' into HEAD
2023-12-08 11:33:43 +01:00
Maria Matejka
1df615991c
Generalized the rte_src lockfree usecount algorithm
2023-12-04 10:39:32 +01:00
Maria Matejka
194ed4e6e6
Macro SKIP_BACK now evaluates its argument only once.
2023-12-04 10:39:32 +01:00
Maria Matejka
48abd6a963
Events: create and enqueue in one macro
2023-12-04 10:39:32 +01:00
Maria Matejka
5a916ed53f
Locking: Dropping DEFINE_DOMAIN ugly macro
2023-12-04 10:39:32 +01:00
Maria Matejka
4d22f52f64
Locking data structures
...
If a data structure is associated with a lock, having a public
and a private part, there are now useful macros for these data
structures.
2023-11-20 12:09:31 +01:00
Maria Matejka
4c6fd84c8f
Merge commit '980ef11016546ecd409a7f83b33a2f8f758ec926' into thread-next
2023-11-10 23:47:10 +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
d7f5248bcc
More descriptive bug message on deadlock prevention
2023-11-09 17:42:22 +01:00
Maria Matejka
5b9532ae1f
Merge branch 'mq-aggregator-for-v3' into thread-next
2023-11-09 15:34:59 +01:00
Maria Matejka
00e40a6b80
Merge branch 'mq-aggregator-for-v3' into thread-next
2023-11-09 15:20:13 +01:00
Maria Matejka
30712a2bdf
Merge branch 'mq-aggregator-for-v3' into thread-next
2023-11-08 21:51:46 +01:00
Maria Matejka
c6fba7d7e6
Merge branch 'thread-next' into HEAD
2023-11-02 14:43:15 +01:00
Katerina Kubecova
4e9725e825
FIB walk macros now allow continue from the loop
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
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
f90f2ed680
Merge branch 'mq-aggregator-for-v3' into thread-next
2023-11-01 18:08:49 +01:00
Maria Matejka
8917f16e4b
Merge branch 'mq-aggregator-for-v3' into HEAD
2023-11-01 10:58:31 +01:00
Maria Matejka
9ebd380593
Merge commit 'df5a08e7c717ff421a52b4144d741f0a9749159f' into thread-next
2023-10-31 16:48:48 +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
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
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