\hypertarget{classOriginTable}{
\section{OriginTable$<$ A $>$ Class Template Reference}
\label{classOriginTable}\index{OriginTable@{OriginTable}}
}


\hyperlink{classRouteTable}{RouteTable} that receives and stores raw routes sent by routing protocols.  




{\ttfamily \#include $<$rt\_\-tab\_\-origin.hh$>$}

Inheritance diagram for OriginTable$<$ A $>$:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classOriginTable}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classOriginTable_a192b2df829dd447bd50a4bf0ab0b7785}{
typedef \hyperlink{classTrie}{Trie}$<$ A, const \hyperlink{classIPRouteEntry}{IPRouteEntry}$<$ A $>$ $\ast$ $>$ {\bfseries RouteContainer}}
\label{classOriginTable_a192b2df829dd447bd50a4bf0ab0b7785}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classOriginTable_aa53dc89c19b53c93289d374bf68f0c07}{OriginTable} (const string \&tablename, uint32\_\-t admin\_\-distance, ProtocolType protocol\_\-type, \hyperlink{classEventLoop}{EventLoop} \&eventloop)
\begin{DoxyCompactList}\small\item\em \hyperlink{classOriginTable}{OriginTable} constructor. \item\end{DoxyCompactList}\item 
\hypertarget{classOriginTable_aad84e18abc40111b19a4775fac263772}{
\hyperlink{classOriginTable_aad84e18abc40111b19a4775fac263772}{$\sim$OriginTable} ()}
\label{classOriginTable_aad84e18abc40111b19a4775fac263772}

\begin{DoxyCompactList}\small\item\em \hyperlink{classOriginTable}{OriginTable} destructor. \item\end{DoxyCompactList}\item 
int \hyperlink{classOriginTable_a38dc9521bb049391828e5ab1daba90e6}{add\_\-route} (const \hyperlink{classIPRouteEntry}{IPRouteEntry}$<$ A $>$ \&route)
\begin{DoxyCompactList}\small\item\em Add a route to \hyperlink{protocolthe-p}{the} \hyperlink{classOriginTable}{OriginTable}. \item\end{DoxyCompactList}\item 
int \hyperlink{classOriginTable_a4049fba1e0d93fbe0bbea061ae389998}{add\_\-route} (const \hyperlink{classIPRouteEntry}{IPRouteEntry}$<$ A $>$ \&, \hyperlink{classRouteTable}{RouteTable}$<$ A $>$ $\ast$)
\begin{DoxyCompactList}\small\item\em Generic \hyperlink{classRouteTable}{RouteTable} method that is not used on \hyperlink{classOriginTable}{OriginTable}. \item\end{DoxyCompactList}\item 
int \hyperlink{classOriginTable_ab823bcdfb8c577b3b75d2dbc073441e8}{delete\_\-route} (const \hyperlink{classIPNet}{IPNet}$<$ A $>$ \&net)
\begin{DoxyCompactList}\small\item\em Delete a route from \hyperlink{protocolthe-p}{the} \hyperlink{classOriginTable}{OriginTable}. \item\end{DoxyCompactList}\item 
int \hyperlink{classOriginTable_a32685d7a03b12199925aadfdd07eac18}{delete\_\-route} (const \hyperlink{classIPRouteEntry}{IPRouteEntry}$<$ A $>$ $\ast$, \hyperlink{classRouteTable}{RouteTable}$<$ A $>$ $\ast$)
\begin{DoxyCompactList}\small\item\em Generic \hyperlink{classRouteTable}{RouteTable} method that is not used on \hyperlink{classOriginTable}{OriginTable}. \item\end{DoxyCompactList}\item 
void \hyperlink{classOriginTable_a7a201f8e8758091b5ba27468b0195666}{delete\_\-all\_\-routes} ()
\begin{DoxyCompactList}\small\item\em Delete all \hyperlink{protocolthe-p}{the} routes that are in this \hyperlink{classOriginTable}{OriginTable}. \item\end{DoxyCompactList}\item 
\hypertarget{classOriginTable_abaf2a1c3b793b90c7dad5e77d284186a}{
void \hyperlink{classOriginTable_abaf2a1c3b793b90c7dad5e77d284186a}{routing\_\-protocol\_\-shutdown} ()}
\label{classOriginTable_abaf2a1c3b793b90c7dad5e77d284186a}

