Ondrej Zajicek
df22b3140c
IO: Avoid re-binding accepted sockets to VRF
...
When VRFs are used, BIRD correctly binds listening (and connecting)
sockets to their VRFs but also re-binds accepted sockets to the same VRF.
This is not needed as the interface bind is inherited in this case, and
indeed this redundant bind causes an -EPERM if BIRD is running as
non-root making BIRD close the connection and reject the peer.
Thanks to Christian Svensson for the original patch and Alexander Zubkov
for suggestions.
2024-07-30 16:33:51 +02:00
Maria Matejka
e787a9210f
NEWS and version update
2024-07-01 15:34:06 +02:00
Maria Matejka
5ea6423cb9
Fixed secondary route export
2024-06-28 22:03:45 +02:00
Maria Matejka
d53582c9a1
show threads: displaying the same thread id's as in log
2024-06-28 22:03:45 +02:00
Maria Matejka
c2480ff533
Export: Throw a warning instead of crashing on export_accepted_map inconsistency
2024-06-28 22:03:45 +02:00
Maria Matejka
edffd82057
Config undo queuing bug fixed
2024-06-28 22:03:45 +02:00
Maria Matejka
45fb9742f0
BGP runs TX as a deferred routine
...
This should help flushing the tx buffers as soon as possible.
2024-06-28 22:03:45 +02:00
Maria Matejka
6eea722d3f
Forbid locking altogether when RCU reader is active
2024-06-28 22:03:45 +02:00
Maria Matejka
1e77e6e1b2
Flush deferred calls directly after the loop finished its one run
2024-06-28 22:03:45 +02:00
Maria Matejka
865bab6237
IO: Allow to take new loops if the thread is hot, but only one at time
2024-06-28 22:03:45 +02:00
Maria Matejka
18d069d663
Even on shutdown we should try to pass the freed memory to others
2024-06-27 08:22:15 +02:00
Maria Matejka
08ff0af898
Additional CLI sockets may now be restricted
...
This allows to have one main socket for the heavy operations
very restricted just for the appropriate users, whereas the
looking glass socket may be more open.
Implemented an idea originally submitted and requested by Akamai.
2024-06-27 04:14:39 +02:00
Maria Matejka
f3b6661ddd
Additional CLI sockets can be now configured in the config file
...
If the user has such a need, they may configure additional sockets
in the config file. This may work for e.g. some advanced access control.
2024-06-27 04:14:38 +02:00
Maria Matejka
a95fff3793
CLI now has a configuration structure
2024-06-27 04:14:38 +02:00
Maria Matejka
09f50f3766
Typed lists: added forgotten #undef
2024-06-27 04:14:38 +02:00
Maria Matejka
f27004fb4d
Backported typed list updates from v3
...
Source: dda37842dc
2024-06-27 04:14:38 +02:00
Maria Matejka
af73cc4215
Allocator now reports cold pages
2024-06-26 20:45:54 +02:00
Maria Matejka
aa11e82174
Filter unit test uncertainty hack
2024-06-26 18:30:17 +02:00
Maria Matejka
be2ba84e50
Tame improper xmalloc warning
2024-06-26 17:21:26 +02:00
Maria Matejka
b797444e94
Merge commit 'b95dc8f29f18eb177f91fdc4bf0716fac9b15366' into mq-config-ref
...
Also converted all _Bool's to bool.
2024-06-26 17:19:24 +02:00
Ondrej Zajicek
333c7e8536
Doc: Minor cleanups in BFD documentation
2024-06-26 16:38:03 +02:00
Alexander Zubkov
8a40bccffe
BFD: Add option to accept zero checksum for IPv6 UDP packets
...
Some vendors do not fill the checksum for IPv6 UDP packets.
For interoperability with such implementations one can set
UDP_NO_CHECK6_RX socket option on Linux.
Thanks to Ville O for the suggestion.
Minor changes by committer.
2024-06-26 16:29:57 +02:00
Maria Matejka
16e53f3f30
channel roa reload debug message
2024-06-26 15:13:12 +02:00
Maria Matejka
2a6fe617b1
IO: allow for faster loop dropping
2024-06-26 11:30:48 +02:00
Maria Matejka
a4a7e09478
Revert "BGP: Export uses common attribute cache"
...
This reverts commit d01a7c2bda
.
It seems that the performance penalty in global ea cache is actually
very high so returning back to local attribute caches in every BGP.
2024-06-26 11:30:48 +02:00
Maria Matejka
a9534186f1
Fixed fast subsequent reconfigurations bug
2024-06-26 11:30:41 +02:00
Maria Matejka
7d455d64ca
Remove spinlock debug structures in production build
2024-06-26 11:30:41 +02:00
Maria Matejka
5b7fd453d4
BGP: show proto info crash fix if BGP is down
2024-06-26 11:30:41 +02:00
Maria Matejka
9f7874a5c9
BGP: using closer pointer for netindex hash than all the way to the table
2024-06-26 11:30:41 +02:00
Maria Matejka
8e67cba528
Linpool: allocation split to fast and slow
2024-06-26 11:30:41 +02:00
Maria Matejka
3d45539455
ROA aggregator uses its own rte source instead of recycling
2024-06-26 11:29:43 +02:00
Maria Matejka
6f981969bb
RCU read lock optimization
2024-06-26 11:29:43 +02:00
Maria Matejka
d23db54da0
ROA: Switching off digestor splitting
2024-06-26 11:29:43 +02:00
Maria Matejka
4998ca5554
Route attribute usecount doesn't need to synchronize on unlock
2024-06-26 11:29:43 +02:00
Maria Matejka
2c4b368176
RPKI socket read is prioritized over other sockets
2024-06-26 11:29:43 +02:00
Maria Matejka
f9b46a1ba1
Refeed done hooks are called in the same order as the requests came in
2024-06-26 11:29:43 +02:00
Maria Matejka
0b6e752bd9
Conflating multiple partial ROA reload requests together
2024-06-26 11:29:43 +02:00
Maria Matejka
bd44a13ce5
Spinhash main lock removed
...
Spinhash now uses RCU instead to guard cur-new exchanges to avoid
excessive synchronization and cache misses on the main spinlock.
2024-06-26 11:29:12 +02:00
Maria Matejka
282066ee29
Moved the cork thresholds massively up
...
This allows for more efficient import and export bundling, including
best route export and next hop resolution.
2024-06-26 11:29:12 +02:00
Maria Matejka
9be90c0f84
Fixed a race condition in rcu-domain blocking
2024-06-19 12:36:55 +02:00
Maria Matejka
67875e76d9
Safer cleanup of table auxiliary routines
2024-06-19 12:36:55 +02:00
Maria Matejka
dda37842dc
No page flush before polling
...
The maximum amount of locally kept pages is 128 so we can just
well keep the half-meg of RAM allocated and prepared for future use.
2024-06-18 11:02:51 +02:00
Maria Matejka
a1405a5bc7
Prefilter runs before generating feeds
2024-06-16 21:36:45 +02:00
Maria Matejka
d6233b4de0
Table cork now uses callbacks and direct flush to uncork
2024-06-15 23:31:44 +02:00
Maria Matejka
83045e9a1f
Configuration obstacles made a separate, explicit structure
...
With this, one can walk the obstacle list in a debugger and
easier see which specific object is holding the reference.
2024-06-14 23:16:07 +02:00
Maria Matejka
61dcbb1d83
Global runtime values separated from config
2024-06-14 23:16:07 +02:00
Maria Matejka
73ad0e2dcb
CLI: Show symbols, route and mpls explicitly passes the actual config to the show function
2024-06-14 23:16:07 +02:00
Maria Matejka
c4fbc5592d
Filter global values are not used directly from config
2024-06-14 23:16:07 +02:00
Maria Matejka
397eee5a00
Config: Removed obsolete force_restart option when commiting
2024-06-14 23:16:07 +02:00
Maria Matejka
ea996d8403
CLI keeps its active config pointer explicitly
2024-06-14 23:16:07 +02:00