Maria Matejka
b83a9d5f9a
Limited value must never go under zero
2022-10-12 10:05:14 +02:00
Maria Matejka
02dc895550
CLI fix to break busy-loop waiting for corked show-route exports
2022-10-12 10:05:14 +02:00
Maria Matejka
2ae32374dd
Fixed export hook stopping in some corner cases.
...
Notably, it's in a corked state and also when refeed is pending.
2022-10-12 10:05:14 +02:00
Maria Matejka
4d687d7aec
Fixed previously untested paths in RPKI
2022-10-05 16:33:34 +02:00
Maria Matejka
dc9351d326
Merge commit '67256d50' into HEAD
2022-10-04 16:15:36 +02:00
Maria Matejka
f69ba3921a
Merge commit 'fb7fb674' into HEAD
2022-10-04 16:09:41 +02:00
Maria Matejka
0eba27c69f
Merge commit 'a32cee78' into HEAD
2022-10-04 15:59:15 +02:00
Maria Matejka
4e1c582cad
Merge commit '71b434a9' into HEAD
2022-10-04 15:53:12 +02:00
Maria Matejka
6cfe2066ab
Higher export settle times when route refresh is running.
...
This helps the route refresh procedures to finish or at least
do more work before the exporters jump in and steal all the CPU time
for themselves.
2022-09-26 12:09:14 +02:00
Maria Matejka
ecaa3df3c4
More verbose logging of table auxiliary export states
2022-09-23 09:58:00 +02:00
Maria Matejka
5338a779c9
Fixed possible race condition in hostcache trie matching code not triggering HCU
2022-09-23 09:57:40 +02:00
Maria Matejka
b1ade5efa1
Fixed the export settle timer to be actually a settle timer
2022-09-21 18:47:43 +02:00
Maria Matejka
896dbbfe4a
Local page allocation
2022-09-21 11:49:35 +02:00
Maria Matejka
28d4ac6c97
Fixed display of standby memory
2022-09-20 14:57:43 +02:00
Maria Matejka
4ba52a2687
Route export may get corked on refeed startup
2022-09-20 12:40:23 +02:00
Maria Matejka
28427a68c3
Merge commit 'adf37d8e' into thread-next
2022-09-20 09:14:39 +02:00
Maria Matejka
f33793acf7
Merge commit '4f3fa162' into HEAD
2022-09-18 16:36:07 +02:00
Maria Matejka
cf38092b2d
Fix for table hostcache corking and shutdown race conditions
2022-09-18 16:35:49 +02:00
Maria Matejka
c9d18e5ec5
Table: Re-scheduling prune event when another prune loop is pending
2022-09-18 16:33:51 +02:00
Maria Matejka
ff86f23dc7
Export event doesn't have to be postponed before requeuing as an export-stop event
2022-09-18 16:33:51 +02:00
Maria Matejka
769224d79c
Converted simple table events to loop flags
2022-09-18 16:33:51 +02:00
Maria Matejka
c49ee6e1a6
Routing tables have their own service loops.
2022-09-18 16:33:51 +02:00
Maria Matejka
b80823fe82
Memory pages allocator is now a global simple lockless structure
2022-09-18 16:33:51 +02:00
Maria Matejka
3d627d09d4
Table export announcer needs both an event and a timer to do export bundling the right way
2022-09-09 19:09:31 +02:00
Maria Matejka
974f16b1f7
Created a dedicated settle timer structure
2022-09-09 18:53:15 +02:00
Maria Matejka
26bfd4cc03
Merge commit 'd2c1036a42881d413ec97203ede92a69f8cd218f' into thread-next
2022-09-09 13:15:50 +02:00
Maria Matejka
fb7fb67445
Table access is now locked.
2022-09-08 15:24:02 +02:00
Maria Matejka
a42877b9bf
Table feed refactoring to allow for locking and unlocking
2022-09-08 15:13:38 +02:00
Maria Matejka
5103de4e8e
Table long-locking debug code
2022-09-08 15:13:37 +02:00
Maria Matejka
e2c6120636
Next hop updater has its own event
2022-09-08 15:13:37 +02:00
Maria Matejka
a61a04b5c8
Next hop refactoring to allow for table locking
2022-09-07 13:54:55 +02:00
Maria Matejka
28accd4f05
Next hop update triggered at the very end of hostcache update
2022-09-05 12:55:36 +02:00
Maria Matejka
636bc44e61
Exporter routine refactoring to allow for nicer table locking
2022-09-05 12:19:38 +02:00
Maria Matejka
66ccdc2a0c
Added an indirection to the export announcement routine
...
There are performance reasons for this, mostly that we don't want to
ping the table service routine with every import.
2022-09-01 22:22:31 +02:00
Maria Matejka
dd786e338c
ROA subscriptions are also converted to export requests.
...
By this, the requesting channels do the timers in their own loops,
avoiding unnecessary synchronization when the central timer went off.
This is of course less effective for now, yet it allows to easily
implement selective reloads in future.
2022-09-01 18:46:40 +02:00
Maria Matejka
cd628d124d
Flowspec revalidate notification converted to an export hook
...
Instead of synchronous notifications, we use the asynchronous export
framework to notify flowspec src route updates. This allows us to
invoke flowspec revalidation without locking collisions.
2022-09-01 18:46:40 +02:00
Maria Matejka
ecdb1ec6ea
Hostcache update notification converted to an export hook
...
Instead of synchronous notifications, we use the asynchronous export
framework to notify also hostcache updates. This allows us to do the
hostcache update and the subsequent next hop update notification without
locking collisions.
2022-09-01 18:46:40 +02:00
Maria Matejka
7450eea071
Miscellaneous refactoring
2022-09-01 18:46:40 +02:00
Maria Matejka
83ceb91b50
Table debug is now a per-table setting and has categories.
2022-09-01 18:46:40 +02:00
Maria Matejka
397fec4741
Default tables are not created unless actually used.
...
This allows for setting default table values at the beginning of config
file before "master4" and "master6" tables are initialized.
2022-09-01 17:44:46 +02:00
Maria Matejka
34912b029b
Tables: Requesting prune only after export cleanup
...
We can't free the network structures before the export has been cleaned
up, therefore it makes more sense to request prune only after export
cleanup. This change also reduces prune calls on table shutdown.
2022-08-30 18:05:06 +02:00
Maria Matejka
dc28c6ed1c
Simplified the protocol hookup code in Makefiles
2022-08-18 22:07:30 +02:00
Maria Matejka
74eb4bad5f
Merge commit 'c7d0c5b2' into thread-next
2022-08-03 20:01:42 +02:00
Maria Matejka
e60b83d8ac
Merge commit '18f66055' into thread-next
2022-08-03 18:00:17 +02:00
Maria Matejka
70e01358a0
Merge commit '038fcf1c' into thread-next
...
It was necessary to update the code to match removal of rta, as well as
existence of cached nested attribute lists.
2022-08-03 17:37:16 +02:00
Maria Matejka
71b434a987
Merge commit 'f0507f05ce57398e135651896dace4cb68eeed54' into thread-next
2022-08-02 22:08:59 +02:00
Maria Matejka
db9153e216
Also next hop update routines are corking themselves when congestion is detected
2022-08-02 17:51:58 +02:00
Maria Matejka
f8500b5943
Route table cork: Indicate whether the export queues are congested.
...
These routines detect the export congestion (as defined by configurable
thresholds) and propagate the state to readers. There are no readers for
now, they will be added in following commits.
2022-08-02 17:34:38 +02:00
Maria Matejka
e858dce757
Moved the thread starting code to IO loop code
2022-07-28 19:49:03 +02:00
Maria Matejka
4d48ede51d
Revert "Export table: Delay freeing of old stored route."
...
This reverts commit cee0cd148c
.
This change is not needed in version 2 and the surrounding code has
disappeared mostly in version 3.
2022-07-22 15:37:21 +02:00