\begin{DoxyCompactList}\small\item\em Delete all \hyperlink{protocolthe-p}{the} routes that are in this \hyperlink{classOriginTable}{OriginTable}, and propagate \hyperlink{protocolthe-p}{the} deletions downstream. \item\end{DoxyCompactList}\item 
const \hyperlink{classIPRouteEntry}{IPRouteEntry}$<$ A $>$ $\ast$ \hyperlink{classOriginTable_a4d75a0c3b2d9b3fec72bd6045d9b337e}{lookup\_\-route} (const \hyperlink{classIPNet}{IPNet}$<$ A $>$ \&net) const 
\begin{DoxyCompactList}\small\item\em Lookup a specific subnet to see if it is in this \hyperlink{classOriginTable}{OriginTable}. \item\end{DoxyCompactList}\item 
const \hyperlink{classIPRouteEntry}{IPRouteEntry}$<$ A $>$ $\ast$ \hyperlink{classOriginTable_a9f0d9431788c7b6a54bf4f059cf7613a}{lookup\_\-route} (const A \&addr) const 
\begin{DoxyCompactList}\small\item\em Lookup an IP address to get \hyperlink{protocolthe-p}{the} most specific (longest prefix length) route in \hyperlink{protocolthe-p}{the} \hyperlink{classOriginTable}{OriginTable} that matches this address. \item\end{DoxyCompactList}\item 
\hyperlink{classRouteRange}{RouteRange}$<$ A $>$ $\ast$ \hyperlink{classOriginTable_ab5abeb1387c00ea001e84f74c30a6a7e}{lookup\_\-route\_\-range} (const A \&addr) const 
\begin{DoxyCompactList}\small\item\em Lookup an IP addressto get \hyperlink{protocolthe-p}{the} most specific (longest prefix length) route in \hyperlink{protocolthe-p}{the} \hyperlink{classOriginTable}{OriginTable} that matches this address, along with \hyperlink{protocolthe-p}{the} \hyperlink{classRouteRange}{RouteRange} information for this address and route. \item\end{DoxyCompactList}\item 
uint32\_\-t \hyperlink{classOriginTable_a5aa3a3f92cd677e43c169a2268578c81}{admin\_\-distance} () const 
\item 
int \hyperlink{classOriginTable_a3aa9af9583c2abe50392673e105e718f}{protocol\_\-type} () const 
\item 
TableType \hyperlink{classOriginTable_afcd5aa9d3c4a5b7c3e995ca7f1e189c5}{type} () const 
\item 
\hypertarget{classOriginTable_a7566874855656395a9f74669c1ed77a9}{
void \hyperlink{classOriginTable_a7566874855656395a9f74669c1ed77a9}{replumb} (\hyperlink{classRouteTable}{RouteTable}$<$ A $>$ $\ast$, \hyperlink{classRouteTable}{RouteTable}$<$ A $>$ $\ast$)}
\label{classOriginTable_a7566874855656395a9f74669c1ed77a9}

\begin{DoxyCompactList}\small\item\em Generic \hyperlink{classRouteTable}{RouteTable} method that is not used on \hyperlink{classOriginTable}{OriginTable}. \item\end{DoxyCompactList}\item 
\hypertarget{classOriginTable_a88817b1c58b9609fba0157347a5f9b10}{
string \hyperlink{classOriginTable_a88817b1c58b9609fba0157347a5f9b10}{str} () const }
\label{classOriginTable_a88817b1c58b9609fba0157347a5f9b10}

