\hypertarget{structXrlRibclientTargetBase}{
\section{XrlRibclientTargetBase Class Reference}
\label{structXrlRibclientTargetBase}\index{XrlRibclientTargetBase@{XrlRibclientTargetBase}}
}
Inheritance diagram for XrlRibclientTargetBase:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{structXrlRibclientTargetBase}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structXrlRibclientTargetBase_1_1handler__table}{handler\_\-table}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{structXrlRibclientTargetBase_a29107767fdc580e36f9dcb8d4e3145e8}{XrlRibclientTargetBase} (\hyperlink{classXrlCmdMap}{XrlCmdMap} $\ast$cmds=0)
\begin{DoxyCompactList}\small\item\em Constructor. \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlRibclientTargetBase_aa13f8ee5141b0874098cb9750481d09e}{$\sim$XrlRibclientTargetBase} ()
\begin{DoxyCompactList}\small\item\em Destructor. \item\end{DoxyCompactList}\item 
bool \hyperlink{structXrlRibclientTargetBase_ae26b5454395d12be2a760dd063ca9fa0}{set\_\-command\_\-map} (\hyperlink{classXrlCmdMap}{XrlCmdMap} $\ast$cmds)
\begin{DoxyCompactList}\small\item\em Set command map. \item\end{DoxyCompactList}\item 
\hypertarget{structXrlRibclientTargetBase_a93e459f1ace216612b4f2b5cae427443}{
const string \& \hyperlink{structXrlRibclientTargetBase_a93e459f1ace216612b4f2b5cae427443}{get\_\-name} () const }
\label{structXrlRibclientTargetBase_a93e459f1ace216612b4f2b5cae427443}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{classXrl}{Xrl} instance name associated with command map. \item\end{DoxyCompactList}\item 
\hypertarget{structXrlRibclientTargetBase_a8b4617916ba33b757dc40e122704e7a5}{
const char $\ast$ \hyperlink{structXrlRibclientTargetBase_a8b4617916ba33b757dc40e122704e7a5}{version} () const }
\label{structXrlRibclientTargetBase_a8b4617916ba33b757dc40e122704e7a5}

\begin{DoxyCompactList}\small\item\em Get version string of instance. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlRibclientTargetBase_a29107767fdc580e36f9dcb8d4e3145e8}{XrlRibclientTargetBase} (\hyperlink{classXrlCmdMap}{XrlCmdMap} $\ast$cmds=0)
\begin{DoxyCompactList}\small\item\em Constructor. \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlRibclientTargetBase_af6915d709af8104d00e1c4733b37c3b3}{$\sim$XrlRibclientTargetBase} ()
\begin{DoxyCompactList}\small\item\em Destructor. \item\end{DoxyCompactList}\item 
bool \hyperlink{structXrlRibclientTargetBase_ae26b5454395d12be2a760dd063ca9fa0}{set\_\-command\_\-map} (\hyperlink{classXrlCmdMap}{XrlCmdMap} $\ast$cmds)
\begin{DoxyCompactList}\small\item\em Set command map. \item\end{DoxyCompactList}\item 
\hypertarget{structXrlRibclientTargetBase_a93e459f1ace216612b4f2b5cae427443}{
const string \& \hyperlink{structXrlRibclientTargetBase_a93e459f1ace216612b4f2b5cae427443}{get\_\-name} () const }
\label{structXrlRibclientTargetBase_a93e459f1ace216612b4f2b5cae427443}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{classXrl}{Xrl} instance name associated with command map. \item\end{DoxyCompactList}\item 
\hypertarget{structXrlRibclientTargetBase_a8b4617916ba33b757dc40e122704e7a5}{
const char $\ast$ \hyperlink{structXrlRibclientTargetBase_a8b4617916ba33b757dc40e122704e7a5}{version} () const }
\label{structXrlRibclientTargetBase_a8b4617916ba33b757dc40e122704e7a5}

