Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-11-26 | Trie: Implement longest-prefix-match queries and walks | Ondrej Zajicek (work) | |
The prefix trie now supports longest-prefix-match query by function trie_match_longest_ipX() and it can be extended to iteration over all covering prefixes for a given prefix (from longest to shortest) using TRIE_WALK_TO_ROOT_IPx() macro. | |||
2021-11-24 | Directly mapped pages are kept for future use if temporarily not needed | Maria Matejka | |
2021-11-19 | Trie: Implement trie walking code | Ondrej Zajicek (work) | |
Trie walking allows enumeration of prefixes in a trie in the usual lexicographic order. Optionally, trie enumeration can be restricted to a chosen subnet (and its descendants). | |||
2021-11-13 | Trie: Simplify network matching code | Ondrej Zajicek (work) | |
Introduce ipX_prefix_equal() and use it to simplify network matching code. | |||
2021-11-09 | Extended route trace: logging Path Identifiers | Maria Matejka | |
2021-10-20 | Conf: Fix crash during shutdown | Ondrej Zajicek (work) | |
BIRD implements shutdown by reconfiguring to fake empty configuration. Such fake config structure is created from the last running config and shares some data, including symbol table. This allows access to (removed) routing tables and causes crash when 'show route' command is used during shutdown. Clean up symbol table, table list and links to default tables, so removed routing tables cannot be accessed during shutdown. | |||
2021-10-13 | Dropping the unused rte_same hook | Maria Matejka | |
2021-10-13 | Dropping rte-local dumper entries | Maria Matejka | |
2021-10-13 | Kernel: Convert the rte-local attributes to extended attributes and flags to ↵ | Maria Matejka | |
pflags | |||
2021-10-13 | Route: moved rte_src pointer from rta to rte | Maria Matejka | |
It is an auxiliary key in the routing table, not a route attribute. | |||
2021-10-13 | Preexport: No route modification, no linpool needed | Maria Matejka | |
2021-10-13 | RIP fixup + dropping the tmp_attrs mechanism as obsolete | Maria Matejka | |
2021-10-13 | Dropping the RTS_DUMMY temporary route storage. | Maria Matejka | |
Kernel route sync is done by other ways now and this code is not used currently. | |||
2021-10-13 | Preference moved to RTA and set explicitly in protocols | Maria Matejka | |
2021-10-13 | Export table: Delay freeing of old stored route. | Maria Matejka | |
This is needed to provide the protocols the full old route after filters when export table is enabled. | |||
2021-10-13 | BGP: Moved the suppressed and stale flags to pflags | Maria Matejka | |
2021-10-13 | Babel: Convert the rte-local attributes to extended attributes | Maria Matejka | |
2021-10-13 | There may be a symbol with NULL protocol when reconfiguring | Maria Matejka | |
2021-10-13 | OSPF: Convert the rte-local attributes to extended attributes | Maria Matejka | |
2021-10-13 | Show route may be accidentally called on shutdown also when not all default ↵ | Maria Matejka | |
tables are present | |||
2021-10-13 | RIP: convert the rte-local attributes to extended attributes | Maria Matejka | |
2021-10-13 | Extended route attributes may include also pointers | Maria Matejka | |
2021-10-13 | IGP metric getter refactoring to protocol callback | Maria Matejka | |
Direct protocol hooks for IGP metric inside nest/rt-table.c make the protocol API unnecessarily complex. Instead, we use a proper callback. | |||
2021-10-13 | fixup! Multipage allocation | Maria Matejka | |
2021-10-13 | Multipage allocation | Maria Matejka | |
We can also quite simply allocate bigger blocks. Anyway, we need these blocks to be aligned to their size which needs one mmap() two times bigger and then two munmap()s returning the unaligned parts. The user can specify -B <N> on startup when <N> is the exponent of 2, setting the block size to 2^N. On most systems, N is 12, anyway if you know that your configuration is going to eat gigabytes of RAM, you are almost forced to raise your block size as you may easily get into memory fragmentation issues or you have to raise your maximum mapping count, e.g. "sysctl vm.max_map_count=(number)". | |||
2021-10-13 | CLI socket accept() may also fail and should produce some message, not a ↵ | Maria Matejka | |
coredump. | |||
2021-10-13 | OSPF: explicitly stop the periodic tick on shutdown to avoid recalculation races | Maria Matejka | |
2021-10-13 | Linpools may use pages instead of xmalloc | Maria Matejka | |
2021-10-13 | fixup! Bound allocated pages to resource pools with page caches to avoid ↵ | Maria Matejka | |
unnecessary syscalls | |||
2021-09-25 | Filter: Add prefix trie benchmarks | Ondrej Zajicek (work) | |
Add trie tests intended as benchmarks that use external datasets instead of generated prefixes. As datasets are not included, they are commented out by default. | |||
2021-09-25 | Filter: Improve prefix trie tests | Ondrej Zajicek (work) | |
Add tests explicitly matching insides and outsides of trie and update tests to do testing of both IPv4 and IPv6 tries. | |||
2021-09-25 | Filter: Update trie documentation | Ondrej Zajicek (work) | |
2021-09-25 | Filter: Fix trie test | Ondrej Zajicek (work) | |
Generated prefixes must be valid. | |||
2021-09-25 | Filter: Faster prefix sets | Ondrej Zajicek (work) | |
Use 16-way (4bit) branching in prefix trie instead of basic binary branching. The change makes IPv4 prefix sets almost 3x faster, but with more memory consumption and much more complicated algorithm. Together with a previous filter change, it makes IPv4 prefix sets about ~4.3x faster and slightly smaller (on my test data). | |||
2021-09-10 | Bound allocated pages to resource pools with page caches to avoid ↵ | Maria Matejka | |
unnecessary syscalls | |||
2021-09-10 | Reducing filter stack size to allow for lesser thread stack size | Maria Matejka | |
2021-09-10 | OSPF: Setting a list node NULL before use | Maria Matejka | |
2021-09-10 | Fixed memory poisoning in slab | Maria Matejka | |
2021-09-10 | Debug output uses local buffer to avoid clashes between threads. | Maria Matejka | |
2021-09-10 | Filter: Additional consistency checks | Maria Matejka | |
2021-09-10 | Nest: Clean up main channel handling | Ondrej Zajicek (work) | |
Remove assumption that main channel is the only channel. | |||
2021-06-17 | Nest: Clean up main channel handling | Ondrej Zajicek (work) | |
Remove assumption that main channel is the only channel. | |||
2021-06-14 | Nest: Fix export of tmpattrs through pipes | Ondrej Zajicek (work) | |
Pipes copy the original rte with old values, so they require rte to be exported with stored tmpattrs. Other protocols access stored attributes using eattr list, so they require rte to be exported with expanded tmpattrs. This is temporary hack, we plan to remove whoe tmpattr mechanism. Thanks to Paul Donohue for the bugreport. | |||
2021-06-14 | Revert "Nest: Fix export of tmpattrs through pipes" | Ondrej Zajicek (work) | |
This reverts commit f8e273b5e7a3c721f4a30cf27a0b4fe54602e83f. | |||
2021-06-14 | Nest: Fix export of tmpattrs through pipes | Ondrej Zajicek (work) | |
In most cases of export there is no need to store back temporary attributes to rte, as receivers (protocols) access eattr list anyway. But pipe copies the original rte with old values, so we should store tmpattrs also during export. Thanks to Paul Donohue for the bugreport. | |||
2021-06-11 | CI: Allow Babel tests | Ondrej Zajicek (work) | |
2021-06-09 | Nest: Allow both 'password' and 'key' keywords for authentication keys | Ondrej Zajicek (work) | |
2021-06-09 | Babel: Simplify auth expiration | Ondrej Zajicek (work) | |
Just use hello_expiry for that, keep init_expiry for initial unauthentized neighbors. | |||
2021-06-06 | Nest: Fix password list parsing code | Ondrej Zajicek (work) | |
One of previous patches broke password list parsing code, fix that. | |||
2021-06-06 | Lib: Fix static assert macro | Ondrej Zajicek (work) | |