\begin{DoxyCompactList}\small\item\em Render \hyperlink{protocolthe-p}{the} \hyperlink{classOriginTable}{OriginTable} as a string for debugging purposes. \item\end{DoxyCompactList}\item 
\hypertarget{classOriginTable_aec435de31832535216fff99f85ae3cd9}{
uint32\_\-t \hyperlink{classOriginTable_aec435de31832535216fff99f85ae3cd9}{generation} () const }
\label{classOriginTable_aec435de31832535216fff99f85ae3cd9}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} number of times routing protocol has been shutdown and restarted. \item\end{DoxyCompactList}\item 
\hypertarget{classOriginTable_af71df0f554489aad096c9cfe9c283c0a}{
uint32\_\-t \hyperlink{classOriginTable_af71df0f554489aad096c9cfe9c283c0a}{route\_\-count} () const }
\label{classOriginTable_af71df0f554489aad096c9cfe9c283c0a}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} number of routes held internally. \item\end{DoxyCompactList}\item 
\hypertarget{classOriginTable_a5b60adbb693996a28d69334e8fefec43}{
const \hyperlink{classTrie}{RouteContainer} \& \hyperlink{classOriginTable_a5b60adbb693996a28d69334e8fefec43}{route\_\-container} () const }
\label{classOriginTable_a5b60adbb693996a28d69334e8fefec43}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} trie. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classOriginTable_ae3bdcda4aba5c2c1ccf096999c11443f}{
uint32\_\-t {\bfseries \_\-admin\_\-distance}}
\label{classOriginTable_ae3bdcda4aba5c2c1ccf096999c11443f}

\item 
\hypertarget{classOriginTable_a840e752b388ebb78f46afe1c7ba47042}{
ProtocolType {\bfseries \_\-protocol\_\-type}}
\label{classOriginTable_a840e752b388ebb78f46afe1c7ba47042}

\item 
\hypertarget{classOriginTable_ae452af9475ed4dff8a07bdeb72913dda}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries \_\-eventloop}}
\label{classOriginTable_ae452af9475ed4dff8a07bdeb72913dda}

\item 
\hypertarget{classOriginTable_acd455aa67e8c485031cea643737e8259}{
\hyperlink{classTrie}{RouteContainer} $\ast$ {\bfseries \_\-ip\_\-route\_\-table}}
\label{classOriginTable_acd455aa67e8c485031cea643737e8259}

\item 
\hypertarget{classOriginTable_a3f6b7c74c8d5f742fe47b2a24706286e}{
uint32\_\-t {\bfseries \_\-gen}}
\label{classOriginTable_a3f6b7c74c8d5f742fe47b2a24706286e}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class A$>$ class OriginTable$<$ A $>$}

\hyperlink{classRouteTable}{RouteTable} that receives and stores raw routes sent by routing protocols. \hyperlink{classOriginTable}{OriginTable} is a \hyperlink{classRouteTable}{RouteTable} that accepts route\_\-add requests from a single routing protocol, stores \hyperlink{protocolthe-p}{the} route, and propagates it downstream. It also answers lookup\_\-route and lookup\_\-route\_\-range requests from downstream using \hyperlink{protocolthe-p}{the} routes it has stored.

Its template class, A, must be either \hyperlink{protocolthe-p}{the} \hyperlink{classIPv4}{IPv4} class of \hyperlink{protocolthe-p}{the} \hyperlink{classIPv6}{IPv6} class. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classOriginTable_aa53dc89c19b53c93289d374bf68f0c07}{
\index{OriginTable@{OriginTable}!OriginTable@{OriginTable}}
\index{OriginTable@{OriginTable}!OriginTable@{OriginTable}}
\subsubsection[{OriginTable}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A $>$ {\bf OriginTable}$<$ A $>$::{\bf OriginTable} (
\begin{DoxyParamCaption}
\item[{const string \&}]{tablename, }
\item[{uint32\_\-t}]{admin\_\-distance, }
\item[{ProtocolType}]{protocol\_\-type, }
\item[{{\bf EventLoop} \&}]{eventloop}
\end{DoxyParamCaption}
)}}
\label{classOriginTable_aa53dc89c19b53c93289d374bf68f0c07}


