\hypertarget{classRegisterTable}{
\section{RegisterTable$<$ A $>$ Class Template Reference}
\label{classRegisterTable}\index{RegisterTable@{RegisterTable}}
}


\hyperlink{classRouteTable}{RouteTable} which stores routing protocols' registration of interest in changes to certain routes.  




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

Inheritance diagram for RegisterTable$<$ A $>$:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classRegisterTable}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classRegisterTable_a18a4b49c717b679513f6a7592f4b06fa}{RegisterTable} (const string \&tablename, \hyperlink{classRegisterServer}{RegisterServer} \&register\_\-server, bool multicast)
\begin{DoxyCompactList}\small\item\em \hyperlink{classRegisterTable}{RegisterTable} constructor. \item\end{DoxyCompactList}\item 
\hypertarget{classRegisterTable_af19abdcdcc745f89c49c69caa925c73d}{
\hyperlink{classRegisterTable_af19abdcdcc745f89c49c69caa925c73d}{$\sim$RegisterTable} ()}
\label{classRegisterTable_af19abdcdcc745f89c49c69caa925c73d}

\begin{DoxyCompactList}\small\item\em \hyperlink{classRegisterTable}{RegisterTable} destructor. \item\end{DoxyCompactList}\item 
int \hyperlink{classRegisterTable_a5bfdfcf21adf229896b6d7e8822f281b}{add\_\-route} (const \hyperlink{classIPRouteEntry}{IPRouteEntry}$<$ A $>$ \&route, \hyperlink{classRouteTable}{RouteTable}$<$ A $>$ $\ast$caller)
\begin{DoxyCompactList}\small\item\em Add a new route to \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. \item\end{DoxyCompactList}\item 
int \hyperlink{classRegisterTable_a029ae8b4b22bb9ed5bd3f9cd53b2990e}{delete\_\-route} (const \hyperlink{classIPRouteEntry}{IPRouteEntry}$<$ A $>$ $\ast$route, \hyperlink{classRouteTable}{RouteTable}$<$ A $>$ $\ast$caller)
\begin{DoxyCompactList}\small\item\em Delete a route from \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. \item\end{DoxyCompactList}\item 
const \hyperlink{classIPRouteEntry}{IPRouteEntry}$<$ A $>$ $\ast$ \hyperlink{classRegisterTable_aac1531c541080331e840dd4f82e9c02e}{lookup\_\-route} (const \hyperlink{classIPNet}{IPNet}$<$ A $>$ \&net) const 
\begin{DoxyCompactList}\small\item\em Lookup a route in \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. \item\end{DoxyCompactList}\item 
const \hyperlink{classIPRouteEntry}{IPRouteEntry}$<$ A $>$ $\ast$ \hyperlink{classRegisterTable_a3cdb3547db0c62310634c4041a7a8042}{lookup\_\-route} (const A \&addr) const 
\begin{DoxyCompactList}\small\item\em Lookup a route in \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. \item\end{DoxyCompactList}\item 
\hyperlink{classRouteRange}{RouteRange}$<$ A $>$ $\ast$ \hyperlink{classRegisterTable_ac907e4bbf783d5fd37978de874b5043d}{lookup\_\-route\_\-range} (const A \&addr) const 
\begin{DoxyCompactList}\small\item\em Lookup a route\_\-range in \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. \item\end{DoxyCompactList}\item 
void \hyperlink{classRegisterTable_ae884e5ec579104d2a2a8c24b19fc8842}{replumb} (\hyperlink{classRouteTable}{RouteTable}$<$ A $>$ $\ast$old\_\-parent, \hyperlink{classRouteTable}{RouteTable}$<$ A $>$ $\ast$new\_\-parent)
\begin{DoxyCompactList}\small\item\em Replumb to replace \hyperlink{protocolthe-p}{the} old parent of this table with a new parent. \item\end{DoxyCompactList}\item 
\hyperlink{classRouteTable}{RouteTable}$<$ A $>$ $\ast$ \hyperlink{classRegisterTable_a6ffce4ce98c5f466091fd8fcb722e361}{parent} ()
\item 
string \hyperlink{classRegisterTable_a5912feb138147cd06e21c030e8719601}{str} () const 
\item 
\hypertarget{classRegisterTable_aa91552f15c230cca06413f44f858aaac}{
void \hyperlink{classRegisterTable_aa91552f15c230cca06413f44f858aaac}{print} ()}
\label{classRegisterTable_aa91552f15c230cca06413f44f858aaac}

