Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-01-19 | Decoupling loops from threads to allow fixed thread count | Maria Matejka | |
On large configurations, too many threads would spawn with one thread per loop. Therefore, threads may now run multiple loops at once. The thread count is configurable and may be changed during run. All threads are spawned on startup. This change helps with memory bloating. BIRD filters need large temporary memory blocks to store their stack and also memory management keeps its hot page storage per-thread. Known bugs: * Thread autobalancing is not yet implemented. * Low latency loops are executed together with standard loops. | |||
2023-01-19 | CLI closing fix when its action is run asynchronously. | Maria Matejka | |
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. | |||
2022-11-07 | Merge remote-tracking branch 'origin/master' into thread-next | Maria Matejka | |
2022-11-07 | Merge commit '0f2be469' into thread-next | Maria Matejka | |
2022-11-03 | Page allocator: Fixed minor bugs and added commentary | Maria Matejka | |
2022-11-02 | Memory pages are not munmapped, instead we just madvise() | Maria Matejka | |
Memory unmapping causes slow address space fragmentation, leading in extreme cases to failing to allocate pages at all. Removing this problem by keeping all the pages allocated to us, yet calling madvise() to let kernel dispose of them. This adds a little complexity and overhead as we have to keep the pointers to the free pages, therefore to hold e.g. 1 GB of 4K pages with 8B pointers, we have to store 2 MB of data. | |||
2022-10-12 | Fixed SSH known hosts checking with older versions of libssh | Maria Matejka | |
2022-10-05 | Poll errors must also drop a corefile. And we shouldn't run sockets when ↵ | Maria Matejka | |
sockets have changed | |||
2022-10-05 | Fixed previously untested paths in RPKI | Maria Matejka | |
2022-10-04 | Merge commit '67256d50' into HEAD | Maria Matejka | |
2022-10-04 | Merge commit 'fb7fb674' into HEAD | Maria Matejka | |
2022-10-04 | Merge commit 'a32cee78' into HEAD | Maria Matejka | |
2022-10-04 | Merge commit '71b434a9' into HEAD | Maria Matejka | |
2022-10-04 | Merge commit '0072d11f' into tmp-learn | Maria Matejka | |
2022-09-29 | Merge branch 'tmp-bad-learn' into thread-next | Maria Matejka | |
2022-09-29 | Merge commit '9efaf6ba' into tmp-bad-learn | Maria Matejka | |
Also fixed forgotten best route selection among alien routes. | |||
2022-09-27 | Merge commit '4364ee' into tmp-bad-learn | Maria Matejka | |
2022-09-27 | Merge commit 'cae5979871ee7aa341334f8b1af6bafc60ee9692' into tmp-bad-learn | Maria Matejka | |
2022-09-27 | KRT: Fix route learning | Maria Matejka | |
This is a reimplementation of commit 0f2be469f897b6d9f925563bbf522438c83522ea by Alexander Zubkov. In the master branch, changes in commit eb937358 broke setting of channel preference for alien routes learned during scan. The preference was set only for async routes. The original solution is extended here to accomodate for v3 specifics. | |||
2022-09-27 | KRT: Fix setting default preference | Alexander Zubkov | |
Changes in commit eb937358 broke setting of channel preference for alien routes learned during scan. The preference was set only for async routes. Move common attribute processing part of functions krt_learn_async() and krt_learn_async() to a separate function to have only one place for such changes. | |||
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 | Fixed display of standby memory | 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 | Memory pages allocator is now a global simple lockless 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-08-18 | Simplified the protocol hookup code in Makefiles | Maria Matejka | |
2022-08-05 | Merge commit '534d0a4b' into thread-next | Maria Matejka | |
2022-08-02 | Merge commit 'f0507f05ce57398e135651896dace4cb68eeed54' into thread-next | Maria Matejka | |
2022-08-02 | Introducing basic RCU primitives for lock-less shared data structures | Maria Matejka | |
2022-07-28 | Moved the thread starting code to IO loop code | Maria Matejka | |
2022-07-27 | Merge branch 'master' into backport | Ondrej Zajicek | |
2022-07-24 | KRT: Scan routing tables separetely on linux to avoid congestion | Ondrej Zajicek | |
Remove compile-time sysdep option CONFIG_ALL_TABLES_AT_ONCE, replace it with runtime ability to run either separate table scans or shared scan. On Linux, use separate table scans by default when the netlink socket option NETLINK_GET_STRICT_CHK is available, but retreat to shared scan when it fails. Running separate table scans has advantages where some routing tables are managed independently, e.g. when multiple routing daemons are running on the same machine, as kernel routing table modification performance is significantly reduced when the table is modified while it is being scanned. Thanks Daniel Gröber for the original patch and Toke Høiland-Jørgensen for suggestions. | |||
2022-07-18 | Merge commit '94eb0858' into thread-next | Maria Matejka | |
2022-07-18 | Merge commit 'a4451535' into thread-next | Maria Matejka | |
2022-07-13 | Merge commit '2e5bfeb73ac25e236a24b6c1a88d0f2221ca303f' into thread-next | Maria Matejka | |
2022-07-13 | Merge commit 'd429bc5c841a8e9d4c81786973edfa56d20a407e' into thread-next | Maria Matejka | |
2022-07-13 | Merge commit '7e9cede1fd1878fb4c00e793bccd0ca6c18ad452' into thread-next | Maria Matejka | |
2022-07-11 | Dropped the internal kernel protocol table for learnt routes. | Maria Matejka | |
The learnt routes are now pushed all into the connected table, not only the best one. This shouldn't do any damage in well managed setups, yet it should be noted that it is a change of behavior. If anybody misses a feature which they implemented by misusing this internal learn table, let us know, we'll consider implementing it in a better way. | |||
2022-07-11 | Merge remote-tracking branch 'origin/master' into backport | Maria Matejka | |
2022-07-11 | Merge commit 'beb5f78a' into backport | Maria Matejka | |
2022-07-10 | Merge version 2.0.10 into backport | Maria Matejka | |
2022-06-27 | Filter: Implement soft scopes | Ondrej Zajicek (work) | |
Soft scopes are anonymous scopes that most likely do not contain any symbol, so allocating regular scope is postponed when it is really needed. | |||
2022-06-27 | Preexport callback now takes the channel instead of protocol as argument | Maria Matejka | |
Passing protocol to preexport was in fact a historical relic from the old times when channels weren't a thing. Refactoring that to match current extensibility needs. | |||
2022-06-08 | Merge commit '938742decc6e1d6d3a0375dd012b75172e747bbc' into haugesund | Maria Matejka | |
2022-06-08 | Merge commit '950775f6fa3d569a9d7cd05e33538d35e895d688' into haugesund | Maria Matejka | |
There were quite a lot of conflicts in flowspec validation code which ultimately led to some code being a bit rewritten, not only adapted from this or that branch, yet it is still in a limit of a merge. | |||
2022-06-04 | IO: Improve resolution of latency debugging messages | Ondrej Zajicek | |
2022-05-30 | Merge commit 'f15f2fcee7eeb5a100bd204a0e67018e25953420' into haugesund | Maria Matejka | |