\hyperlink{classOriginTable}{OriginTable} constructor. 


\begin{DoxyParams}{Parameters}
{\em tablename} & typically \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} routing protocol that supplies routes to this origin table, or \char`\"{}connected\char`\"{} for \hyperlink{protocolthe-p}{the} \hyperlink{classOriginTable}{OriginTable} that holds directly connected routes, or \char`\"{}static\char`\"{} for \hyperlink{protocolthe-p}{the} \hyperlink{classOriginTable}{OriginTable} that holds locally configured static routes. \\
\hline
{\em admin\_\-distance} & \hyperlink{protocolthe-p}{the} default administrative distance for routes in this table. \\
\hline
{\em protocol\_\-type} & \hyperlink{protocolthe-p}{the} routing protocol type (ProtocolType). \\
\hline
{\em eventloop} & \hyperlink{protocolthe-p}{the} main event loop. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classOriginTable_a38dc9521bb049391828e5ab1daba90e6}{
\index{OriginTable@{OriginTable}!add\_\-route@{add\_\-route}}
\index{add\_\-route@{add\_\-route}!OriginTable@{OriginTable}}
\subsubsection[{add\_\-route}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A $>$ int {\bf OriginTable}$<$ A $>$::add\_\-route (
\begin{DoxyParamCaption}
\item[{const {\bf IPRouteEntry}$<$ A $>$ \&}]{route}
\end{DoxyParamCaption}
)}}
\label{classOriginTable_a38dc9521bb049391828e5ab1daba90e6}


Add a route to \hyperlink{protocolthe-p}{the} \hyperlink{classOriginTable}{OriginTable}. 

The route must not already be in \hyperlink{protocolthe-p}{the} \hyperlink{classOriginTable}{OriginTable}.