\begin{DoxyCompactList}\small\item\em Print \hyperlink{protocolthe-p}{the} contents of this \hyperlink{classRegisterTable}{RegisterTable} as a string for debugging purposes. \item\end{DoxyCompactList}\item 
\hyperlink{classRouteRegister}{RouteRegister}$<$ A $>$ $\ast$ \hyperlink{classRegisterTable_a18418464916866a13602b08ebe033fc1}{register\_\-route\_\-range} (const A \&addr, const string \&module)
\begin{DoxyCompactList}\small\item\em register\_\-route\_\-range is called to register interest in routing changes that affect a specific IP address. \item\end{DoxyCompactList}\item 
int \hyperlink{classRegisterTable_a4c2e3fd86f217d5f80b3044217ca6946}{deregister\_\-route\_\-range} (const \hyperlink{classIPNet}{IPNet}$<$ A $>$ \&subnet, const string \&module)
\begin{DoxyCompactList}\small\item\em deregister\_\-route\_\-range is called to de-\/register interest in routing changes following a prior call to register\_\-route\_\-range. \item\end{DoxyCompactList}\item 
TableType \hyperlink{classRegisterTable_a7547ecac5d1e23f9864882e1b2f98a8b}{type} () const 
\item 
\hypertarget{classRegisterTable_a73a5162c79cc1903deb14c2a4b136e71}{
void \hyperlink{classRegisterTable_a73a5162c79cc1903deb14c2a4b136e71}{flush} ()}
\label{classRegisterTable_a73a5162c79cc1903deb14c2a4b136e71}

\begin{DoxyCompactList}\small\item\em Cause \hyperlink{protocolthe-p}{the} register server to push out queued changes to \hyperlink{protocolthe-p}{the} routing protocols. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classRegisterTable_a1e67d272ea79f79d79f6dcb3609b7d8a}{
\hyperlink{classRouteRegister}{RouteRegister}$<$ A $>$ $\ast$ {\bfseries add\_\-registration} (const \hyperlink{classIPNet}{IPNet}$<$ A $>$ \&net, const \hyperlink{classIPRouteEntry}{IPRouteEntry}$<$ A $>$ $\ast$route, const string \&module)}
\label{classRegisterTable_a1e67d272ea79f79d79f6dcb3609b7d8a}

\item 
\hypertarget{classRegisterTable_afaeed1bc05ebfcfa7c69cd2f6694eb42}{
int {\bfseries delete\_\-registration} (const \hyperlink{classIPNet}{IPNet}$<$ A $>$ \&net, const string \&module)}
\label{classRegisterTable_afaeed1bc05ebfcfa7c69cd2f6694eb42}

\item 
\hypertarget{classRegisterTable_a76079adeb70c5bf6c1d2c55d39b6c9da}{
int {\bfseries notify\_\-relevant\_\-modules} (bool add, const \hyperlink{classIPRouteEntry}{IPRouteEntry}$<$ A $>$ \&changed\_\-route)}
\label{classRegisterTable_a76079adeb70c5bf6c1d2c55d39b6c9da}

\item 
\hypertarget{classRegisterTable_a0b72c84998496023a08f2f94aff8b52c}{
int {\bfseries find\_\-matches} (const \hyperlink{classIPRouteEntry}{IPRouteEntry}$<$ A $>$ \&route)}
\label{classRegisterTable_a0b72c84998496023a08f2f94aff8b52c}

\item 
\hypertarget{classRegisterTable_ade0f07f65a3bbf6521c580dad2662ddc}{
void {\bfseries notify\_\-invalidated} (typename \hyperlink{classTrie}{Trie}$<$ A, \hyperlink{classRouteRegister}{RouteRegister}$<$ A $>$ $\ast$ $>$::iterator trie\_\-iter)}
\label{classRegisterTable_ade0f07f65a3bbf6521c580dad2662ddc}

\item 
\hypertarget{classRegisterTable_a87739db6b89ebb6c425ae66662dade82}{
void {\bfseries notify\_\-route\_\-changed} (typename \hyperlink{classTrie}{Trie}$<$ A, \hyperlink{classRouteRegister}{RouteRegister}$<$ A $>$ $\ast$ $>$::iterator trie\_\-iter, const \hyperlink{classIPRouteEntry}{IPRouteEntry}$<$ A $>$ \&changed\_\-route)}
\label{classRegisterTable_a87739db6b89ebb6c425ae66662dade82}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classRegisterTable_ad11659e530649d5901c517e3ef81da52}{
map$<$ string, \hyperlink{classModuleData}{ModuleData} $>$ {\bfseries \_\-module\_\-names}}
\label{classRegisterTable_ad11659e530649d5901c517e3ef81da52}

