Maria Matejka
548dbb2252
Replacing table FIB by netindex and simple pointer block
...
Using the netindex data structure to simplify route storage inside route
tables. This should also help with future unlocking of route import.
2024-01-08 09:34:32 +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
Maria Matejka
6c4be8d1d3
Kernel: Before first scan, reject exported routes immediately in preexport
2024-01-08 09:23:35 +01:00
Maria Matejka
3b31138854
Dropped forgotten pieces of orphaned internal API
2024-01-08 09:23:35 +01:00
Maria Matejka
44e351d152
RPKI: retry timer doesn't reset connections when more data is pending
...
With very busy deployments, RPKI may kill cache connection too early.
Instead of that, we want it to keep loading if any data is waiting to
be read and the reason for delay is just our congestion.
Also, when we kill the session because of actually slow cache, we want
to reload from scratch as the data we have is unreliable and nobody
knows whether the state is still valid.
2023-12-20 11:58:07 +01:00
Ondrej Zajicek
2b6bd8ca3a
OSPF: Cleanup some warnings
2023-12-13 18:07:38 +01:00
Ondrej Zajicek
7d2c7d59a3
Nest: Fix memory alignment in attribute cache
...
In attribute cache, adata structures were stored densely in one memory
block, without regard to alignment. Let's force at least u32 alignment.
2023-12-13 17:46:16 +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
25906bc5e9
Merge commit 'ef814fb2d6415206fce280c37466ea889291b043' into HEAD
2023-12-08 12:13:58 +01:00
Maria Matejka
8cf1be6f67
Merge commit 'bb094fb6'
2023-12-08 12:09:30 +01:00
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
8c19f8a209
Merge commit 'db1eb46664d4c76d56dc55a63ce7abe853fc6862' into HEAD
2023-12-08 11:33:43 +01:00
Maria Matejka
db1eb46664
Merge commit '54ddf90f6370f06efc71c3ffd6e02d031a86866f' into mq-aggregator-for-v3
2023-12-08 09:08:38 +01:00
Maria Matejka
4aac1b259f
Merge commit '54ddf90f'
2023-12-08 08:30:30 +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
Katerina Kubecova
bcf2327425
BGP: Send hold timer
...
Implement BGP Send hold timer according to draft-ietf-idr-bgp-sendholdtimer.
The Send hold timer drops the session if the neighbor is sending keepalives,
but does not receive our messages, causing the TCP connection to stall.
2023-12-05 04:14:45 +01:00
Maria Matejka
1df615991c
Generalized the rte_src lockfree usecount algorithm
2023-12-04 10:39:32 +01:00
Maria Matejka
0bcbff42ca
Table: nicer route validation errors
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
Ondrej Zajicek
3fb06fea1d
BGP: Add options to require BGP capabilities
...
Some BGP capabilities change the BGP behavior in a significant way, so if
the configuration depends on it, it is better to not establish BGP
session when the capability is not available.
Add several BGP option to require individual BGP capabilities during
session negotiation.
2023-11-23 20:54:22 +01:00
Ondrej Zajicek
b6923f6386
BGP: Simplify capability handling
2023-11-23 17:18:04 +01:00
Maria Matejka
080e580834
Route table objects use the new locked object macro stack
2023-11-20 12:09:31 +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
8558e666e0
Merge branch 'mq-aggregator-for-v3' into thread-next
2023-11-09 17:38:31 +01:00
Maria Matejka
87e2ba8c84
Merge commit '8f5511da' into mq-aggregator-for-v3
2023-11-09 16:53:45 +01:00
Maria Matejka
219dc0fdb5
Merge branch 'mq-aggregator-for-v3' into thread-next
2023-11-09 16:53:34 +01:00
Maria Matejka
f434eb3865
Merge commit 'd8130da8' into mq-aggregator-for-v3
2023-11-09 16:36:54 +01:00
Maria Matejka
e6362b21dc
Merge branch 'mq-aggregator-for-v3' into thread-next
2023-11-09 16:34:26 +01:00
Maria Matejka
c4c2148ab9
Merge commit 'a7a9df86' into mq-aggregator-for-v3
2023-11-09 16:34:20 +01:00
Maria Matejka
4f2212ccf2
Merge branch 'mq-aggregator-for-v3' into thread-next
2023-11-09 16:34:04 +01:00
Maria Matejka
6067ad6c07
Merge commit '9b775859' into mq-aggregator-for-v3
2023-11-09 16:00:44 +01:00
Maria Matejka
5098430748
Merge branch 'mq-aggregator-for-v3' into thread-next
2023-11-09 16:00:32 +01:00
Maria Matejka
29ffc62b76
Merge commit 'e915f99e' into mq-aggregator-for-v3
2023-11-09 16:00:09 +01:00
Maria Matejka
8f2f612e2f
Merge branch 'mq-aggregator-for-v3' into thread-next
2023-11-09 15:59:03 +01:00
Maria Matejka
926c3295d4
Merge commit 'b6385dec' into mq-aggregator-for-v3
2023-11-09 15:58:58 +01:00
Maria Matejka
3ccf890e58
Merge branch 'mq-aggregator-for-v3' into thread-next
2023-11-09 15:58:41 +01:00
Maria Matejka
45ffbb4d76
Merge commit '81a20ca5' into mq-aggregator-for-v3
2023-11-09 15:50:39 +01:00
Maria Matejka
e61fc5272a
Merge branch 'mq-aggregator-for-v3' into thread-next
2023-11-09 15:50:32 +01:00
Maria Matejka
4d6620a008
Merge commit '35726051' into mq-aggregator-for-v3
2023-11-09 15:50:28 +01:00
Maria Matejka
2193b1efe4
Merge branch 'mq-aggregator-for-v3' into thread-next
2023-11-09 15:50:15 +01:00
Maria Matejka
c7cc1ccd2e
Merge branch 'mq-aggregator-for-v3' into thread-next
2023-11-09 15:50:13 +01:00
Maria Matejka
360de8fb68
Merge commit 'fcf22586' into mq-aggregator-for-v3
2023-11-09 15:50:02 +01:00