\begin{DoxyParams}{Parameters}
{\em route} & \hyperlink{protocolthe-p}{the} route entry to be added. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classOriginTable_a4049fba1e0d93fbe0bbea061ae389998}{
\index{OriginTable@{OriginTable}!add\_\-route@{add\_\-route}}
\index{add\_\-route@{add\_\-route}!OriginTable@{OriginTable}}
\subsubsection[{add\_\-route}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A $>$ int {\bf OriginTable}$<$ A $>$::add\_\-route (
\begin{DoxyParamCaption}
\item[{const {\bf IPRouteEntry}$<$ A $>$ \&}]{, }
\item[{{\bf RouteTable}$<$ A $>$ $\ast$}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classOriginTable_a4049fba1e0d93fbe0bbea061ae389998}


Generic \hyperlink{classRouteTable}{RouteTable} method that is not used on \hyperlink{classOriginTable}{OriginTable}. 

\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classRouteTable}{RouteTable$<$ A $>$}.

\hypertarget{classOriginTable_a5aa3a3f92cd677e43c169a2268578c81}{
\index{OriginTable@{OriginTable}!admin\_\-distance@{admin\_\-distance}}
\index{admin\_\-distance@{admin\_\-distance}!OriginTable@{OriginTable}}
\subsubsection[{admin\_\-distance}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ uint32\_\-t {\bf OriginTable}$<$ A $>$::admin\_\-distance (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classOriginTable_a5aa3a3f92cd677e43c169a2268578c81}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} default administrative distance for this \hyperlink{classOriginTable}{OriginTable} 
\end{DoxyReturn}
\hypertarget{classOriginTable_a7a201f8e8758091b5ba27468b0195666}{
\index{OriginTable@{OriginTable}!delete\_\-all\_\-routes@{delete\_\-all\_\-routes}}
\index{delete\_\-all\_\-routes@{delete\_\-all\_\-routes}!OriginTable@{OriginTable}}
\subsubsection[{delete\_\-all\_\-routes}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A $>$ void {\bf OriginTable}$<$ A $>$::delete\_\-all\_\-routes (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classOriginTable_a7a201f8e8758091b5ba27468b0195666}


Delete all \hyperlink{protocolthe-p}{the} routes that are in this \hyperlink{classOriginTable}{OriginTable}. 

The deletion is not propagated downstream, so this is only useful when shutting down \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. \hypertarget{classOriginTable_a32685d7a03b12199925aadfdd07eac18}{
\index{OriginTable@{OriginTable}!delete\_\-route@{delete\_\-route}}
\index{delete\_\-route@{delete\_\-route}!OriginTable@{OriginTable}}
\subsubsection[{delete\_\-route}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A $>$ int {\bf OriginTable}$<$ A $>$::delete\_\-route (
\begin{DoxyParamCaption}
\item[{const {\bf IPRouteEntry}$<$ A $>$ $\ast$}]{, }
\item[{{\bf RouteTable}$<$ A $>$ $\ast$}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classOriginTable_a32685d7a03b12199925aadfdd07eac18}


Generic \hyperlink{classRouteTable}{RouteTable} method that is not used on \hyperlink{classOriginTable}{OriginTable}. 

\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classRouteTable}{RouteTable$<$ A $>$}.

\hypertarget{classOriginTable_ab823bcdfb8c577b3b75d2dbc073441e8}{
\index{OriginTable@{OriginTable}!delete\_\-route@{delete\_\-route}}
\index{delete\_\-route@{delete\_\-route}!OriginTable@{OriginTable}}
\subsubsection[{delete\_\-route}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A $>$ int {\bf OriginTable}$<$ A $>$::delete\_\-route (
\begin{DoxyParamCaption}
\item[{const {\bf IPNet}$<$ A $>$ \&}]{net}
\end{DoxyParamCaption}
)}}
\label{classOriginTable_ab823bcdfb8c577b3b75d2dbc073441e8}


Delete a route from \hyperlink{protocolthe-p}{the} \hyperlink{classOriginTable}{OriginTable}. 


\begin{DoxyParams}{Parameters}
{\em net} & \hyperlink{protocolthe-p}{the} subnet of \hyperlink{protocolthe-p}{the} route entry to be deleted. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classOriginTable_a4d75a0c3b2d9b3fec72bd6045d9b337e}{
\index{OriginTable@{OriginTable}!lookup\_\-route@{lookup\_\-route}}
\index{lookup\_\-route@{lookup\_\-route}!OriginTable@{OriginTable}}
\subsubsection[{lookup\_\-route}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A $>$ const {\bf IPRouteEntry}$<$ A $>$ $\ast$ {\bf OriginTable}$<$ A $>$::lookup\_\-route (
\begin{DoxyParamCaption}
\item[{const {\bf IPNet}$<$ A $>$ \&}]{net}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classOriginTable_a4d75a0c3b2d9b3fec72bd6045d9b337e}


Lookup a specific subnet to see if it is in this \hyperlink{classOriginTable}{OriginTable}. 


\begin{DoxyParams}{Parameters}
{\em net} & \hyperlink{protocolthe-p}{the} subnet to look up. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a pointer to \hyperlink{protocolthe-p}{the} route entry if it exists, NULL otherwise. 
\end{DoxyReturn}


Implements \hyperlink{classRouteTable}{RouteTable$<$ A $>$}.

\hypertarget{classOriginTable_a9f0d9431788c7b6a54bf4f059cf7613a}{
\index{OriginTable@{OriginTable}!lookup\_\-route@{lookup\_\-route}}
\index{lookup\_\-route@{lookup\_\-route}!OriginTable@{OriginTable}}
\subsubsection[{lookup\_\-route}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A $>$ const {\bf IPRouteEntry}$<$ A $>$ $\ast$ {\bf OriginTable}$<$ A $>$::lookup\_\-route (
\begin{DoxyParamCaption}
\item[{const A \&}]{addr}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classOriginTable_a9f0d9431788c7b6a54bf4f059cf7613a}


Lookup an IP address to get \hyperlink{protocolthe-p}{the} most specific (longest prefix length) route in \hyperlink{protocolthe-p}{the} \hyperlink{classOriginTable}{OriginTable} that matches this address. 


\begin{DoxyParams}{Parameters}
{\em addr} & \hyperlink{protocolthe-p}{the} IP address to look up. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a pointer to \hyperlink{protocolthe-p}{the} most specific route entry if any entry matches, NULL otherwise. 
\end{DoxyReturn}


Implements \hyperlink{classRouteTable}{RouteTable$<$ A $>$}.

\hypertarget{classOriginTable_ab5abeb1387c00ea001e84f74c30a6a7e}{
\index{OriginTable@{OriginTable}!lookup\_\-route\_\-range@{lookup\_\-route\_\-range}}
\index{lookup\_\-route\_\-range@{lookup\_\-route\_\-range}!OriginTable@{OriginTable}}
\subsubsection[{lookup\_\-route\_\-range}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A $>$ {\bf RouteRange}$<$ A $>$ $\ast$ {\bf OriginTable}$<$ A $>$::lookup\_\-route\_\-range (
\begin{DoxyParamCaption}
\item[{const A \&}]{addr}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classOriginTable_ab5abeb1387c00ea001e84f74c30a6a7e}


Lookup an IP addressto get \hyperlink{protocolthe-p}{the} most specific (longest prefix length) route in \hyperlink{protocolthe-p}{the} \hyperlink{classOriginTable}{OriginTable} that matches this address, along with \hyperlink{protocolthe-p}{the} \hyperlink{classRouteRange}{RouteRange} information for this address and route. 

\begin{DoxySeeAlso}{See also}
\hyperlink{classRouteRange}{RouteRange} 
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em addr} & \hyperlink{protocolthe-p}{the} IP address to look up. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a pointer to a \hyperlink{classRouteRange}{RouteRange} class instance containing \hyperlink{protocolthe-p}{the} relevant answer. It is up to \hyperlink{protocolthe-p}{the} recipient of this pointer to free \hyperlink{protocolthe-p}{the} associated memory. 
\end{DoxyReturn}


Implements \hyperlink{classRouteTable}{RouteTable$<$ A $>$}.

\hypertarget{classOriginTable_a3aa9af9583c2abe50392673e105e718f}{
\index{OriginTable@{OriginTable}!protocol\_\-type@{protocol\_\-type}}
\index{protocol\_\-type@{protocol\_\-type}!OriginTable@{OriginTable}}
\subsubsection[{protocol\_\-type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ int {\bf OriginTable}$<$ A $>$::protocol\_\-type (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classOriginTable_a3aa9af9583c2abe50392673e105e718f}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} routing protocol type (ProtocolType). 
\end{DoxyReturn}
\hypertarget{classOriginTable_afcd5aa9d3c4a5b7c3e995ca7f1e189c5}{
\index{OriginTable@{OriginTable}!type@{type}}
\index{type@{type}!OriginTable@{OriginTable}}
\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ TableType {\bf OriginTable}$<$ A $>$::type (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline, virtual\mbox{]}}}}
\label{classOriginTable_afcd5aa9d3c4a5b7c3e995ca7f1e189c5}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} table type (TableType). 
\end{DoxyReturn}


Implements \hyperlink{classRouteTable}{RouteTable$<$ A $>$}.



The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
/home/greearb/git/xorp.ct.github/xorp/rib/rt\_\-tab\_\-origin.hh\item 
/home/greearb/git/xorp.ct.github/xorp/rib/rt\_\-tab\_\-origin.cc\end{DoxyCompactItemize}