\item 
\hypertarget{classRegisterTable_accffc4aa97ef63c53c0783f4502a56ff}{
\hyperlink{classTrie}{Trie}$<$ A, \hyperlink{classRouteRegister}{RouteRegister}$<$ A $>$ $\ast$ $>$ {\bfseries \_\-ipregistry}}
\label{classRegisterTable_accffc4aa97ef63c53c0783f4502a56ff}

\item 
\hypertarget{classRegisterTable_a64a6162d1659d86bf1fd5c916626b778}{
\hyperlink{classRouteTable}{RouteTable}$<$ A $>$ $\ast$ {\bfseries \_\-parent}}
\label{classRegisterTable_a64a6162d1659d86bf1fd5c916626b778}

\item 
\hypertarget{classRegisterTable_a1a9697056aa868aa7a6711415e400641}{
\hyperlink{classRegisterServer}{RegisterServer} \& {\bfseries \_\-register\_\-server}}
\label{classRegisterTable_a1a9697056aa868aa7a6711415e400641}

\item 
\hypertarget{classRegisterTable_a63c487ed527883bc22916fd97779e8a1}{
bool {\bfseries \_\-multicast}}
\label{classRegisterTable_a63c487ed527883bc22916fd97779e8a1}

\end{DoxyCompactItemize}


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

\hyperlink{classRouteTable}{RouteTable} which stores routing protocols' registration of interest in changes to certain routes. \hyperlink{classRegisterTable}{RegisterTable} is a \hyperlink{classRouteTable}{RouteTable} that is plumbed into \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB} after all \hyperlink{protocolthe-p}{the} \hyperlink{classMergedTable}{MergedTable} and \hyperlink{classExtIntTable}{ExtIntTable} instances. Thus it seems all winning route updates that will be propagated to \hyperlink{protocolthe-p}{the} forwarding engine.

It's purpose is to track route changes that affect specific addresses in which routing protocols have expressed an interest, and to notify these routing protocols of any changes. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classRegisterTable_a18a4b49c717b679513f6a7592f4b06fa}{
\index{RegisterTable@{RegisterTable}!RegisterTable@{RegisterTable}}
\index{RegisterTable@{RegisterTable}!RegisterTable@{RegisterTable}}
\subsubsection[{RegisterTable}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A $>$ {\bf RegisterTable}$<$ A $>$::{\bf RegisterTable} (
\begin{DoxyParamCaption}
\item[{const string \&}]{tablename, }
\item[{{\bf RegisterServer} \&}]{register\_\-server, }
\item[{bool}]{multicast}
\end{DoxyParamCaption}
)}}
\label{classRegisterTable_a18a4b49c717b679513f6a7592f4b06fa}


\hyperlink{classRegisterTable}{RegisterTable} constructor. 

Unlike other \hyperlink{classRouteTable}{RouteTable} constructors, this doesn't plumb itself into \hyperlink{protocolthe-p}{the} table graph because it is set up before any origin tables, so it doesn't yet have a parent. \hyperlink{classRIB_a5ed34370e09b6869c3a94901d8f781d5}{RIB::initialize\_\-register} will do \hyperlink{protocolthe-p}{the} plumbing later on.


