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

626 Commits

Author SHA1 Message Date
Maria Matejka
d25ad38eaf RCU Unwinder refactored from route table to a separate structure 2024-05-17 09:12:52 +02:00
Maria Matejka
cd9d799abd Simplified temporary resources
Also TMP_SAVED now uses the CLEANUP hook to allow for breaks and returns
2024-05-17 09:12:52 +02:00
Maria Matejka
99afca53e3 SKIP_BACK_DECLARE: easier embedded-to-parent typecasting 2024-05-17 09:12:52 +02:00
Maria Matejka
de3bd705f8 Lockless feed of a single net 2024-05-17 09:12:52 +02:00
Maria Matejka
93c3923462 Using ea_lookup_tmp() for temporarily keeping attribute references
To avoid needs for keeping local temporary references for attributes,
now one can use ea_lookup_tmp() to ensure that the attributes are
valid and stored until the task ends. After that, the attributes are
automatically unref'd and also deallocated if needed.
2024-05-17 09:12:52 +02:00
Maria Matejka
4c43e97dd5 Refactored the deferring framework into a separate structure 2024-05-17 09:12:52 +02:00
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