Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-04-06 | Protocols have their own explicit init routines | Maria Matejka | |
2022-04-06 | Unsetting route attributes without messing with type system | Maria Matejka | |
2022-04-06 | Eattr flags (originated and fresh) get their own struct fields | Maria Matejka | |
2022-04-06 | Minor fix: f_val literals should always have named struct fields | Maria Matejka | |
2022-04-06 | Converted Slab allocator to typed lists | Maria Matejka | |
2022-04-06 | Slab allocator can free the blocks without knowing the parent structure | Maria Matejka | |
2022-04-06 | Typed lists for easier walking and stronger type checking | Maria Matejka | |
2022-03-15 | Printf variant with a result allocated inside a pool / linpool | Maria Matejka | |
2022-03-14 | Slab memory allocator unit test | Maria Matejka | |
2022-03-09 | Fixed a static assert in page allocator | Maria Matejka | |
2022-03-09 | Merge remote-tracking branch 'origin/master' into haugesund | Maria Matejka | |
2022-03-09 | Merge commit '60880b539b8886f76961125d89a265c6e1112b7a' into haugesund | Maria Matejka | |
2022-03-09 | BGP Flowspec validation: Removed in-route optimization for multithreading ↵ | Maria Matejka | |
compatibility | |||
2022-03-09 | Merge commit 'e42eedb9' into haugesund | Maria Matejka | |
2022-03-09 | Merge commit '5cff1d5f' into haugesund | Maria Matejka | |
Conflicts: proto/bgp/attrs.c proto/pipe/pipe.c | |||
2022-03-09 | Merge commit 'd5a32563' into haugesund | Maria Matejka | |
2022-03-09 | Fixed resource initialization in unit tests | Maria Matejka | |
2022-03-09 | Linpools with pages fixed to the final page allocator version | Maria Matejka | |
2022-03-09 | Merge commit '0c59f7ff' into haugesund | Maria Matejka | |
2022-03-09 | Revert "Bound allocated pages to resource pools with page caches to avoid ↵ | Maria Matejka | |
unnecessary syscalls" This reverts commit 7f0e59820899c30a243c18556ce2e3fb72d6d221. | |||
2022-03-09 | Revert "fixup! Bound allocated pages to resource pools with page caches to ↵ | Maria Matejka | |
avoid unnecessary syscalls" This reverts commit bea582cbb53e30dd32a5b6829c7443e0e5558d11. | |||
2022-03-09 | Revert "Multipage allocation" | Maria Matejka | |
This reverts commit 6cd37713781a3092f8166b2178fae35cbfec1e28. | |||
2022-03-09 | Revert "fixup! Multipage allocation" | Maria Matejka | |
This reverts commit a54f75f454b7ed8c8ff2c1787a506528f22cbae7. | |||
2022-03-09 | Single-threaded version of sark-branch memory page management | Maria Matejka | |
2022-03-02 | Replacing BGP temporary linpools by the common temporary linpool | Maria Matejka | |
2022-03-02 | Replaced custom linpools in tests for the common tmp_linpool | Maria Matejka | |
2022-03-02 | Introducing an universal temporary linpool flushed after every task | Maria Matejka | |
2022-03-02 | Static list initializer | Maria Matejka | |
2022-03-02 | Small improvement in directory test | Ondrej Filip | |
2022-03-02 | Merge commit '2c13759136951ef0e70a3e3c2b2d3c9a387f7ed9' into haugesund | Maria Matejka | |
2022-02-27 | Babel: Fix bug in iface reconfiguration | Ondrej Zajicek (work) | |
A recent change in Babel causes ifaces to disappear after reconfiguration. The patch fixes that. Thanks to Johannes Kimmel for an insightful bugreport. | |||
2022-02-20 | Small change to fix doc building on Debianv2.0.9 | Ondrej Filip | |
2022-02-20 | Small changes related to the new release | Ondrej Filip | |
2022-02-13 | NEWS: Fix formatting and add some notes | Ondrej Zajicek (work) | |
2022-02-09 | NEWS and version update | Ondrej Zajicek (work) | |
2022-02-08 | Alloc: Use posix_memalign() instead of aligned_alloc() | Ondrej Zajicek (work) | |
For compatibility with older systems use posix_memalign(). We can switch to aligned_alloc() when we commit to C11 for multithreading. | |||
2022-02-08 | Netlink: Minor cleanup | Ondrej Zajicek (work) | |
2022-02-07 | Lib: Update alignment of slabs | Ondrej Zajicek (work) | |
Alignment of slabs should be at least sizeof(ptr) to avoid unaligned pointers in slab structures. Fixme: Use proper way to choose alignment for internal allocators. | |||
2022-02-06 | Merge branch 'oz-trie-table' | Ondrej Zajicek (work) | |
2022-02-06 | Trie: Fix trie format | Ondrej Zajicek (work) | |
After switching to 16-way tries, trie format ignored unaligned / internal prefixes and only reported the primary prefix of a trie node. Fix trie format by showing internal prefixes based on the 'local' bitmask of a node. Also do basic (intra-node) reconstruction of prefix patterns by finding common subtrees in 'local' bitmask. In future, we could improve that by doing inter-node reconstruction, so prefixes entered as one pattern for a subtree (e.g. 192.168.0.0/18+) would be reported as such, like with aligned prefixes. | |||
2022-02-06 | Nest: Implement locking of prefix tries during walks | Ondrej Zajicek (work) | |
The prune loop may may rebuild the prefix trie and therefore invalidate walk state for asynchronous walks (used in 'show route in' cmd). Fix it by adding locking that keeps the old trie in memory until current walks are done. In future this could be improved by rebuilding trie walk states (by lookup for last found prefix) after the prefix trie rebuild. | |||
2022-02-06 | Nest: Implement prefix trie pruning | Ondrej Zajicek (work) | |
When rtable is pruned and network fib nodes are removed, we also need to prune prefix trie. Unfortunately, rebuilding prefix trie takes long time (got about 400 ms for 1M networks), so must not be atomic, we have to rebuild a new trie while current one is still active. That may require some considerable amount of temporary memory, so we do that only if we expect significant trie size reduction. | |||
2022-02-06 | Trie: Add prefix counter | Ondrej Zajicek (work) | |
Add counter of prefixes stored in trie. Works only for 'restricted' tries composed of explicit prefixes (pxlen == l == h), like ones used in rtables. | |||
2022-02-06 | Doc: Describe routing table options | Ondrej Zajicek (work) | |
2022-02-06 | BGP: Implement flowspec validation procedure | Ondrej Zajicek (work) | |
Implement flowspec validation procedure as described in RFC 8955 sec. 6 and RFC 9117. The Validation procedure enforces that only routers in the forwarding path for a network can originate flowspec rules for that network. The patch adds new mechanism for tracking inter-table dependencies, which is necessary as the flowspec validation depends on IP routes, and flowspec rules must be revalidated when best IP routes change. The validation procedure is disabled by default and requires that relevant IP table uses trie, as it uses interval queries for subnets. | |||
2022-02-06 | Nest: Add routing table configuration blocks | Ondrej Zajicek (work) | |
Allow to specify sorted flag, trie fla, and min/max settle time. Also do not enable trie by default, it must be explicitly enabled. | |||
2022-02-06 | Nest: Add convenience functions to check rtable net type | Ondrej Zajicek (work) | |
2022-02-06 | Nest: Avoid unnecessary net_format() in 'show route' command | Ondrej Zajicek (work) | |
When output of 'show route' command was generated, the net_format() was called for each network prematurely, even if the result was not needed. Fix the code to call net_format() only when needed. This makes queries that process many networks but show only few (e.g. 'show route where ..', or 'show route count') much faster (like 5x - 10x faster). | |||
2022-02-06 | Nest: Add trie iteration code to 'show route' | Ondrej Zajicek (work) | |
Add trie iteration code to rt_show_cont() CLI hook and use it to accelerate 'show route in <addr>' commands using interval queries. | |||
2022-02-06 | Nest: Implement 'show route in <addr>' command | Ondrej Zajicek (work) | |
Implement 'show route in <addr>' command, which shows all routes in networks that are subnets of given network. Currently limited to IP network types. |