\begin{DoxyCompactList}\small\item\em Get version string of instance. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlRibclientTargetBase_ae3c06c042306c528e83dc3b0ec2244d6}{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed4} (const \hyperlink{classIPv4}{IPv4} \&addr, const uint32\_\-t \&prefix\_\-len, const \hyperlink{classIPv4}{IPv4} \&nexthop, const uint32\_\-t \&metric, const uint32\_\-t \&admin\_\-distance, const string \&protocol\_\-origin)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlRibclientTargetBase_a0324b8541c371d2079954332129d0182}{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid4} (const \hyperlink{classIPv4}{IPv4} \&addr, const uint32\_\-t \&prefix\_\-len)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hypertarget{structXrlRibclientTargetBase_ad77ea6402a7a4fe33e7fd3078dab98cb}{
virtual \hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed6} (const \hyperlink{classIPv6}{IPv6} \&addr, const uint32\_\-t \&prefix\_\-len, const \hyperlink{classIPv6}{IPv6} \&nexthop, const uint32\_\-t \&metric, const uint32\_\-t \&admin\_\-distance, const string \&protocol\_\-origin)=0}
\label{structXrlRibclientTargetBase_ad77ea6402a7a4fe33e7fd3078dab98cb}

\item 
\hypertarget{structXrlRibclientTargetBase_a8b7d8c8af3928dcc213e28da20321277}{
virtual \hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid6} (const \hyperlink{classIPv6}{IPv6} \&addr, const uint32\_\-t \&prefix\_\-len)=0}
\label{structXrlRibclientTargetBase_a8b7d8c8af3928dcc213e28da20321277}

\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlRibclientTargetBase_ae3c06c042306c528e83dc3b0ec2244d6}{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed4} (const \hyperlink{classIPv4}{IPv4} \&addr, const uint32\_\-t \&prefix\_\-len, const \hyperlink{classIPv4}{IPv4} \&nexthop, const uint32\_\-t \&metric, const uint32\_\-t \&admin\_\-distance, const string \&protocol\_\-origin)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
virtual \hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{structXrlRibclientTargetBase_a0324b8541c371d2079954332129d0182}{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid4} (const \hyperlink{classIPv4}{IPv4} \&addr, const uint32\_\-t \&prefix\_\-len)=0
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hypertarget{structXrlRibclientTargetBase_ad77ea6402a7a4fe33e7fd3078dab98cb}{
virtual \hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed6} (const \hyperlink{classIPv6}{IPv6} \&addr, const uint32\_\-t \&prefix\_\-len, const \hyperlink{classIPv6}{IPv6} \&nexthop, const uint32\_\-t \&metric, const uint32\_\-t \&admin\_\-distance, const string \&protocol\_\-origin)=0}
\label{structXrlRibclientTargetBase_ad77ea6402a7a4fe33e7fd3078dab98cb}

\item 
\hypertarget{structXrlRibclientTargetBase_a8b7d8c8af3928dcc213e28da20321277}{
virtual \hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid6} (const \hyperlink{classIPv6}{IPv6} \&addr, const uint32\_\-t \&prefix\_\-len)=0}
\label{structXrlRibclientTargetBase_a8b7d8c8af3928dcc213e28da20321277}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structXrlRibclientTargetBase_a8094dbba3aa0dffd6255cd278d27c106}{
\hyperlink{classXrlCmdMap}{XrlCmdMap} $\ast$ {\bfseries \_\-cmds}}
\label{structXrlRibclientTargetBase_a8094dbba3aa0dffd6255cd278d27c106}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structXrlRibclientTargetBase_a71eb77d680355a1a32c78527c23c4ff1}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed4} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlRibclientTargetBase_a71eb77d680355a1a32c78527c23c4ff1}

\item 
\hypertarget{structXrlRibclientTargetBase_a1fa7716d223b0040518d2b2b5adc9873}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid4} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlRibclientTargetBase_a1fa7716d223b0040518d2b2b5adc9873}

\item 
\hypertarget{structXrlRibclientTargetBase_a1fdd7c6e42cd9dec8f504fc4eb2a2ace}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed6} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlRibclientTargetBase_a1fdd7c6e42cd9dec8f504fc4eb2a2ace}

\item 
\hypertarget{structXrlRibclientTargetBase_a7fd41769413cf54497c6a241765315ac}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid6} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlRibclientTargetBase_a7fd41769413cf54497c6a241765315ac}

\item 
\hypertarget{structXrlRibclientTargetBase_ae14d81fff539a7daf73729dac0f924b4}{
void {\bfseries add\_\-handlers} ()}
\label{structXrlRibclientTargetBase_ae14d81fff539a7daf73729dac0f924b4}

