0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2025-01-15 21:41:56 +00:00
Commit Graph

1430 Commits

Author SHA1 Message Date
Katerina Kubecova
5ca2e07d6b beautifing bmp 2024-09-19 16:01:46 +02:00
Katerina Kubecova
c32ce0f799 without ea_normalize wrong, with it falls 2024-09-19 09:54:06 +02:00
Katerina Kubecova
afa47859e2 bmp table accesed in event.c after free - or walgrind is saying so 2024-09-11 11:35:29 +02:00
Katerina Kubecova
01e00b4755 stable but - channels and routes disabled, bgp_id needs bmp report field null for some reason, lots of remaining debugging logs 2024-08-30 12:30:13 +02:00
Maria Matejka
fb517b66fd fixup! bmp and its channels in progress (no, it can not be compiled) 2024-08-28 16:25:14 +02:00
Katerina Kubecova
8c36159983 old double free remains 2024-08-28 16:21:45 +02:00
Katerina Kubecova
ab1f7f1138 before merge 2024-08-28 16:18:38 +02:00
Katerina Kubecova
1e6bc69502 bmp: broken protocol ptr 2024-08-28 16:18:38 +02:00
Katerina Kubecova
d655c1ba0a wp bmp: this commit is just to safe work before vacation. It throws errors and contains unfinished parts 2024-08-28 16:18:38 +02:00
Katerina Kubecova
ad1bc4c379 wip bmp: compilable version, but mrt test detected some peer problems, bmp not tested 2024-08-28 16:18:38 +02:00
Katerina Kubecova
9816b18cc2 in progress before rebase 2024-08-28 16:18:38 +02:00
Katerina Kubecova
a8707e22ac bmp and its channels in progress (no, it can not be compiled) 2024-08-28 16:18:38 +02:00
Katerina Kubecova
f40336d142 mrt: mrt looks working both period and from cli
mrt: mrt looks working both period and from cli

fixup

fixup
2024-08-28 16:18:38 +02:00
Katerina Kubecova
45b399f7a7 mrt.c: period mrt logging works (but routes in v3 seem to have less attributes)
mrt: mrt looks working

mrt: mrt looks working

mrt: mrt looks workingfrom both period and cli

mrt: mrt looks workingfrom both period and from cli

mrt: mrt looks workingfrom both period and from cli
2024-08-28 16:18:35 +02:00
Katerina Kubecova
3b13e2dcd4 proto.c: show protocol uses only proto id and attr table 2024-08-28 16:17:56 +02:00
Katerina Kubecova
74394865d0 void pointer can be stored in eattr 2024-08-28 16:17:56 +02:00
Maria Matejka
5ea6423cb9 Fixed secondary route export 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
6eea722d3f Forbid locking altogether when RCU reader is active 2024-06-28 22:03:45 +02:00
Maria Matejka
af73cc4215 Allocator now reports cold pages 2024-06-26 20:45:54 +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
Maria Matejka
16e53f3f30 channel roa reload debug message 2024-06-26 15:13:12 +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
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
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
67875e76d9 Safer cleanup of table auxiliary routines 2024-06-19 12:36:55 +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
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
Maria Matejka
4ac55615e4 BGP and HCU uncorking is processed in the right loop
closes #86

The uncork events are running from mainloop so these should just
dispatch the right event to the right loop. Doing anything long there
is bad for performance and latency as the uncork list may be huge.
2024-06-12 22:40:17 +02:00
Maria Matejka
3ed192edc3 Table: RCU synchronization moved to lfjour
the sync is actually needed when the pages get freed, not precisely
after every item cleanup, as the data technically stays intact until the
deferred free's are called.
2024-06-12 18:07:40 +02:00
Maria Matejka
95d8329043 Table: fixed export_all flush when export_best is idle 2024-06-12 14:48:33 +02:00
Maria Matejka
0e42398304 Removed unnecessary recursion from rt_export_get() 2024-06-12 14:48:33 +02:00
Maria Matejka
9991fbbe0b TMP: table best-all cleanup debug 2024-06-12 14:48:33 +02:00
Maria Matejka
951d0422fa Attributes: fix collision on free-lookup
Freeing the eattrs is tricky as somebody else may find them
via RTA-unlocked lookup inbetween.
2024-06-12 14:48:33 +02:00
Maria Matejka
4d01ca3e8f Every table has its own netindex now
It's obnoxiously slow to walk over sparse tables.
2024-06-12 14:48:33 +02:00
Maria Matejka
a146abc8fd Revert (partial) "Route attributes now use the common lockfree usecount"
This partially reverts commit d617801c31.

The common lockfree doesn't work well for high-volume structures like
eattr cache because it expects the structure to be cleaned up by a
sweeper routine ... which is very ineffective for >1M records.

OTOH, we need the deferred ea_free in all cases ... so keeping that.
2024-06-12 14:48:33 +02:00
Maria Matejka
8e240fc44f Table best feed collision fix 2024-06-12 14:48:33 +02:00
Maria Matejka
47e493f228 Dropped net_resolve_index from feeder fast path 2024-06-12 14:48:33 +02:00
Maria Matejka
ab1697d7a0 Next hop update is split by time, not by number of routes 2024-06-12 14:48:33 +02:00
Maria Matejka
0827797e6e Table: pruning is deferred by task time, not by item count 2024-06-12 14:48:33 +02:00
Maria Matejka
464d483af4 Channel: postpone the export event when stopping 2024-06-12 14:48:33 +02:00