Age | Commit message (Collapse) | Author | |
---|---|---|---|
2022-04-06 | Slab allocator can free the blocks without knowing the parent structure | Maria Matejka | |
2022-02-06 | Nest: Attach prefix trie to rtable for faster LPM and interval queries | Ondrej Zajicek (work) | |
Attach a prefix trie to IP/VPN/ROA tables. Use it for net_route() and net_roa_check(). This leads to 3-5x speedups for IPv4 and 5-10x speedup for IPv6 of these calls. TODO: - Rebuild the trie during rt_prune_table() - Better way to avoid trie_add_prefix() in net_get() for existing tables - Make it configurable (?) | |||
2020-02-21 | RIP: Demand circuit support (RFC 2091) | Ondrej Zajicek (work) | |
2020-01-07 | KRT: Improve syncer code to avoid using temporary data in rtable | Ondrej Zajicek (work) | |
The old code stored route verdicts and temporary routes directly in rtable. The new code do not store received routes (it immediately compares them with exported routes and resolves conflicts) and uses internal bitmap to keep track of which routes were received and which needs to be reinstalled. By not putting 'invalid' temporary routes to rtable, we keep rtable in consistent state, therefore scan no longer needs to be atomic operation and could be splitted to multiple events. | |||
2019-01-31 | Nest: FIB rehash values tweaked for better performance | Maria Matejka | |
2018-12-04 | Route table max hash size raised to 2^24. | Jan Maria Matejka | |
This is still OK for everybody to fit into RAM and also probably enough to keep a little collision rate for full BGP table. | |||
2018-02-13 | Add support for source-specific IPv6 routes to BIRD core | Ondrej Zajicek (work) | |
This patch adds support for source-specific IPv6 routes to BIRD core. This is based on Dean Luga's original patch, with the review comments addressed. SADR support is added to network address parsing in confbase.Y and to the kernel protocol on Linux. Currently there is no way to mix source-specific and non-source-specific routes (i.e., SADR tables cannot be connected to non-SADR tables). Thanks to Toke Hoiland-Jorgensen for the original patch. Minor changes by Ondrej Santiago Zajicek. | |||
2018-02-07 | Nest: Trivial whitespace cleanup | Ondrej Zajicek (work) | |
2018-01-24 | Nest: remove duplicate function | Ondrej Zajicek (work) | |
2017-12-16 | Minor fixes for debug mode | Ondrej Zajicek (work) | |
2017-12-12 | Revive FIB and kernel MPLS code | Ondrej Zajicek (work) | |
2017-12-07 | Merge commit '7b2c5f3d2826e3175bf31b1c36056c9efc587a2b' into int-new | Ondrej Zajicek (work) | |
2017-09-19 | Docs: FIB iteration macros | Michal 'vorner' Vaner | |
2016-12-07 | Basic flow specification support (RFC 5575) | Ondrej Zajicek (work) | |
Add flow4/flow6 network and rt-table type and operations, config grammar and static protocol support. Squashed flowspec branch from Pavel Tvrdik. | |||
2016-01-21 | BSD: Explicitly dropping routes with mismatched AF's. | Jan Moskyto Matejka | |
2016-01-20 | Rewrite roa_check() for integrated BIRD | Pavel Tvrdík | |
Thanks to Ondrej Zajicek for his support with writing this code. | |||
2016-01-07 | Add NET ROA4/6 structures | Pavel Tvrdík | |
2015-12-29 | Move ID allocator to a separate file and use it also in OSPF | Ondrej Zajicek (work) | |
2015-12-24 | Follow-up work on integration | Ondrej Zajicek (work) | |
2015-12-21 | Modify FIB_WALK() and FIB_ITERATE() to work with new FIB code | Ondrej Zajicek (work) | |
Returned user data pointers have offset relative to fib_node. | |||
2015-12-21 | Follow-up work on integration | Ondrej Zajicek (work) | |
2015-12-20 | Nest: Reimplement fib_route() and add some consts | Ondrej Zajicek (work) | |
2015-11-05 | Initial commit on integrated BIRD | Ondrej Zajicek (work) | |
New data types net_addr and variants (in lib/net.h) describing network addresses (prefix/pxlen). Modifications of FIB structures to handle these data types and changing everything to use these data types instead of prefix/pxlen pairs where possible. The commit is WiP, some protocols are not yet updated (BGP, Kernel), and the code contains some temporary scaffolding. Comments are welcome. | |||
2015-10-05 | Major RIP redesign | Ondrej Zajicek (work) | |
The new RIP implementation fixes plenty of old bugs and also adds support for many new features: ECMP support, link state support, BFD support, configurable split horizon and more. Most options are now per-interface. | |||
2015-06-08 | unsigned [int] -> uint | Pavel Tvrdík | |
2015-02-21 | Minor fixes | Pavel Tvrdík | |
2009-10-07 | Implement proper LSA ID generation. | Ondrej Zajicek | |
2004-06-05 | Marked unused parameters in core code as such. | Martin Mares | |
2000-06-07 | Fixes to the progdoc. | Martin Mares | |
2000-06-01 | FIB documentation. | Martin Mares | |
I've changed the init callback type to a typedef to work around a bug in kernel-doc I'm too lazy to hunt now. | |||
2000-05-13 | Added fib_route() which does (although very slow) lookup of longest-match | Martin Mares | |
routing in a FIB. | |||
2000-05-08 | Several simplifications of the fib iterators. | Martin Mares | |
2000-05-07 | Squashed one bug in fib_rehash(). No more routes disappearing as if struct | Martin Mares | |
by a lightning :) | |||
2000-03-31 | Include "lib/string.h" instead of <string.h>. It should give us bzero() | Martin Mares | |
and other non-portable functions on all systems. | |||
2000-03-12 | Great cleanup of debug messages. LOCAL_DEBUG turned off in most modules, | Martin Mares | |
several debug() calls converted to DBG(). | |||
1998-12-22 | Oops, previous modification for passing NULL to fib_init() did not | Pavel Machek | |
compile :-(. | |||
1998-12-22 | Allow NULL to init_fib(). | Pavel Machek | |
1998-12-20 | die() -> bug() where appropriate. | Martin Mares | |
1998-12-20 | Rewrote fib functions to make them insert/delete/asynchronous-walk safe. | Martin Mares | |
This is implemented in a way similar to lib/slists.h, but it took some more effort to make rehashing not disturb the readers. We do it by just taking _highest_ k bits of ipa_hash as our hash value and sorting each box by whole ipa_hash(). Consult FIB_ITERATE_* macros in nest/route.h. Implemented fib_check() debugging function and also rewrote the rehashing algorithm to use better thresholds and not to waste time by rehashing forth and back. | |||
1998-11-29 | Renamed `DEBUG' symbol to `DEBUGGING' to prevent collisions with token | Martin Mares | |
names and include files. | |||
1998-10-18 | o FIB flags now available for FIB users. | Martin Mares | |
o struct network: FIB flags used for kernel syncing. o struct network: `next' field deleted (historical relic). | |||
1998-05-26 | Debug messages. | Martin Mares | |
1998-05-15 | Parts of routing table code. Data structure declarations should be | Martin Mares | |
complete now. |