10 releases

0.4.0 Nov 20, 2024
0.4.0-rc0 Jun 12, 2024
0.3.0 Jan 18, 2024
0.3.0-pre.1 Jun 30, 2022
0.1.0 Jul 8, 2021

#1059 in Network programming

Download history 3/week @ 2024-08-30 10/week @ 2024-09-20 11/week @ 2024-09-27 2/week @ 2024-10-04 220/week @ 2024-10-25 61/week @ 2024-11-01 7/week @ 2024-11-08 177/week @ 2024-11-15 46/week @ 2024-11-22 25/week @ 2024-11-29

255 downloads per month
Used in rotonda

BSD-3-Clause

7MB
9K SLoC

rotonda-store

An In-Memory Routing Information Base (RIB) for IPv4 and IPv6 Prefixes. Part of the Rotonda modular BGP engine.

Although this store is geared towards storing routing information, it can store any type of metadata for a prefix.

It features as secondary key a u32 value, which can be used to store multiple values for one prefix, e.g. representing different peers, or add_path routes.

The built-in tree-bitmap[^1] allows for fast querying of IP prefixes and their more- and less-specific prefixes.

This crate provides a data-structure intended for single-threaded use, and a data-structure for multi-threaded use.

[^1]: Read more about the data-structure in this blog post.


lib.rs:

A treebitmap based IP Prefix Store IP prefixes storage and retrieval data structures for IPv4 and IPv6 prefixes. This crate contains structures for both single and multi-threaded contexts, as well as async contexts.

The underlying tree structure is based on the tree bitmap as outlined in this paper.

Part of the Rotonda modular BGP engine. Read more about the data-structure in this blog post.

Dependencies

~5–15MB
~185K SLoC