Storage that stays local
An embedded database for your mirrored objects, indexes and source state. Pick the sources and object classes your deployment needs.
Set up your first mirrorMirror IRR data, look up routes and AS-sets, and build filters for BIRD or FRR. An Internet Routing Registry daemon with embedded storage and a console included.
Open-source project · Full IRRd parity is still in development.
Run it on your infrastructure
Choose your sources and resource budget. RIRRd runs as one daemon, with no PostgreSQL or Redis to manage.
An embedded database for your mirrored objects, indexes and source state. Pick the sources and object classes your deployment needs.
Set up your first mirrorBrowse source health, explore registry objects and copy query commands. WHOIS, HTTP and GraphQL serve the same stored data.
Explore the live consoleUse bgpq4 to generate IPv4 and IPv6 IRR filters for BIRD or FRR. Inspect and test candidate policies before applying them.
Follow the router guideInstallation, cache budgets, source configuration and upgrade guidance in one place.
Latest development work: mirrored ingestion and bounded queries across all 19 RPSL classes, query memory limits, and verified database compaction. These are separate from the historical comparison below. Read the development review and full-catalog storage measurements.
Measured, with context
100,000 synthetic objects, on the same Linux VM. Compared with pinned official IRRd 4.5.4, with RPKI disabled in both profiles.
Seconds · lower is better · three runs each
MiB · lower is better · summed process memory
MiB · lower is better · includes PostgreSQL WAL
Eight clients · reused connections
| Workload | RIRRd queries/s | IRRd queries/s | RIRRd p95 | IRRd p95 |
|---|
Historical development measurements, not a capacity promise for the current beta. These workloads cover a shared subset of features; they do not establish full IRRd parity.
These measurements use the exact revisions listed in the raw results. Both systems used the same synthetic fixture and recorded host conditions. Memory includes the reference application and its PostgreSQL/Redis services; filesystem cache outside processes is excluded.
Real-world datasets and sustained load need separate sizing. Authentication, policy, replication and release qualification remain in development. See the testing page for recorded verification and beta status for the remaining gaps.
Prefer to try it first?
The software lives here. Public nodes, hosting credits and operator submissions live at irrd.tools.
An experimental public node serving IRR queries over IPv4 and IPv6. Explore the data before setting up a server of your own.
Visit the community networkLoading live node counters.
An independent project
RIRRd is a passion project by Lostepic (AaranCloud). It began in a personal repository, with roughly three months of work before being shared publicly. It is now open source for anyone to use, learn from, modify and contribute to. Development and maintenance happen as time allows.
RIRRd is one of several Rust IRR implementations. The idea of writing an IRR daemon in Rust is not unique, and this project does not claim otherwise. It is not intended to take credit from, undermine or detract from other projects. We respect their work and welcome different approaches to the same problem.
RIRRd is an independent implementation. No code was copied from another Rust IRR project. Protocol compatibility work uses official IRRd as its reference; compatibility claims are limited to the documented tests and evidence.
Read the repository disclaimerHelp shape what comes next
Built with AI assistance, and open to human and AI-assisted contributions with review and tests. Report reproducible bugs, query differences or performance regressions. Keep credentials and private registry data out of public issues.