\chapter{RTRlib}
\hypertarget{index}{}\label{index}\index{RTRlib@{RTRlib}}
This is the API documentation of the RTRlib, a C implementation of the RPKI/\+Router Protocol client.\hypertarget{index_Overview}{}\doxysection{\texorpdfstring{Overview}{Overview}}\label{index_Overview}
\begin{DoxyParagraph}{}
The RTRlib follows a flexible design. The software architecture includes different layers to simplify the extension or exchange of individual parts.~\newline
 ~\newline
 ~\newline
 
\end{DoxyParagraph}
\begin{DoxyParagraph}{}
The lowest layer of the architecture is built by the \doxylink{group__mod__transport__h}{Transport sockets}. 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.~\newline
 
\end{DoxyParagraph}
\begin{DoxyParagraph}{}
On the top of the transport layer the \doxylink{group__mod__rtr__h}{RTR socket} 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.~\newline
 
\end{DoxyParagraph}
\begin{DoxyParagraph}{}
The \doxylink{group__mod__pfx__h}{Prefix validation table} 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.~\newline
 
\end{DoxyParagraph}
\begin{DoxyParagraph}{}
On the top of the modular architecture the \doxylink{group__mod__rtr__mgr__h}{RTR connection manager} maintains the connection to multiple RTR servers. This includes failover mechanisms. It represents the main interface for users of the library.
\end{DoxyParagraph}
\hypertarget{index_RfcDrafts}{}\doxysection{\texorpdfstring{RFCs and Drafts}{RFCs and Drafts}}\label{index_RfcDrafts}
The functionality of this library is described by the following IETF RFCs and drafts\+: \begin{DoxyItemize}
\item \href{http://tools.ietf.org/html/rfc6810}{\texttt{ The Resource Public Key Infrastructure (RPKI) to Router Protocol (RFC 6810)}} \item \href{http://tools.ietf.org/html/rfc6811}{\texttt{ BGP Prefix Origin Validation (RFC 6811)}}\end{DoxyItemize}
For a general overview of the topic have look at the homepage of the \href{http://datatracker.ietf.org/wg/sidr/charter/}{\texttt{ IETF SIDR working group}}. 