Ondrej Zajicek
f40e2bc270
Nest: Fix bug in recursive routes with MPLS-labeled nexthops
...
When a recursive route with MPLS-labeled nexthop was exported to kernel
and read back, the nexthop_same() failed due to different labels_orig
field and kernel protocol reinstalled it unnecessarily.
For comparing hext hops, route cache has to distinguish ones with
different labels_orig, but KRT has to ignore that, so we need two
nexthop compare functions.
Thanks to Marcel Menzel for the bugreport.
2024-01-27 17:38:06 +01:00
Maria Matejka
5bf2567853
Merge commit 'v2.13.1-125-g90b9e871' into mq-merge-step-2
2024-01-26 23:29:17 +01:00
Maria Matejka
90b9e871b9
Merge commit 'be09b030ed40c76ee0727dd3980df77094fdc907' into mq-merge-step-1
2024-01-26 23:29:14 +01:00
Maria Matejka
457a0873ab
Merge commit 'c1719316a840d268a09d5fe2c10b06e51bc77824' into thread-next
...
Conflicts:
doc/bird.sgml
2024-01-26 23:27:33 +01:00
Maria Matejka
c1719316a8
Merge commit '4f2aa1319c1ff80939c656bba7d529d84d1af350' into mq-merge-step-2
2024-01-26 23:26:08 +01:00
Maria Matejka
4f2aa1319c
Merge commit 'cab5fce2b6822b7f3a892103077f26e197fecfbc' into mq-merge-step-1
2024-01-26 23:25:25 +01:00
Maria Matejka
fa95ef5d6e
Merge commit 'b2e2525e5ee4faab5bc5ee88581a19a4ca1d6277' into thread-next
2024-01-26 23:24:26 +01:00
Maria Matejka
b2e2525e5e
Merge commit 'd5fd7ec6' into mq-aggregator-for-v3
2024-01-26 23:24:14 +01:00
Maria Matejka
d5fd7ec6cb
Merge commit '8a70885694c5a3b384deba0f8cd25b7f63b99fcd' into HEAD
2024-01-26 23:23:56 +01:00
Maria Matejka
8fb1f098d1
Fixes for CLang
2024-01-26 14:50:56 +01:00
Maria Matejka
25e20485ae
Fixed route table attribute caching
2024-01-26 14:42:55 +01:00
Maria Matejka
2379ed40be
Linux: Not binding the default-vrf socket to the (nonexistent) vrf device
2024-01-26 14:42:55 +01:00
Maria Matejka
365ea12ea1
MPLS Subsystem Proper Locking
...
Added also some debug lines if debug is on.
2024-01-26 14:42:44 +01:00
Katerina Kubecova
472be46f7a
Filter: Tests for net_addr
...
Minor changes by committer.
2024-01-22 07:08:11 +01:00
Ondrej Zajicek
13c6cf8a74
Trivial code cleanups
2024-01-22 06:29:14 +01:00
Maria Matejka
9624ebfd9a
Lock free usecount better debuggability
2024-01-10 09:19:27 +01:00
Maria Matejka
e711a991d4
MPLS: FEC Map moved from protocol to MPLS channel
2024-01-08 13:03:25 +01:00
Maria Matejka
34d040a034
MPLS: Domain list locked by The BIRD Lock
2024-01-08 13:03:25 +01:00
Maria Matejka
9815353c5e
MPLS: Putting internal objects aside
2024-01-08 13:03:25 +01:00
Maria Matejka
f0da632b3c
Channels now can have external obstacles temporarily blocking their shutdown
2024-01-08 13:03:25 +01:00
Maria Matejka
e4e90c6f4d
Channel: Replacing refeed status trie by bitmap
...
This fixes a bug with reloading non-IP channels.
2024-01-08 12:02:25 +01:00
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