\item 
\hypertarget{structXrlRibclientTargetBase_a0b7c270111830193a790470af0ab971b}{
void {\bfseries remove\_\-handlers} ()}
\label{structXrlRibclientTargetBase_a0b7c270111830193a790470af0ab971b}

\item 
\hypertarget{structXrlRibclientTargetBase_a71eb77d680355a1a32c78527c23c4ff1}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed4} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlRibclientTargetBase_a71eb77d680355a1a32c78527c23c4ff1}

\item 
\hypertarget{structXrlRibclientTargetBase_a1fa7716d223b0040518d2b2b5adc9873}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid4} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlRibclientTargetBase_a1fa7716d223b0040518d2b2b5adc9873}

\item 
\hypertarget{structXrlRibclientTargetBase_a1fdd7c6e42cd9dec8f504fc4eb2a2ace}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed6} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlRibclientTargetBase_a1fdd7c6e42cd9dec8f504fc4eb2a2ace}

\item 
\hypertarget{structXrlRibclientTargetBase_a7fd41769413cf54497c6a241765315ac}{
\hyperlink{structXrlCmdError}{XrlCmdRT} {\bfseries handle\_\-rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid6} (const \hyperlink{classXrlArgs}{XrlArgs} \&in, \hyperlink{classXrlArgs}{XrlCmdOT} out)}
\label{structXrlRibclientTargetBase_a7fd41769413cf54497c6a241765315ac}

\item 
\hypertarget{structXrlRibclientTargetBase_ae14d81fff539a7daf73729dac0f924b4}{
void {\bfseries add\_\-handlers} ()}
\label{structXrlRibclientTargetBase_ae14d81fff539a7daf73729dac0f924b4}

\item 
\hypertarget{structXrlRibclientTargetBase_a0b7c270111830193a790470af0ab971b}{
void {\bfseries remove\_\-handlers} ()}
\label{structXrlRibclientTargetBase_a0b7c270111830193a790470af0ab971b}

\end{DoxyCompactItemize}
\subsection*{Static Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structXrlRibclientTargetBase_a49ecba0e2d870fa551d376530916200c}{
static struct \hyperlink{structXrlRibclientTargetBase_1_1handler__table}{handler\_\-table} {\bfseries handlers} \mbox{[}$\,$\mbox{]}}
\label{structXrlRibclientTargetBase_a49ecba0e2d870fa551d376530916200c}

\item 
\hypertarget{structXrlRibclientTargetBase_a6f9f58175573b3dd4175c167316478fb}{
static const size\_\-t {\bfseries num\_\-handlers} = (sizeof(XrlRibclientTargetBase::handlers) / sizeof(XrlRibclientTargetBase::handlers\mbox{[}0\mbox{]}))}
\label{structXrlRibclientTargetBase_a6f9f58175573b3dd4175c167316478fb}

\end{DoxyCompactItemize}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{structXrlRibclientTargetBase_a29107767fdc580e36f9dcb8d4e3145e8}{
\index{XrlRibclientTargetBase@{XrlRibclientTargetBase}!XrlRibclientTargetBase@{XrlRibclientTargetBase}}
\index{XrlRibclientTargetBase@{XrlRibclientTargetBase}!XrlRibclientTargetBase@{XrlRibclientTargetBase}}
\subsubsection[{XrlRibclientTargetBase}]{\setlength{\rightskip}{0pt plus 5cm}XrlRibclientTargetBase::XrlRibclientTargetBase (
\begin{DoxyParamCaption}
\item[{{\bf XrlCmdMap} $\ast$}]{cmds = {\ttfamily 0}}
\end{DoxyParamCaption}
)}}
\label{structXrlRibclientTargetBase_a29107767fdc580e36f9dcb8d4e3145e8}


Constructor. 