\begin{DoxyParams}{Parameters}
{\em tablename} & human-\/readable name for this table for debugging purposes. \\
\hline
{\em register\_\-server} & a reference to \hyperlink{protocolthe-p}{the} RIB's \hyperlink{classRegisterServer}{RegisterServer} instance. The \hyperlink{classRegisterServer}{RegisterServer} handles IPC requests and responses related to registration of interest. \\
\hline
{\em multicast} & indicates whether or not this \hyperlink{classRegisterTable}{RegisterTable} is in a multicast \hyperlink{classRIB}{RIB}. The information is needed when notifying a routing protocol of a change, because \hyperlink{protocolthe-p}{the} same route might be in both unicast and multicast RIBs. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classRegisterTable_a5bfdfcf21adf229896b6d7e8822f281b}{
\index{RegisterTable@{RegisterTable}!add\_\-route@{add\_\-route}}
\index{add\_\-route@{add\_\-route}!RegisterTable@{RegisterTable}}
\subsubsection[{add\_\-route}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ int {\bf RegisterTable}$<$ A $>$::add\_\-route (
\begin{DoxyParamCaption}
\item[{const {\bf IPRouteEntry}$<$ A $>$ \&}]{route, }
\item[{{\bf RouteTable}$<$ A $>$ $\ast$}]{caller}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classRegisterTable_a5bfdfcf21adf229896b6d7e8822f281b}


Add a new route to \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. 

This will be propagated downstream to \hyperlink{protocolthe-p}{the} next table, but may also cause \hyperlink{protocolthe-p}{the} \hyperlink{classRegisterTable}{RegisterTable} to invalidate a \hyperlink{classRouteRegister}{RouteRegister} because \hyperlink{protocolthe-p}{the} new route overlaps an existing registration.


\begin{DoxyParams}{Parameters}
{\em route} & \hyperlink{protocolthe-p}{the} new route. \\
\hline
{\em caller} & this must be this table's parent table. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


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

\hypertarget{classRegisterTable_a029ae8b4b22bb9ed5bd3f9cd53b2990e}{
\index{RegisterTable@{RegisterTable}!delete\_\-route@{delete\_\-route}}
\index{delete\_\-route@{delete\_\-route}!RegisterTable@{RegisterTable}}
\subsubsection[{delete\_\-route}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ int {\bf RegisterTable}$<$ A $>$::delete\_\-route (
\begin{DoxyParamCaption}
\item[{const {\bf IPRouteEntry}$<$ A $>$ $\ast$}]{route, }
\item[{{\bf RouteTable}$<$ A $>$ $\ast$}]{caller}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classRegisterTable_a029ae8b4b22bb9ed5bd3f9cd53b2990e}


Delete a route from \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. 

This will be propagated downstream to \hyperlink{protocolthe-p}{the} next table, but may also cause \hyperlink{protocolthe-p}{the} \hyperlink{classRegisterTable}{RegisterTable} to invalidate a \hyperlink{classRouteRegister}{RouteRegister} referencing this route.


\begin{DoxyParams}{Parameters}
{\em route} & \hyperlink{protocolthe-p}{the} route being deleted. \\
\hline
{\em caller} & this must be this table's parent table. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


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

\hypertarget{classRegisterTable_a4c2e3fd86f217d5f80b3044217ca6946}{
\index{RegisterTable@{RegisterTable}!deregister\_\-route\_\-range@{deregister\_\-route\_\-range}}
\index{deregister\_\-route\_\-range@{deregister\_\-route\_\-range}!RegisterTable@{RegisterTable}}
\subsubsection[{deregister\_\-route\_\-range}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ int {\bf RegisterTable}$<$ A $>$::deregister\_\-route\_\-range (
\begin{DoxyParamCaption}
\item[{const {\bf IPNet}$<$ A $>$ \&}]{subnet, }
\item[{const string \&}]{module}
\end{DoxyParamCaption}
)}}
\label{classRegisterTable_a4c2e3fd86f217d5f80b3044217ca6946}


deregister\_\-route\_\-range is called to de-\/register interest in routing changes following a prior call to register\_\-route\_\-range. 


\begin{DoxyParams}{Parameters}
{\em valid\_\-subnet} & \hyperlink{protocolthe-p}{the} subnet of validity from \hyperlink{protocolthe-p}{the} \hyperlink{classRouteRegister}{RouteRegister} returned by a prior call to register\_\-route\_\-range. \\
\hline
{\em module} & \hyperlink{protocolthe-p}{the} XRL target name of \hyperlink{protocolthe-p}{the} module that is no longer interested in being notified. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classRegisterTable_a3cdb3547db0c62310634c4041a7a8042}{
\index{RegisterTable@{RegisterTable}!lookup\_\-route@{lookup\_\-route}}
\index{lookup\_\-route@{lookup\_\-route}!RegisterTable@{RegisterTable}}
\subsubsection[{lookup\_\-route}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ const {\bf IPRouteEntry}$<$A$>$$\ast$ {\bf RegisterTable}$<$ A $>$::lookup\_\-route (
\begin{DoxyParamCaption}
\item[{const A \&}]{addr}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline, virtual\mbox{]}}}}
\label{classRegisterTable_a3cdb3547db0c62310634c4041a7a8042}


Lookup a route in \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. 

This request will be propagated to \hyperlink{protocolthe-p}{the} parent table unchanged. 

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

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


Lookup a route in \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. 

This request will be propagated to \hyperlink{protocolthe-p}{the} parent table unchanged. 

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

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


Lookup a route\_\-range in \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. 

This request will be propagated to \hyperlink{protocolthe-p}{the} parent table unchanged. It is not expected this will be called, but not prohibited. 

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

\hypertarget{classRegisterTable_a6ffce4ce98c5f466091fd8fcb722e361}{
\index{RegisterTable@{RegisterTable}!parent@{parent}}
\index{parent@{parent}!RegisterTable@{RegisterTable}}
\subsubsection[{parent}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ {\bf RouteTable}$<$A$>$$\ast$ {\bf RegisterTable}$<$ A $>$::parent (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, virtual\mbox{]}}}}
\label{classRegisterTable_a6ffce4ce98c5f466091fd8fcb722e361}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} parent \hyperlink{classRouteTable}{RouteTable} of this \hyperlink{classRegisterTable}{RegisterTable}. 
\end{DoxyReturn}


