rpki_rtr/lib.rs
1//! RTR: the RPKI to Router Protocol.
2//!
3//! RPKI, the Resource Public Key Infrastructure, is a distributed database of
4//! signed statements by entities that participate in Internet routing. A
5//! typical setup to facilitate this information when making routing decisions
6//! first collects and validates all statements into something called a
7//! _local cache_ and distributes validated and normalized information from
8//! the cache to the actual routers or route servers. The standardized
9//! protocol for this distribution is the RPKI to Router Protocol or RTR for
10//! short.
11//!
12//! This crate implements both the server and client side of RTR. Both of
13//! these are built atop [Tokio]. They are generic over the concrete socket
14//! type and can thus be used with different transports. They also are generic
15//! over a type that provides or consumes the data. For more details, see the
16//! [`Server`] and [`Client`] types.
17//!
18//! The crate implements both versions 0 and 1 of the protocol. It does not,
19//! currently, support router keys, though.
20//!
21//! You can read more about RPKI in [RFC 6480]. RTR is currently specified in
22//! [RFC 8210].
23//!
24//! [`Client`]: client/struct.Client.html
25//! [`Server`]: server/struct.Server.html
26//! [Tokio]: https://crates.io/crates/tokio
27//! [RFC 6480]: https://tools.ietf.org/html/rfc6480
28//! [RFC 8210]: https://tools.ietf.org/html/rfc8210
29
30pub use self::client::Client;
31pub use self::payload::{Action, Payload, Timing};
32pub use self::server::Server;
33pub use self::state::{State, Serial};
34
35pub mod client;
36pub mod payload;
37pub mod state;
38pub mod server;
39
40pub mod pdu;