Maria Matejka
343628d8c0
Fixed various build problems on FreeBSD and/or CLang
2023-01-20 18:31:57 +01:00
Maria Matejka
4d8d81f144
Table prune routine doesn't walk over lists unless needed.
...
If no channel is flushing, table prune doesn't walk over routes in nets
and also doesn't walk over importing channel lists. This helps to
alleviate the memory caching burdens a lot.
2023-01-19 11:10:25 +01:00
Maria Matejka
59a5bf18f9
CLI closing fix when its action is run asynchronously.
...
Some CLI actions, notably "show route", are run by queuing an event
somewhere else. If the user closes the socket, in case such an action is
being executed, the CLI must free the socket immediately from the error
hook but the pool must remain until the asynchronous event finishes and
cleans everything up.
2023-01-19 11:03:31 +01:00
Maria Matejka
7bbd0b5a3b
Merge commit '37b64441' into thread-next
2022-11-07 10:28:01 +01:00
Maria Matejka
54179a1ab3
Merge commit '8f79e6b9' into thread-next
2022-11-07 10:24:56 +01:00
Maria Matejka
96d3804057
Merge commit '8478de88' into thread-next
2022-11-07 10:18:19 +01:00
Maria Matejka
34e803c6c3
Merge commit '54430df9' into thread-next
2022-11-07 10:09:01 +01:00
Maria Matejka
37b6444137
Moved config-related allocations to config_pool and showing its size in memory usage
2022-11-01 16:38:24 +01:00
Alexander Zubkov
5aebce5e0c
Doc: Add documentation for "show route (import|export) table"
2022-10-18 04:25:29 +02:00
Maria Matejka
8d7f516b2a
Attribute blocks are now allocated from slabs instead of malloc()
2022-10-12 18:04:39 +02:00
Maria Matejka
d3af586da4
Removed an accidentally merged debug call introduced in 5395880908
2022-10-12 18:02:34 +02:00
Maria Matejka
ff24f027a6
Merge commit '53958809' into thread-next
2022-10-12 11:30:27 +02:00
Maria Matejka
c4957647b4
Merge commit '4ba991f1' into thread-next
2022-10-12 11:24:23 +02:00
Maria Matejka
fdacb89a53
BGP refeed and reload with Adj-RIB-In/Out is done without route refresh
2022-10-12 10:05:16 +02:00
Maria Matejka
c1cb2dc31c
TES_HUNGRY doesn't inhibit export cleanup any more
2022-10-12 10:05:16 +02:00
Maria Matejka
6d5929be24
More thorough logging of route update corner cases
2022-10-12 10:05:16 +02:00
Maria Matejka
26552a7ec8
Fixed BGP reload limits
2022-10-12 10:05:14 +02:00
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
Ondrej Zajicek
8f79e6b93e
BGP: Add option 'next hop prefer global'
...
Add BGP channel option 'next hop prefer global' that modifies BGP
recursive next hop resolution to use global next hop IPv6 address instead
of link-local next hop IPv6 address for immediate next hop of received
routes.
2022-10-10 05:06:19 +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
Ondrej Zajicek
8478de8817
Nest: Add channel config flag to distinguish new or copy
...
It is useful to distinguish whehter channel config returned from
channel_config_get() was allocated new, or existing from template.
Caller may want to initialize new ones.
2022-10-03 20:18:12 +02:00
Ondrej Zajicek
54430df953
BGP: Do not assume that all channels are struct bgp_channel
...
In principle, the channel list is a list of parent struct proto and can
contain general structures of type struct channel, That is useful e.g.
for adding MPLS channels to BGP.
2022-10-03 20:18:12 +02:00
Ondrej Zajicek
92a8565547
Filter: Add some minor functions for f_tree and EC
...
Add some supportive functions for f_tree and EC. These functions are used
by L3VPN code.
2022-10-03 20:18: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