/**
@mainpage RTRlib
This is the API documentation of the RTRlib, a C implementation of the
RPKI/Router Protocol client.
@section Overview
@par
The RTRlib follows a flexible design. The software architecture includes
different layers to simplify the extension or exchange of individual
parts.\n
\n
\image html components.png
\n
@par
The lowest layer of the architecture is built by the @ref mod_transport_h.
It allows for the implementation of different transport channels that
provide a common interface to exchange PDUs with the cache (i.e., the
RPKI-RTR server). The current version of the library supports unprotected
TCP and SSH.\n
@par
On the top of the transport layer the @ref mod_rtr_h uses a transport
socket for RTR-specific data exchange with the RTR server. The RTR socket
implements the RPKI-RTR protocol, i.e., fetches validation records and
stores them in a prefix table data structure.\n
@par
The @ref mod_pfx_h stores validated prefix origin data. The abstract data
structure provides a common interface to add and delete entries as well as
to verify a specific prefix. The library implements a Trie,
but can be extended to other data structures.\n
@par
On the top of the modular architecture the @ref
mod_rtr_mgr_h maintains the connection to multiple
RTR servers. This includes failover mechanisms. It represents the main
interface for users of the library.
@section RfcDrafts RFCs and Drafts
The functionality of this library is described by the following IETF RFCs
and drafts:
\li The Resource Public Key
Infrastructure (RPKI) to Router Protocol (RFC 6810)
\li BGP Prefix Origin
Validation (RFC 6811)
For a general overview of the topic have look at the homepage of the IETF SIDR working
group.
*/