\begin{DoxyParams}{Parameters}
{\em cmds} & an \hyperlink{classXrlCmdMap}{XrlCmdMap} that \hyperlink{protocolthe-p}{the} commands associated with \hyperlink{protocolthe-p}{the} target should be added to. This is typically \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} associated with \hyperlink{protocolthe-p}{the} target. \\
\hline
\end{DoxyParams}
\hypertarget{structXrlRibclientTargetBase_aa13f8ee5141b0874098cb9750481d09e}{
\index{XrlRibclientTargetBase@{XrlRibclientTargetBase}!$\sim$XrlRibclientTargetBase@{$\sim$XrlRibclientTargetBase}}
\index{$\sim$XrlRibclientTargetBase@{$\sim$XrlRibclientTargetBase}!XrlRibclientTargetBase@{XrlRibclientTargetBase}}
\subsubsection[{$\sim$XrlRibclientTargetBase}]{\setlength{\rightskip}{0pt plus 5cm}XrlRibclientTargetBase::$\sim$XrlRibclientTargetBase (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{structXrlRibclientTargetBase_aa13f8ee5141b0874098cb9750481d09e}


Destructor. 

Dissociates instance commands from command map. \hypertarget{structXrlRibclientTargetBase_a29107767fdc580e36f9dcb8d4e3145e8}{
\index{XrlRibclientTargetBase@{XrlRibclientTargetBase}!XrlRibclientTargetBase@{XrlRibclientTargetBase}}
\index{XrlRibclientTargetBase@{XrlRibclientTargetBase}!XrlRibclientTargetBase@{XrlRibclientTargetBase}}
\subsubsection[{XrlRibclientTargetBase}]{\setlength{\rightskip}{0pt plus 5cm}XrlRibclientTargetBase::XrlRibclientTargetBase (
\begin{DoxyParamCaption}
\item[{{\bf XrlCmdMap} $\ast$}]{cmds = {\ttfamily 0}}
\end{DoxyParamCaption}
)}}
\label{structXrlRibclientTargetBase_a29107767fdc580e36f9dcb8d4e3145e8}


Constructor. 


\begin{DoxyParams}{Parameters}
{\em cmds} & an \hyperlink{classXrlCmdMap}{XrlCmdMap} that \hyperlink{protocolthe-p}{the} commands associated with \hyperlink{protocolthe-p}{the} target should be added to. This is typically \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} associated with \hyperlink{protocolthe-p}{the} target. \\
\hline
\end{DoxyParams}
\hypertarget{structXrlRibclientTargetBase_af6915d709af8104d00e1c4733b37c3b3}{
\index{XrlRibclientTargetBase@{XrlRibclientTargetBase}!$\sim$XrlRibclientTargetBase@{$\sim$XrlRibclientTargetBase}}
\index{$\sim$XrlRibclientTargetBase@{$\sim$XrlRibclientTargetBase}!XrlRibclientTargetBase@{XrlRibclientTargetBase}}
\subsubsection[{$\sim$XrlRibclientTargetBase}]{\setlength{\rightskip}{0pt plus 5cm}virtual XrlRibclientTargetBase::$\sim$XrlRibclientTargetBase (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{structXrlRibclientTargetBase_af6915d709af8104d00e1c4733b37c3b3}


Destructor. 

Dissociates instance commands from command map. 

\subsection{Member Function Documentation}
\hypertarget{structXrlRibclientTargetBase_ae3c06c042306c528e83dc3b0ec2244d6}{
\index{XrlRibclientTargetBase@{XrlRibclientTargetBase}!rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed4@{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed4}}
\index{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed4@{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed4}!XrlRibclientTargetBase@{XrlRibclientTargetBase}}
\subsubsection[{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed4}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlRibclientTargetBase::rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed4 (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4} \&}]{addr, }
\item[{const uint32\_\-t \&}]{prefix\_\-len, }
\item[{const {\bf IPv4} \&}]{nexthop, }
\item[{const uint32\_\-t \&}]{metric, }
\item[{const uint32\_\-t \&}]{admin\_\-distance, }
\item[{const string \&}]{protocol\_\-origin}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlRibclientTargetBase_ae3c06c042306c528e83dc3b0ec2244d6}


Pure-\/virtual function that needs to be implemented to: 

\hyperlink{classRoute}{Route} Info Changed route\_\-info\_\-changed is called by \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB} on \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB} client (typically a routing protocol) that had registered an interest in \hyperlink{protocolthe-p}{the} routing of an address. This can be because \hyperlink{protocolthe-p}{the} metric and/or nexthop changed.


\begin{DoxyParams}{Parameters}
{\em addr} & base address of \hyperlink{protocolthe-p}{the} subnet that was registered\\
\hline
{\em prefix\_\-len} & prefix length of \hyperlink{protocolthe-p}{the} subnet that was registered\\
\hline
{\em metric} & \hyperlink{protocolthe-p}{the} routing metric toward \hyperlink{protocolthe-p}{the} address.\\
\hline
{\em admin\_\-distance} & \hyperlink{protocolthe-p}{the} administratively defined distance toward \hyperlink{protocolthe-p}{the} address.\\
\hline
{\em protocol\_\-origin} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} protocol that originated this routing entry. \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{classRibClientTarget_a85cff1b64a35bd6f99953f0c898bec13}{RibClientTarget}.

\hypertarget{structXrlRibclientTargetBase_ae3c06c042306c528e83dc3b0ec2244d6}{
\index{XrlRibclientTargetBase@{XrlRibclientTargetBase}!rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed4@{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed4}}
\index{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed4@{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed4}!XrlRibclientTargetBase@{XrlRibclientTargetBase}}
\subsubsection[{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed4}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlRibclientTargetBase::rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-changed4 (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4} \&}]{addr, }
\item[{const uint32\_\-t \&}]{prefix\_\-len, }
\item[{const {\bf IPv4} \&}]{nexthop, }
\item[{const uint32\_\-t \&}]{metric, }
\item[{const uint32\_\-t \&}]{admin\_\-distance, }
\item[{const string \&}]{protocol\_\-origin}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlRibclientTargetBase_ae3c06c042306c528e83dc3b0ec2244d6}


