Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-09-21 | Fixed the export settle timer to be actually a settle timer | Maria Matejka | |
2022-09-21 | Local page allocation | Maria Matejka | |
2022-09-20 | Fixed display of standby memory | Maria Matejka | |
2022-09-20 | Route export may get corked on refeed startup | Maria Matejka | |
2022-09-20 | Merge commit 'adf37d8e' into thread-next | Maria Matejka | |
2022-09-18 | Merge commit '4f3fa162' into HEAD | Maria Matejka | |
2022-09-18 | Fix for table hostcache corking and shutdown race conditions | Maria Matejka | |
2022-09-18 | Table: Re-scheduling prune event when another prune loop is pending | Maria Matejka | |
2022-09-18 | Export event doesn't have to be postponed before requeuing as an export-stop ↵ | Maria Matejka | |
event | |||
2022-09-18 | Converted simple table events to loop flags | Maria Matejka | |
2022-09-18 | Routing tables have their own service loops. | Maria Matejka | |
2022-09-18 | Memory pages allocator is now a global simple lockless structure | Maria Matejka | |
2022-09-09 | Table export announcer needs both an event and a timer to do export bundling ↵ | Maria Matejka | |
the right way | |||
2022-09-09 | Created a dedicated settle timer structure | Maria Matejka | |
2022-09-09 | Merge commit 'd2c1036a42881d413ec97203ede92a69f8cd218f' into thread-next | Maria Matejka | |
2022-09-08 | Table access is now locked. | Maria Matejka | |
2022-09-08 | Table feed refactoring to allow for locking and unlocking | Maria Matejka | |
2022-09-08 | Table long-locking debug code | Maria Matejka | |
2022-09-08 | Next hop updater has its own event | Maria Matejka | |
2022-09-07 | Next hop refactoring to allow for table locking | Maria Matejka | |
2022-09-06 | Better profylaction recursive route loops | Maria Matejka | |
In some specific configurations, it was possible to send BIRD into an infinite loop of recursive next hop resolution. This was caused by route priority inversion. To prevent priority inversions affecting other next hops, we simply refuse to resolve any next hop if the best route for the matching prefix is recursive or any other route with the same preference is recursive. Next hop resolution doesn't change route priority, therefore it is perfectly OK to resolve BGP next hops e.g. by an OSPF route, yet if the same (or covering) prefix is also announced by iBGP, by retraction of the OSPF route we would get a possible priority inversion. | |||
2022-09-05 | Next hop update triggered at the very end of hostcache update | Maria Matejka | |
2022-09-05 | Exporter routine refactoring to allow for nicer table locking | Maria Matejka | |
2022-09-01 | Added an indirection to the export announcement routine | Maria Matejka | |
There are performance reasons for this, mostly that we don't want to ping the table service routine with every import. | |||
2022-09-01 | ROA subscriptions are also converted to export requests. | Maria Matejka | |
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 | Flowspec revalidate notification converted to an export hook | Maria Matejka | |
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 | Hostcache update notification converted to an export hook | Maria Matejka | |
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 | Miscellaneous refactoring | Maria Matejka | |
2022-09-01 | Table debug is now a per-table setting and has categories. | Maria Matejka | |
2022-09-01 | Default tables are not created unless actually used. | Maria Matejka | |
This allows for setting default table values at the beginning of config file before "master4" and "master6" tables are initialized. | |||
2022-08-30 | Tables: Requesting prune only after export cleanup | Maria Matejka | |
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-18 | Simplified the protocol hookup code in Makefiles | Maria Matejka | |
2022-08-03 | Merge commit 'c7d0c5b2' into thread-next | Maria Matejka | |
2022-08-03 | Merge commit '18f66055' into thread-next | Maria Matejka | |
2022-08-03 | Merge commit '038fcf1c' into thread-next | Maria Matejka | |
It was necessary to update the code to match removal of rta, as well as existence of cached nested attribute lists. | |||
2022-08-02 | Merge commit 'f0507f05ce57398e135651896dace4cb68eeed54' into thread-next | Maria Matejka | |
2022-08-02 | Also next hop update routines are corking themselves when congestion is detected | Maria Matejka | |
2022-08-02 | Route table cork: Indicate whether the export queues are congested. | Maria Matejka | |
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-07-28 | Moved the thread starting code to IO loop code | Maria Matejka | |
2022-07-22 | Revert "Export table: Delay freeing of old stored route." | Maria Matejka | |
This reverts commit cee0cd148c9b71bf47d007c850193b5fbf9486c1. This change is not needed in version 2 and the surrounding code has disappeared mostly in version 3. | |||
2022-07-18 | Event lists rewritten to a single linked list | Maria Matejka | |
In multithreaded environment, we need to pass messages between workers. This is done by queuing events to their respective queues. The double-linked list is not really useful for that as it needs locking everywhere. This commit rewrites the event subsystem to use a single-linked list where events are enqueued by a single atomic instruction and the queue is processed after atomically moving the whole queue aside. | |||
2022-07-18 | Merge commit '94eb0858' into thread-next | Maria Matejka | |
2022-07-18 | Fixing build issues caused by a nonportable Makefile rule | Maria Matejka | |
2022-07-15 | Merge commit 'c70b3198' into thread-next [lots of conflicts] | Maria Matejka | |
There were more conflicts that I'd like to see, most notably in route export. If a bisect identifies this commit with something related, it may be simply true that this commit introduces that bug. Let's hope it doesn't happen. | |||
2022-07-14 | Fixed invalid routes handling | Maria Matejka | |
The invalid routes were filtered out before they could ever get exported, yet some of the routines need them available, e.g. for display or import reload. Now the invalid routes are properly exported and dropped in channel export routines instead. | |||
2022-07-13 | Merge commit '2e5bfeb73ac25e236a24b6c1a88d0f2221ca303f' into thread-next | Maria Matejka | |
2022-07-13 | Merge commit '7e9cede1fd1878fb4c00e793bccd0ca6c18ad452' into thread-next | Maria Matejka | |
2022-07-13 | Fixed bug in repeated show route command | Maria Matejka | |
Introduced by 13ef5e53dd4a98c80261139b4c9ce4b1074cac40, the CLI was not properly cleaned up when the command finished, causing BIRD to not parse any other command after "show route". | |||
2022-07-12 | Merge commit 'f18968f5' into thread-next | Maria Matejka | |
2022-07-12 | Removing the rte_modify API | Maria Matejka | |
For BGP LLGR purposes, there was an API allowing a protocol to directly modify their stale routes in table before flushing them. This API was called by the table prune routine which violates the future locking requirements. Instead of this, BGP now requests a special route export and reimports these routes into the table, allowing for asynchronous execution without locking the table on export. |