1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
//! The Routinator Library
//!
//! This crate contains all the moving parts of the Routinator. The
//! application itself, via `main.rs` is only a very tiny frontend.
//!
//! In addition, this also lets you use Routinator as a library for your own
//! dedicated RPKI validation needs. The [operation] module should serve as a
//! good starting point and set of examples since it contains the code for the
//! various commands Routinator provides and uses all functionality.
//!
//! The library roughly consists of three parts: one part collects and
//! validates RPKI data, one processes the validated data, and the third
//! part distributes the output data to whomever it may concern.
//!
//! The first part can be found in three modules:
//!
//! * [collector], which synchronizes a local copy of the published RPKI data
//! with its upstream sources,
//! * [store], which maintains a set of data that has passed fundamental
//! vetting in order to deal with incomplete or broken updates from upstream
//! sources, and
//! * [engine], which performs a validation run using both collector and
//! store.
//!
//! The second part currently comes in two flavours:
//!
//! * [payload], which processes data for Route Origin Validation (i.e.,
//! checking that a BGP route has been announced by someone who was
//! authorized to do so), and
//! * [rta], which processes Resource Tagged Authorizations (i.e., objects
//! signed by resource holders).
//!
//! Additional modules can be added in the future.
//!
//! The third part is represented by a number of modules with differing
//! purposes:
//!
//! * [output] allows formatting data – currently Route Origin Validation
//! data only – in different formats,
//! * [http] provides an HTTP server with mutliple endpoints for all sorts
//! of purposes, and
//! * [rtr] provides an RTR server which allows routers to synchronize their
//! RPKI filter tables.
//!
//! Apart from these, there are a few more modules that support these core
//! parts in their work.
//!
pub use Config;
pub use ;
pub use Operation;
pub use rpki;
pub use reqwest;