Pure-\/virtual function that needs to be implemented to: 

\hyperlink{classRoute}{Route} Info Changed route\_\-info\_\-changed is called by \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB} on \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB} client (typically a routing protocol) that had registered an interest in \hyperlink{protocolthe-p}{the} routing of an address. This can be because \hyperlink{protocolthe-p}{the} metric and/or nexthop changed.


\begin{DoxyParams}{Parameters}
{\em addr} & base address of \hyperlink{protocolthe-p}{the} subnet that was registered\\
\hline
{\em prefix\_\-len} & prefix length of \hyperlink{protocolthe-p}{the} subnet that was registered\\
\hline
{\em metric} & \hyperlink{protocolthe-p}{the} routing metric toward \hyperlink{protocolthe-p}{the} address.\\
\hline
{\em admin\_\-distance} & \hyperlink{protocolthe-p}{the} administratively defined distance toward \hyperlink{protocolthe-p}{the} address.\\
\hline
{\em protocol\_\-origin} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} protocol that originated this routing entry. \\
\hline
\end{DoxyParams}


Implemented in \hyperlink{classRibClientTarget_a85cff1b64a35bd6f99953f0c898bec13}{RibClientTarget}.

\hypertarget{structXrlRibclientTargetBase_a0324b8541c371d2079954332129d0182}{
\index{XrlRibclientTargetBase@{XrlRibclientTargetBase}!rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid4@{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid4}}
\index{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid4@{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid4}!XrlRibclientTargetBase@{XrlRibclientTargetBase}}
\subsubsection[{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid4}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlRibclientTargetBase::rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid4 (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4} \&}]{addr, }
\item[{const uint32\_\-t \&}]{prefix\_\-len}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlRibclientTargetBase_a0324b8541c371d2079954332129d0182}


Pure-\/virtual function that needs to be implemented to: 

\hyperlink{classRoute}{Route} Info Invalid route\_\-info\_\-invalid is called by \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB} on \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB} client (typically a routing protocol) that had registere d an interest in \hyperlink{protocolthe-p}{the} routing of an address. This can be because \hyperlink{protocolthe-p}{the} information previously reported as applying no longer applies for any number of reasons. When \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB} sends this message, it has automatically de-\/registered interest in \hyperlink{protocolthe-p}{the} route, and \hyperlink{protocolthe-p}{the} client will normally need to send a register\_\-interest request again. 

Implemented in \hyperlink{classRibClientTarget_a93c9ce93e75c2fba70e24f557a2d4adc}{RibClientTarget}.

