Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-09-21 | Caching eattrs in filters is not needed anymore. | Maria Matejka | |
After flattening the route attribute structure, the ea_list ** is derivable from rte * by arithmetics. Caching the derived value doesn't help performance and therefore is removed as unnecessary. | |||
2022-09-21 | Flushing tmp_linpool in tree test and in static protocol | Maria Matejka | |
2022-09-21 | Trie test uses direct tmp_allocz() instead of lp_allocz(tmp_linpool) | Maria Matejka | |
2022-09-21 | Local page allocation | Maria Matejka | |
2022-09-20 | Pipe kick-and-drain packed into a neat structure and functions. | Maria Matejka | |
2022-09-20 | BFD: The old pipe notification mechanism replaced by events | Maria Matejka | |
2022-09-20 | Fixed display of standby memory | Maria Matejka | |
2022-09-20 | Merge commit 'df476c2e' into thread-next | Maria Matejka | |
Implemented the corking by our own commit, merging with "ours" strategy. | |||
2022-09-20 | Route export may get corked on refeed startup | Maria Matejka | |
2022-09-20 | Merge commit '0fd1c1d0' into thread-next | Maria Matejka | |
Using the "ours" strategy as the changes introduced in merged commits are already implemented in thread-next in a different way. | |||
2022-09-20 | Merge commit 'adf37d8e' into thread-next | Maria Matejka | |
2022-09-20 | Merge commit 'dc160e11' into thread-next | Maria Matejka | |
2022-09-19 | Merge remote-tracking branch 'origin/master' into thread-next | Maria Matejka | |
Ignoring that revert as the thread stack needs a completely different allocation strategy. Not the current one either, yet it has to be done yet. | |||
2022-09-19 | Switched off forking for filter test. | Maria Matejka | |
You don't want to fork with threads running. | |||
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 | Merge commit '1518970c' into HEAD | Maria Matejka | |
2022-09-18 | Fixing several race-conditions in event code. | Maria Matejka | |
After a suggestion by Santiago, I added the direct list pointer into events and the events are now using this value to check whether the route is active or not. Also the whole trick with sentinel node unioned with event list is now gone. For debugging, there is also an internal circular buffer to store what has been recently happening in event code before e.g. a crash happened. By default, this debug is off and must be manually enabled in lib/event.c as it eats quite some time and space. | |||
2022-09-18 | Longer unit test default timeout to prevent spurious build failures on slow ↵ | Maria Matejka | |
virtuals | |||
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 | Loop flags: a simple idempotent event announcement mechanism | Maria Matejka | |
2022-09-18 | Cancelling all timers when loop stops | 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-16 | Revert "Reducing filter stack size to allow for lesser thread stack size" | Maria Matejka | |
This reverts commit 2c13759136951ef0e70a3e3c2b2d3c9a387f7ed9. | |||
2022-09-14 | Revert "Routing tables now have their own loops." | Maria Matejka | |
This reverts commit 878eeec12bf020c9e7460040d225a929bbbd2bd2. These changes have been done in a different way in the other branch of the future merge. | |||
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 remote-tracking branch 'origin/master' into thread-next | Maria Matejka | |
2022-09-09 | Merge commit 'd2c1036a42881d413ec97203ede92a69f8cd218f' into thread-next | Maria Matejka | |
2022-09-09 | Merge branch 'mq-fix-eattr-setting' 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 | Merge branch 'mq-fix-eattr-setting' into backport | Maria Matejka | |