Reimplemented from \hyperlink{classRouteTable}{RouteTable$<$ A $>$}.

\hypertarget{classRegisterTable_a18418464916866a13602b08ebe033fc1}{
\index{RegisterTable@{RegisterTable}!register\_\-route\_\-range@{register\_\-route\_\-range}}
\index{register\_\-route\_\-range@{register\_\-route\_\-range}!RegisterTable@{RegisterTable}}
\subsubsection[{register\_\-route\_\-range}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ {\bf RouteRegister}$<$ A $>$ $\ast$ {\bf RegisterTable}$<$ A $>$::register\_\-route\_\-range (
\begin{DoxyParamCaption}
\item[{const A \&}]{addr, }
\item[{const string \&}]{module}
\end{DoxyParamCaption}
)}}
\label{classRegisterTable_a18418464916866a13602b08ebe033fc1}


register\_\-route\_\-range is called to register interest in routing changes that affect a specific IP address. 


\begin{DoxyParams}{Parameters}
{\em addr} & \hyperlink{protocolthe-p}{the} IP address of interest. \\
\hline
{\em module} & \hyperlink{protocolthe-p}{the} XRL target name of \hyperlink{protocolthe-p}{the} module (typically a routing protocol) that is interested in being notified about changes to this address. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a \hyperlink{classRouteRegister}{RouteRegister} instance detailing \hyperlink{protocolthe-p}{the} route that is currently being used to route packets to this address and \hyperlink{protocolthe-p}{the} subset of this route (including \hyperlink{protocolthe-p}{the} address of interest) for which this answer also applies. 
\end{DoxyReturn}
\hypertarget{classRegisterTable_ae884e5ec579104d2a2a8c24b19fc8842}{
\index{RegisterTable@{RegisterTable}!replumb@{replumb}}
\index{replumb@{replumb}!RegisterTable@{RegisterTable}}
\subsubsection[{replumb}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ void {\bf RegisterTable}$<$ A $>$::replumb (
\begin{DoxyParamCaption}
\item[{{\bf RouteTable}$<$ A $>$ $\ast$}]{old\_\-parent, }
\item[{{\bf RouteTable}$<$ A $>$ $\ast$}]{new\_\-parent}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classRegisterTable_ae884e5ec579104d2a2a8c24b19fc8842}


Replumb to replace \hyperlink{protocolthe-p}{the} old parent of this table with a new parent. 


\begin{DoxyParams}{Parameters}
{\em old\_\-parent} & \hyperlink{protocolthe-p}{the} parent \hyperlink{classRouteTable}{RouteTable} being replaced (must be \hyperlink{protocolthe-p}{the} same as \hyperlink{protocolthe-p}{the} existing parent). \\
\hline
{\em new\_\-parent} & \hyperlink{protocolthe-p}{the} new parent \hyperlink{classRouteTable}{RouteTable}. \\
\hline
\end{DoxyParams}


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

\hypertarget{classRegisterTable_a5912feb138147cd06e21c030e8719601}{
\index{RegisterTable@{RegisterTable}!str@{str}}
\index{str@{str}!RegisterTable@{RegisterTable}}
\subsubsection[{str}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A $>$ string {\bf RegisterTable}$<$ A $>$::str (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classRegisterTable_a5912feb138147cd06e21c030e8719601}
\begin{DoxyReturn}{Returns}
this \hyperlink{classRegisterTable}{RegisterTable} as a string for debugging purposes. 
\end{DoxyReturn}


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

\hypertarget{classRegisterTable_a7547ecac5d1e23f9864882e1b2f98a8b}{
\index{RegisterTable@{RegisterTable}!type@{type}}
\index{type@{type}!RegisterTable@{RegisterTable}}
\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ TableType {\bf RegisterTable}$<$ A $>$::type (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline, virtual\mbox{]}}}}
\label{classRegisterTable_a7547ecac5d1e23f9864882e1b2f98a8b}
\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\_\-register.hh\item 
/home/greearb/git/xorp.ct.github/xorp/rib/rt\_\-tab\_\-register.cc\end{DoxyCompactItemize}