\hypertarget{structXrlRibclientTargetBase_a0324b8541c371d2079954332129d0182}{
\index{XrlRibclientTargetBase@{XrlRibclientTargetBase}!rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid4@{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid4}}
\index{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid4@{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid4}!XrlRibclientTargetBase@{XrlRibclientTargetBase}}
\subsubsection[{rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid4}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf XrlCmdError} XrlRibclientTargetBase::rib\_\-client\_\-0\_\-1\_\-route\_\-info\_\-invalid4 (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4} \&}]{addr, }
\item[{const uint32\_\-t \&}]{prefix\_\-len}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, pure virtual\mbox{]}}}}
\label{structXrlRibclientTargetBase_a0324b8541c371d2079954332129d0182}


Pure-\/virtual function that needs to be implemented to: 

\hyperlink{classRoute}{Route} Info Invalid route\_\-info\_\-invalid is called by \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB} on \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB} client (typically a routing protocol) that had registere d an interest in \hyperlink{protocolthe-p}{the} routing of an address. This can be because \hyperlink{protocolthe-p}{the} information previously reported as applying no longer applies for any number of reasons. When \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB} sends this message, it has automatically de-\/registered interest in \hyperlink{protocolthe-p}{the} route, and \hyperlink{protocolthe-p}{the} client will normally need to send a register\_\-interest request again. 

Implemented in \hyperlink{classRibClientTarget_a93c9ce93e75c2fba70e24f557a2d4adc}{RibClientTarget}.

\hypertarget{structXrlRibclientTargetBase_ae26b5454395d12be2a760dd063ca9fa0}{
\index{XrlRibclientTargetBase@{XrlRibclientTargetBase}!set\_\-command\_\-map@{set\_\-command\_\-map}}
\index{set\_\-command\_\-map@{set\_\-command\_\-map}!XrlRibclientTargetBase@{XrlRibclientTargetBase}}
\subsubsection[{set\_\-command\_\-map}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlRibclientTargetBase::set\_\-command\_\-map (
\begin{DoxyParamCaption}
\item[{{\bf XrlCmdMap} $\ast$}]{cmds}
\end{DoxyParamCaption}
)}}
\label{structXrlRibclientTargetBase_ae26b5454395d12be2a760dd063ca9fa0}


Set command map. 


\begin{DoxyParams}{Parameters}
{\em cmds} & pointer to command map to associate commands with. This argument is typically a pointer to \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} associated with \hyperlink{protocolthe-p}{the} target.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true on success, false if cmds is null or a command map has already been supplied. 
\end{DoxyReturn}
\hypertarget{structXrlRibclientTargetBase_ae26b5454395d12be2a760dd063ca9fa0}{
\index{XrlRibclientTargetBase@{XrlRibclientTargetBase}!set\_\-command\_\-map@{set\_\-command\_\-map}}
\index{set\_\-command\_\-map@{set\_\-command\_\-map}!XrlRibclientTargetBase@{XrlRibclientTargetBase}}
\subsubsection[{set\_\-command\_\-map}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlRibclientTargetBase::set\_\-command\_\-map (
\begin{DoxyParamCaption}
\item[{{\bf XrlCmdMap} $\ast$}]{cmds}
\end{DoxyParamCaption}
)}}
\label{structXrlRibclientTargetBase_ae26b5454395d12be2a760dd063ca9fa0}


Set command map. 


\begin{DoxyParams}{Parameters}
{\em cmds} & pointer to command map to associate commands with. This argument is typically a pointer to \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} associated with \hyperlink{protocolthe-p}{the} target.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true on success, false if cmds is null or a command map has already been supplied. 
\end{DoxyReturn}


The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
/home/greearb/git/xorp.ct.github/xorp/obj/i386-\/pc-\/mingw32/xrl/targets/ribclient\_\-base.cc\item 
/home/greearb/git/xorp.ct.github/xorp/obj/i386-\/pc-\/mingw32/xrl/targets/ribclient\_\-base.hh\item 
/home/greearb/git/xorp.ct.github/xorp/obj/i686-\/pc-\/linux-\/gnu/xrl/targets/ribclient\_\-base.hh\item 
/home/greearb/git/xorp.ct.github/xorp/obj/i686-\/pc-\/linux-\/gnu/xrl/targets/ribclient\_\-base.cc\end{DoxyCompactItemize}
