\hypertarget{classXrlFib2mribNode}{
\section{XrlFib2mribNode Class Reference}
\label{classXrlFib2mribNode}\index{XrlFib2mribNode@{XrlFib2mribNode}}
}
Inheritance diagram for XrlFib2mribNode:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.536842cm]{classXrlFib2mribNode}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlFib2mribNode_a511c638c08036d30769005c772d1280a}{
{\bfseries XrlFib2mribNode} (\hyperlink{classEventLoop}{EventLoop} \&eventloop, const string \&class\_\-name, const string \&finder\_\-hostname, uint16\_\-t finder\_\-port, const string \&finder\_\-target, const string \&fea\_\-target, const string \&rib\_\-target)}
\label{classXrlFib2mribNode_a511c638c08036d30769005c772d1280a}

\item 
int \hyperlink{classXrlFib2mribNode_a97b094cd05c5f0eb2a0e7edc1e8c89a2}{startup} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{classStartup}{Startup} \hyperlink{protocolthe-p}{the} node operation. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlFib2mribNode_ac674d5dff381c9adbbb38541487f3a51}{shutdown} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{classShutdown}{Shutdown} \hyperlink{protocolthe-p}{the} node operation. \item\end{DoxyCompactList}\item 
\hyperlink{classXrlRouter}{XrlRouter} \& \hyperlink{classXrlFib2mribNode_ac6b6da62415b8e132731e0f561366214}{xrl\_\-router} ()
\begin{DoxyCompactList}\small\item\em Get a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} instance. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlFib2mribNode_a371121b75b7fd183291a92709fed13c7}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlFib2mribNode_a371121b75b7fd183291a92709fed13c7}{common\_\-0\_\-1\_\-get\_\-target\_\-name} (string \&name)}
\label{classXrlFib2mribNode_a371121b75b7fd183291a92709fed13c7}

\begin{DoxyCompactList}\small\item\em Get name of \hyperlink{classXrl}{Xrl} Target. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlFib2mribNode_aaa320cfc3e35de5abf56b9773a739666}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlFib2mribNode_aaa320cfc3e35de5abf56b9773a739666}{common\_\-0\_\-1\_\-get\_\-version} (string \&version)}
\label{classXrlFib2mribNode_aaa320cfc3e35de5abf56b9773a739666}

\begin{DoxyCompactList}\small\item\em Get version string from \hyperlink{classXrl}{Xrl} Target. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlFib2mribNode_aec80957866ebec83a18f638a1ae41d4f}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlFib2mribNode_aec80957866ebec83a18f638a1ae41d4f}{common\_\-0\_\-1\_\-get\_\-status} (uint32\_\-t \&status, string \&reason)}
\label{classXrlFib2mribNode_aec80957866ebec83a18f638a1ae41d4f}

\begin{DoxyCompactList}\small\item\em Get status of \hyperlink{classXrl}{Xrl} Target. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlFib2mribNode_a03650518811ca4c165285cde81df315d}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlFib2mribNode_a03650518811ca4c165285cde81df315d}{common\_\-0\_\-1\_\-shutdown} ()}
\label{classXrlFib2mribNode_a03650518811ca4c165285cde81df315d}

\begin{DoxyCompactList}\small\item\em Request clean shutdown of \hyperlink{classXrl}{Xrl} Target. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlFib2mribNode_a0477fb6ca9b6a343922576c55a438486}{common\_\-0\_\-1\_\-startup} ()
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlFib2mribNode_acf2ffce9db70758264612ebc8c5d54e5}{finder\_\-event\_\-observer\_\-0\_\-1\_\-xrl\_\-target\_\-birth} (const string \&target\_\-class, const string \&target\_\-instance)
\begin{DoxyCompactList}\small\item\em Announce target birth to observer. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlFib2mribNode_a8dfd315d12106f00a68cea6d4a092dc4}{finder\_\-event\_\-observer\_\-0\_\-1\_\-xrl\_\-target\_\-death} (const string \&target\_\-class, const string \&target\_\-instance)
\begin{DoxyCompactList}\small\item\em Announce target death to observer. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlFib2mribNode_abbf46069d82c91b87e2fcecf9d24ea68}{fea\_\-fib\_\-client\_\-0\_\-1\_\-add\_\-route4} (const \hyperlink{classIPNet}{IPv4Net} \&network, const \hyperlink{classIPv4}{IPv4} \&nexthop, const string \&ifname, const string \&vifname, const uint32\_\-t \&metric, const uint32\_\-t \&admin\_\-distance, const string \&protocol\_\-origin, const bool \&xorp\_\-route)
\begin{DoxyCompactList}\small\item\em Add a route. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlFib2mribNode_a2168b61f2f39e84f0e15a18346ec6821}{fea\_\-fib\_\-client\_\-0\_\-1\_\-replace\_\-route4} (const \hyperlink{classIPNet}{IPv4Net} \&network, const \hyperlink{classIPv4}{IPv4} \&nexthop, const string \&ifname, const string \&vifname, const uint32\_\-t \&metric, const uint32\_\-t \&admin\_\-distance, const string \&protocol\_\-origin, const bool \&xorp\_\-route)
\begin{DoxyCompactList}\small\item\em Replace a route. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlFib2mribNode_af0f3ca23bb55e2e49be7a4950e002a66}{fea\_\-fib\_\-client\_\-0\_\-1\_\-delete\_\-route4} (const \hyperlink{classIPNet}{IPv4Net} \&network, const string \&ifname, const string \&vifname)
\begin{DoxyCompactList}\small\item\em Delete a route. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlFib2mribNode_adb4632be0a4dff928801b33dd1c34370}{fea\_\-fib\_\-client\_\-0\_\-1\_\-resolve\_\-route4} (const \hyperlink{classIPNet}{IPv4Net} \&network)
\begin{DoxyCompactList}\small\item\em \hyperlink{classRoute}{Route} resolve notification. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlFib2mribNode_abe26abf5ffe4aea372e22c0c28f81276}{fib2mrib\_\-0\_\-1\_\-enable\_\-fib2mrib} (const bool \&enable)
\begin{DoxyCompactList}\small\item\em Enable/disable/start/stop Fib2mrib. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlFib2mribNode_a84556adeb38adf46f3dc3345d14a2a23}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries fib2mrib\_\-0\_\-1\_\-start\_\-fib2mrib} ()}
\label{classXrlFib2mribNode_a84556adeb38adf46f3dc3345d14a2a23}

\item 
\hypertarget{classXrlFib2mribNode_a2b1cbcb39f5e95370839e4814dc6bd31}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries fib2mrib\_\-0\_\-1\_\-stop\_\-fib2mrib} ()}
\label{classXrlFib2mribNode_a2b1cbcb39f5e95370839e4814dc6bd31}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlFib2mribNode_a4eb35d262d112c16e7b149dbe9fc5405}{fib2mrib\_\-0\_\-1\_\-enable\_\-log\_\-trace\_\-all} (const bool \&enable)
\begin{DoxyCompactList}\small\item\em Enable/disable \hyperlink{protocolthe-p}{the} Fib2mrib trace log for all operations. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlFib2mribNode_abad1eb8e8c772431b67866a36b8785c8}{policy\_\-backend\_\-0\_\-1\_\-configure} (const uint32\_\-t \&filter, const string \&conf)
\begin{DoxyCompactList}\small\item\em Configure a policy filter. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlFib2mribNode_a3fee57b53e705db0274f2cf15d7309e7}{policy\_\-backend\_\-0\_\-1\_\-reset} (const uint32\_\-t \&filter)
\begin{DoxyCompactList}\small\item\em Reset a policy filter. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlFib2mribNode_a318712a7e41ad95ad29a83da5496a45a}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlFib2mribNode_a318712a7e41ad95ad29a83da5496a45a}{policy\_\-backend\_\-0\_\-1\_\-push\_\-routes} ()}
\label{classXrlFib2mribNode_a318712a7e41ad95ad29a83da5496a45a}

\begin{DoxyCompactList}\small\item\em \hyperlink{classPush}{Push} routes through policy filters for re-\/filtering. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
const \hyperlink{classServiceBase}{ServiceBase} $\ast$ \hyperlink{classXrlFib2mribNode_a5c3674db7f4dead8962054d925d3579f}{ifmgr\_\-mirror\_\-service\_\-base} () const 
\begin{DoxyCompactList}\small\item\em Get a reference to \hyperlink{protocolthe-p}{the} service base of \hyperlink{protocolthe-p}{the} interface manager. \item\end{DoxyCompactList}\item 
const \hyperlink{classIfMgrIfTree}{IfMgrIfTree} \& \hyperlink{classXrlFib2mribNode_a637dd2143038186dc3f5895e60cf0795}{ifmgr\_\-iftree} () const 
\begin{DoxyCompactList}\small\item\em Get a reference to \hyperlink{protocolthe-p}{the} interface manager tree. \item\end{DoxyCompactList}\item 
virtual void \hyperlink{classXrlFib2mribNode_a359430f03d0a0561b4a5192e594f2ac4}{finder\_\-connect\_\-event} ()
\begin{DoxyCompactList}\small\item\em Called when \hyperlink{classFinder}{Finder} connection is established. \item\end{DoxyCompactList}\item 
virtual void \hyperlink{classXrlFib2mribNode_a330a2166b6335dcf57c94d34cd2977cf}{finder\_\-disconnect\_\-event} ()
\begin{DoxyCompactList}\small\item\em Called when \hyperlink{classFinder}{Finder} disconnect occurs. \item\end{DoxyCompactList}\item 
void \hyperlink{classXrlFib2mribNode_a001e91d3892a19ac589ea41ccdfa94d7}{fea\_\-register\_\-startup} ()
\begin{DoxyCompactList}\small\item\em Initiate registration with \hyperlink{protocolthe-p}{the} FEA. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlFib2mribNode_a142b70e5b32ae888328d397fafc189be}{
void {\bfseries finder\_\-register\_\-interest\_\-fea\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlFib2mribNode_a142b70e5b32ae888328d397fafc189be}

\item 
void \hyperlink{classXrlFib2mribNode_a5712b109c11dec70af469ca96ab7018b}{fea\_\-register\_\-shutdown} ()
\begin{DoxyCompactList}\small\item\em Initiate de-\/registration with \hyperlink{protocolthe-p}{the} FEA. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlFib2mribNode_a0436041b288dd1414ddb3491dbcf6178}{
void {\bfseries finder\_\-deregister\_\-interest\_\-fea\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlFib2mribNode_a0436041b288dd1414ddb3491dbcf6178}

\item 
\hypertarget{classXrlFib2mribNode_aa4198ec352fafd239d9294610991990b}{
void {\bfseries send\_\-fea\_\-add\_\-fib\_\-client} ()}
\label{classXrlFib2mribNode_aa4198ec352fafd239d9294610991990b}

\item 
\hypertarget{classXrlFib2mribNode_a9bf6a69ba7e12bc482dba46a6b93c5e2}{
void {\bfseries fea\_\-fti\_\-client\_\-send\_\-have\_\-ipv4\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error, const bool $\ast$result)}
\label{classXrlFib2mribNode_a9bf6a69ba7e12bc482dba46a6b93c5e2}

\item 
\hypertarget{classXrlFib2mribNode_ac4acf35815d2ab362aca0c5b3d932294}{
void {\bfseries fea\_\-fib\_\-client\_\-send\_\-add\_\-fib\_\-client4\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlFib2mribNode_ac4acf35815d2ab362aca0c5b3d932294}

\item 
\hypertarget{classXrlFib2mribNode_abb9649d1f2b1ea712074b1ee1c97bef8}{
void {\bfseries send\_\-fea\_\-delete\_\-fib\_\-client} ()}
\label{classXrlFib2mribNode_abb9649d1f2b1ea712074b1ee1c97bef8}

\item 
\hypertarget{classXrlFib2mribNode_ae02169337d4a9374c7f2bf47f9540e2c}{
void {\bfseries fea\_\-fib\_\-client\_\-send\_\-delete\_\-fib\_\-client4\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlFib2mribNode_ae02169337d4a9374c7f2bf47f9540e2c}

\item 
void \hyperlink{classXrlFib2mribNode_a4c73244c2958049661c1eab926c28ac9}{rib\_\-register\_\-startup} ()
\begin{DoxyCompactList}\small\item\em Initiate registration with \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlFib2mribNode_ae70e8da98178cd455b0b3e6139f6da9c}{
void {\bfseries finder\_\-register\_\-interest\_\-rib\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlFib2mribNode_ae70e8da98178cd455b0b3e6139f6da9c}

\item 
void \hyperlink{classXrlFib2mribNode_a75a7f39cebc44a5cc5a650ebfa349605}{rib\_\-register\_\-shutdown} ()
\begin{DoxyCompactList}\small\item\em Initiate de-\/registration with \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlFib2mribNode_a4d48a915faeeb699bf9c489b6e9645ef}{
void {\bfseries finder\_\-deregister\_\-interest\_\-rib\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlFib2mribNode_a4d48a915faeeb699bf9c489b6e9645ef}

\item 
\hypertarget{classXrlFib2mribNode_a49250c8c585f705e89731b7d5eaa6f1f}{
void {\bfseries send\_\-rib\_\-add\_\-tables} ()}
\label{classXrlFib2mribNode_a49250c8c585f705e89731b7d5eaa6f1f}

\item 
\hypertarget{classXrlFib2mribNode_a57878d300289485b4f15ee42ba021669}{
void {\bfseries rib\_\-client\_\-send\_\-add\_\-igp\_\-table4\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlFib2mribNode_a57878d300289485b4f15ee42ba021669}

\item 
\hypertarget{classXrlFib2mribNode_a3179f6564bb1df33a889d2289e12caea}{
void {\bfseries send\_\-rib\_\-delete\_\-tables} ()}
\label{classXrlFib2mribNode_a3179f6564bb1df33a889d2289e12caea}

\item 
\hypertarget{classXrlFib2mribNode_ad554ba08716dd1ec81393b30c21c5a3f}{
void {\bfseries rib\_\-client\_\-send\_\-delete\_\-igp\_\-table4\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlFib2mribNode_ad554ba08716dd1ec81393b30c21c5a3f}

\item 
void \hyperlink{classXrlFib2mribNode_a6baa95467dc995b52328823b1df324d6}{inform\_\-rib\_\-route\_\-change} (const \hyperlink{classFib2mribRoute}{Fib2mribRoute} \&fib2mrib\_\-route)
\begin{DoxyCompactList}\small\item\em Inform \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB} about a route change. \item\end{DoxyCompactList}\item 
void \hyperlink{classXrlFib2mribNode_a8e90216134af579fe4f17eefd4460a05}{cancel\_\-rib\_\-route\_\-change} (const \hyperlink{classFib2mribRoute}{Fib2mribRoute} \&fib2mrib\_\-route)
\begin{DoxyCompactList}\small\item\em Cancel a pending request to inform \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB} about a route change. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlFib2mribNode_a5388b66c0f49bd43a3bb59d66b896737}{
void {\bfseries send\_\-rib\_\-route\_\-change} ()}
\label{classXrlFib2mribNode_a5388b66c0f49bd43a3bb59d66b896737}

\item 
\hypertarget{classXrlFib2mribNode_afc1b91447af0e0eead2ee8ab171efe6e}{
void {\bfseries send\_\-rib\_\-route\_\-change\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlFib2mribNode_afc1b91447af0e0eead2ee8ab171efe6e}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlFib2mribNode_a895676f2b9778283ca4259aeee84c5ef}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries \_\-eventloop}}
\label{classXrlFib2mribNode_a895676f2b9778283ca4259aeee84c5ef}

\item 
\hypertarget{classXrlFib2mribNode_abdaebb8afa2143dc2feef631daf6d3c0}{
\hyperlink{classXrlFtiV0p2Client}{XrlFtiV0p2Client} {\bfseries \_\-xrl\_\-fea\_\-fti\_\-client}}
\label{classXrlFib2mribNode_abdaebb8afa2143dc2feef631daf6d3c0}

\item 
\hypertarget{classXrlFib2mribNode_a6e9fa1c1ad1a925ad3cabc442d29b542}{
\hyperlink{classXrlFeaFibV0p1Client}{XrlFeaFibV0p1Client} {\bfseries \_\-xrl\_\-fea\_\-fib\_\-client}}
\label{classXrlFib2mribNode_a6e9fa1c1ad1a925ad3cabc442d29b542}

\item 
\hypertarget{classXrlFib2mribNode_a5f76b8942fb77742353a234aacf85c5b}{
\hyperlink{classXrlRibV0p1Client}{XrlRibV0p1Client} {\bfseries \_\-xrl\_\-rib\_\-client}}
\label{classXrlFib2mribNode_a5f76b8942fb77742353a234aacf85c5b}

\item 
\hypertarget{classXrlFib2mribNode_a1502cb042698a41987b938b8bd24088f}{
const string {\bfseries \_\-finder\_\-target}}
\label{classXrlFib2mribNode_a1502cb042698a41987b938b8bd24088f}

\item 
\hypertarget{classXrlFib2mribNode_a524fc9b985537da755962c9811e43f6e}{
const string {\bfseries \_\-fea\_\-target}}
\label{classXrlFib2mribNode_a524fc9b985537da755962c9811e43f6e}

\item 
\hypertarget{classXrlFib2mribNode_ad1d5d54cdb3dc9d0ca59e06e181cd0e2}{
const string {\bfseries \_\-rib\_\-target}}
\label{classXrlFib2mribNode_ad1d5d54cdb3dc9d0ca59e06e181cd0e2}

\item 
\hypertarget{classXrlFib2mribNode_a68790d2d413a7b8cf2ae144bb4dab7c5}{
\hyperlink{classIfMgrXrlMirror}{IfMgrXrlMirror} {\bfseries \_\-ifmgr}}
\label{classXrlFib2mribNode_a68790d2d413a7b8cf2ae144bb4dab7c5}

\item 
\hypertarget{classXrlFib2mribNode_ab2bd1b3555f92c24e66bac4bb9d5c70b}{
list$<$ \hyperlink{classFib2mribRoute}{Fib2mribRoute} $>$ {\bfseries \_\-inform\_\-rib\_\-queue}}
\label{classXrlFib2mribNode_ab2bd1b3555f92c24e66bac4bb9d5c70b}

\item 
\hypertarget{classXrlFib2mribNode_a137c1d62df804b89ac4b41fab3646555}{
\hyperlink{classXorpTimer}{XorpTimer} {\bfseries \_\-inform\_\-rib\_\-queue\_\-timer}}
\label{classXrlFib2mribNode_a137c1d62df804b89ac4b41fab3646555}

\item 
\hypertarget{classXrlFib2mribNode_ac58019c30136f9b21665f4762235de8a}{
\hyperlink{classXrlFinderEventNotifierV0p1Client}{XrlFinderEventNotifierV0p1Client} {\bfseries \_\-xrl\_\-finder\_\-client}}
\label{classXrlFib2mribNode_ac58019c30136f9b21665f4762235de8a}

\item 
\hypertarget{classXrlFib2mribNode_a08cb5d302abffc8ece73e4d794792224}{
bool {\bfseries \_\-is\_\-finder\_\-alive}}
\label{classXrlFib2mribNode_a08cb5d302abffc8ece73e4d794792224}

\item 
\hypertarget{classXrlFib2mribNode_af02dda7e2be63eb6ca72d4b89f655a66}{
bool {\bfseries \_\-is\_\-fea\_\-alive}}
\label{classXrlFib2mribNode_af02dda7e2be63eb6ca72d4b89f655a66}

\item 
\hypertarget{classXrlFib2mribNode_a7a280be68fae3f7a27af5303f8f5655c}{
bool {\bfseries \_\-is\_\-fea\_\-registered}}
\label{classXrlFib2mribNode_a7a280be68fae3f7a27af5303f8f5655c}

\item 
\hypertarget{classXrlFib2mribNode_adae04b8774ab3f8168f438bfbbe59b18}{
bool {\bfseries \_\-is\_\-fea\_\-registering}}
\label{classXrlFib2mribNode_adae04b8774ab3f8168f438bfbbe59b18}

\item 
\hypertarget{classXrlFib2mribNode_add21cb3c579ed85aceb4b828dfdff289}{
bool {\bfseries \_\-is\_\-fea\_\-deregistering}}
\label{classXrlFib2mribNode_add21cb3c579ed85aceb4b828dfdff289}

\item 
\hypertarget{classXrlFib2mribNode_a5cda48f782528fd73d6a982d1cdc4c05}{
\hyperlink{classXorpTimer}{XorpTimer} {\bfseries \_\-fea\_\-register\_\-startup\_\-timer}}
\label{classXrlFib2mribNode_a5cda48f782528fd73d6a982d1cdc4c05}

\item 
\hypertarget{classXrlFib2mribNode_aabb3b128d993e8d6b9ed5a2bc54fc6f0}{
\hyperlink{classXorpTimer}{XorpTimer} {\bfseries \_\-fea\_\-register\_\-shutdown\_\-timer}}
\label{classXrlFib2mribNode_aabb3b128d993e8d6b9ed5a2bc54fc6f0}

\item 
\hypertarget{classXrlFib2mribNode_abc40196d7ac52cb952db686bec9a47f4}{
bool {\bfseries \_\-is\_\-fea\_\-have\_\-ipv4\_\-tested}}
\label{classXrlFib2mribNode_abc40196d7ac52cb952db686bec9a47f4}

\item 
\hypertarget{classXrlFib2mribNode_a0afd62ef2f14dd6b734255ba78973d7e}{
bool {\bfseries \_\-fea\_\-have\_\-ipv4}}
\label{classXrlFib2mribNode_a0afd62ef2f14dd6b734255ba78973d7e}

\item 
\hypertarget{classXrlFib2mribNode_abfd66cee60add0706b3481478ac68a5b}{
bool {\bfseries \_\-is\_\-fea\_\-fib\_\-client4\_\-registered}}
\label{classXrlFib2mribNode_abfd66cee60add0706b3481478ac68a5b}

\item 
\hypertarget{classXrlFib2mribNode_aab849d637bac7fa509b432b9ce02c6d3}{
\hyperlink{classXorpTimer}{XorpTimer} {\bfseries \_\-fea\_\-fib\_\-client\_\-registration\_\-timer}}
\label{classXrlFib2mribNode_aab849d637bac7fa509b432b9ce02c6d3}

\item 
\hypertarget{classXrlFib2mribNode_ac5f20432970a00fb26de64afc04424cc}{
bool {\bfseries \_\-is\_\-rib\_\-alive}}
\label{classXrlFib2mribNode_ac5f20432970a00fb26de64afc04424cc}

\item 
\hypertarget{classXrlFib2mribNode_a11469b77cda2c3335f8aea6cad84e7c6}{
bool {\bfseries \_\-is\_\-rib\_\-registered}}
\label{classXrlFib2mribNode_a11469b77cda2c3335f8aea6cad84e7c6}

\item 
\hypertarget{classXrlFib2mribNode_a79c2249ea78532a576eb8fcf93ad2220}{
bool {\bfseries \_\-is\_\-rib\_\-registering}}
\label{classXrlFib2mribNode_a79c2249ea78532a576eb8fcf93ad2220}

\item 
\hypertarget{classXrlFib2mribNode_ae385c7caa67f1163286465b84a986ac3}{
bool {\bfseries \_\-is\_\-rib\_\-deregistering}}
\label{classXrlFib2mribNode_ae385c7caa67f1163286465b84a986ac3}

\item 
\hypertarget{classXrlFib2mribNode_aa2a35e1e463098b0c257766c4dd9e008}{
bool {\bfseries \_\-is\_\-rib\_\-igp\_\-table4\_\-registered}}
\label{classXrlFib2mribNode_aa2a35e1e463098b0c257766c4dd9e008}

\item 
\hypertarget{classXrlFib2mribNode_a8e19d76acc13b44c90ae0aa713f79a31}{
\hyperlink{classXorpTimer}{XorpTimer} {\bfseries \_\-rib\_\-register\_\-startup\_\-timer}}
\label{classXrlFib2mribNode_a8e19d76acc13b44c90ae0aa713f79a31}

\item 
\hypertarget{classXrlFib2mribNode_a1e4c9604dbcb594a8d6ffd280aaa3246}{
\hyperlink{classXorpTimer}{XorpTimer} {\bfseries \_\-rib\_\-register\_\-shutdown\_\-timer}}
\label{classXrlFib2mribNode_a1e4c9604dbcb594a8d6ffd280aaa3246}

\item 
\hypertarget{classXrlFib2mribNode_a5f6ccabd1e706edd034b9217e838e438}{
\hyperlink{classXorpTimer}{XorpTimer} {\bfseries \_\-rib\_\-igp\_\-table\_\-registration\_\-timer}}
\label{classXrlFib2mribNode_a5f6ccabd1e706edd034b9217e838e438}

\end{DoxyCompactItemize}
\subsection*{Static Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlFib2mribNode_a093371f39270ae4b54f38ae4f7afa3bc}{
static const \hyperlink{classTimeVal}{TimeVal} {\bfseries RETRY\_\-TIMEVAL} = \hyperlink{classTimeVal}{TimeVal}(1, 0)}
\label{classXrlFib2mribNode_a093371f39270ae4b54f38ae4f7afa3bc}

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\hypertarget{classXrlFib2mribNode_a8e90216134af579fe4f17eefd4460a05}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!cancel\_\-rib\_\-route\_\-change@{cancel\_\-rib\_\-route\_\-change}}
\index{cancel\_\-rib\_\-route\_\-change@{cancel\_\-rib\_\-route\_\-change}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{cancel\_\-rib\_\-route\_\-change}]{\setlength{\rightskip}{0pt plus 5cm}void XrlFib2mribNode::cancel\_\-rib\_\-route\_\-change (
\begin{DoxyParamCaption}
\item[{const {\bf Fib2mribRoute} \&}]{fib2mrib\_\-route}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_a8e90216134af579fe4f17eefd4460a05}


Cancel a pending request to inform \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB} about a route change. 


\begin{DoxyParams}{Parameters}
{\em fib2mrib\_\-route} & \hyperlink{protocolthe-p}{the} route with \hyperlink{protocolthe-p}{the} request that would be canceled. \\
\hline
\end{DoxyParams}


Implements \hyperlink{classFib2mribNode_aee0f8a6d081a7b5d45a94fc11f91a149}{Fib2mribNode}.

\hypertarget{classXrlFib2mribNode_a0477fb6ca9b6a343922576c55a438486}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!common\_\-0\_\-1\_\-startup@{common\_\-0\_\-1\_\-startup}}
\index{common\_\-0\_\-1\_\-startup@{common\_\-0\_\-1\_\-startup}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{common\_\-0\_\-1\_\-startup}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlFib2mribNode::common\_\-0\_\-1\_\-startup (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_a0477fb6ca9b6a343922576c55a438486}


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

Request a startup of \hyperlink{classXrl}{Xrl} Target 

Implements \hyperlink{structXrlFib2mribTargetBase_ac6a687b8923c26413e06bec65f666430}{XrlFib2mribTargetBase}.

\hypertarget{classXrlFib2mribNode_abbf46069d82c91b87e2fcecf9d24ea68}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!fea\_\-fib\_\-client\_\-0\_\-1\_\-add\_\-route4@{fea\_\-fib\_\-client\_\-0\_\-1\_\-add\_\-route4}}
\index{fea\_\-fib\_\-client\_\-0\_\-1\_\-add\_\-route4@{fea\_\-fib\_\-client\_\-0\_\-1\_\-add\_\-route4}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{fea\_\-fib\_\-client\_\-0\_\-1\_\-add\_\-route4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlFib2mribNode::fea\_\-fib\_\-client\_\-0\_\-1\_\-add\_\-route4 (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4Net} \&}]{network, }
\item[{const {\bf IPv4} \&}]{nexthop, }
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname, }
\item[{const uint32\_\-t \&}]{metric, }
\item[{const uint32\_\-t \&}]{admin\_\-distance, }
\item[{const string \&}]{protocol\_\-origin, }
\item[{const bool \&}]{xorp\_\-route}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_abbf46069d82c91b87e2fcecf9d24ea68}


Add a route. 


\begin{DoxyParams}{Parameters}
{\em network} & \hyperlink{protocolthe-p}{the} network address prefix of \hyperlink{protocolthe-p}{the} route to add.\\
\hline
{\em nexthop} & \hyperlink{protocolthe-p}{the} address of \hyperlink{protocolthe-p}{the} next-\/hop router toward \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em ifname} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} physical interface toward \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} virtual interface toward \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em metric} & \hyperlink{protocolthe-p}{the} routing metric toward \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em admin\_\-distance} & \hyperlink{protocolthe-p}{the} administratively defined distance toward \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em protocol\_\-origin} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} protocol that originated this route.\\
\hline
{\em xorp\_\-route} & true if this route was installed by XORP. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlFib2mribTargetBase_a506e5b0f47f4c7abb7080185e3a47e82}{XrlFib2mribTargetBase}.

\hypertarget{classXrlFib2mribNode_af0f3ca23bb55e2e49be7a4950e002a66}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!fea\_\-fib\_\-client\_\-0\_\-1\_\-delete\_\-route4@{fea\_\-fib\_\-client\_\-0\_\-1\_\-delete\_\-route4}}
\index{fea\_\-fib\_\-client\_\-0\_\-1\_\-delete\_\-route4@{fea\_\-fib\_\-client\_\-0\_\-1\_\-delete\_\-route4}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{fea\_\-fib\_\-client\_\-0\_\-1\_\-delete\_\-route4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlFib2mribNode::fea\_\-fib\_\-client\_\-0\_\-1\_\-delete\_\-route4 (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4Net} \&}]{network, }
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_af0f3ca23bb55e2e49be7a4950e002a66}


Delete a route. 


\begin{DoxyParams}{Parameters}
{\em network} & \hyperlink{protocolthe-p}{the} network address prefix of \hyperlink{protocolthe-p}{the} route to delete.\\
\hline
{\em ifname} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} physical interface toward \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} virtual interface toward \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em network} & \hyperlink{protocolthe-p}{the} network address prefix of \hyperlink{protocolthe-p}{the} route to delete.\\
\hline
{\em ifname} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} physical interface toward \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} virtual interface toward \hyperlink{protocolthe-p}{the} \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlFib2mribTargetBase_a71799f9eed2b86414516ec6e7a99be2b}{XrlFib2mribTargetBase}.

\hypertarget{classXrlFib2mribNode_a2168b61f2f39e84f0e15a18346ec6821}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!fea\_\-fib\_\-client\_\-0\_\-1\_\-replace\_\-route4@{fea\_\-fib\_\-client\_\-0\_\-1\_\-replace\_\-route4}}
\index{fea\_\-fib\_\-client\_\-0\_\-1\_\-replace\_\-route4@{fea\_\-fib\_\-client\_\-0\_\-1\_\-replace\_\-route4}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{fea\_\-fib\_\-client\_\-0\_\-1\_\-replace\_\-route4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlFib2mribNode::fea\_\-fib\_\-client\_\-0\_\-1\_\-replace\_\-route4 (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4Net} \&}]{network, }
\item[{const {\bf IPv4} \&}]{nexthop, }
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname, }
\item[{const uint32\_\-t \&}]{metric, }
\item[{const uint32\_\-t \&}]{admin\_\-distance, }
\item[{const string \&}]{protocol\_\-origin, }
\item[{const bool \&}]{xorp\_\-route}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_a2168b61f2f39e84f0e15a18346ec6821}


Replace a route. 


\begin{DoxyParams}{Parameters}
{\em network} & \hyperlink{protocolthe-p}{the} network address prefix of \hyperlink{protocolthe-p}{the} route to replace.\\
\hline
{\em nexthop} & \hyperlink{protocolthe-p}{the} address of \hyperlink{protocolthe-p}{the} next-\/hop router toward \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em ifname} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} physical interface toward \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} virtual interface toward \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em metric} & \hyperlink{protocolthe-p}{the} routing metric toward \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em admin\_\-distance} & \hyperlink{protocolthe-p}{the} administratively defined distance toward \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em protocol\_\-origin} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} protocol that originated this route.\\
\hline
{\em xorp\_\-route} & true if this route was installed by XORP. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlFib2mribTargetBase_ac769484f919a2432c498a45ad16c8047}{XrlFib2mribTargetBase}.

\hypertarget{classXrlFib2mribNode_adb4632be0a4dff928801b33dd1c34370}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!fea\_\-fib\_\-client\_\-0\_\-1\_\-resolve\_\-route4@{fea\_\-fib\_\-client\_\-0\_\-1\_\-resolve\_\-route4}}
\index{fea\_\-fib\_\-client\_\-0\_\-1\_\-resolve\_\-route4@{fea\_\-fib\_\-client\_\-0\_\-1\_\-resolve\_\-route4}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{fea\_\-fib\_\-client\_\-0\_\-1\_\-resolve\_\-route4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlFib2mribNode::fea\_\-fib\_\-client\_\-0\_\-1\_\-resolve\_\-route4 (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4Net} \&}]{network}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_adb4632be0a4dff928801b33dd1c34370}


\hyperlink{classRoute}{Route} resolve notification. 


\begin{DoxyParams}{Parameters}
{\em network} & \hyperlink{protocolthe-p}{the} network address prefix of \hyperlink{protocolthe-p}{the} lookup which failed or for which upper layer intervention is requested from \hyperlink{protocolthe-p}{the} FIB. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlFib2mribTargetBase_a016b0ad1471d35427db3eef01309c906}{XrlFib2mribTargetBase}.

\hypertarget{classXrlFib2mribNode_a5712b109c11dec70af469ca96ab7018b}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!fea\_\-register\_\-shutdown@{fea\_\-register\_\-shutdown}}
\index{fea\_\-register\_\-shutdown@{fea\_\-register\_\-shutdown}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{fea\_\-register\_\-shutdown}]{\setlength{\rightskip}{0pt plus 5cm}void XrlFib2mribNode::fea\_\-register\_\-shutdown (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_a5712b109c11dec70af469ca96ab7018b}


Initiate de-\/registration with \hyperlink{protocolthe-p}{the} FEA. 

This is a pure virtual function, and it must be implemented by \hyperlink{protocolthe-p}{the} communication-\/wrapper class that inherits this base class. 

Implements \hyperlink{classFib2mribNode_af20fe1201f48f5924a8031e4116c38ed}{Fib2mribNode}.

\hypertarget{classXrlFib2mribNode_a001e91d3892a19ac589ea41ccdfa94d7}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!fea\_\-register\_\-startup@{fea\_\-register\_\-startup}}
\index{fea\_\-register\_\-startup@{fea\_\-register\_\-startup}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{fea\_\-register\_\-startup}]{\setlength{\rightskip}{0pt plus 5cm}void XrlFib2mribNode::fea\_\-register\_\-startup (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_a001e91d3892a19ac589ea41ccdfa94d7}


Initiate registration with \hyperlink{protocolthe-p}{the} FEA. 

This is a pure virtual function, and it must be implemented by \hyperlink{protocolthe-p}{the} communication-\/wrapper class that inherits this base class. 

Implements \hyperlink{classFib2mribNode_afbc683fd449c529f01664c387ba71f95}{Fib2mribNode}.

\hypertarget{classXrlFib2mribNode_abe26abf5ffe4aea372e22c0c28f81276}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!fib2mrib\_\-0\_\-1\_\-enable\_\-fib2mrib@{fib2mrib\_\-0\_\-1\_\-enable\_\-fib2mrib}}
\index{fib2mrib\_\-0\_\-1\_\-enable\_\-fib2mrib@{fib2mrib\_\-0\_\-1\_\-enable\_\-fib2mrib}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{fib2mrib\_\-0\_\-1\_\-enable\_\-fib2mrib}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlFib2mribNode::fib2mrib\_\-0\_\-1\_\-enable\_\-fib2mrib (
\begin{DoxyParamCaption}
\item[{const bool \&}]{enable}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_abe26abf5ffe4aea372e22c0c28f81276}


Enable/disable/start/stop Fib2mrib. 


\begin{DoxyParams}{Parameters}
{\em enable} & if true, then enable Fib2mrib, otherwise disable it. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlFib2mribTargetBase_a05c66a79f7f5bf02c158fcefca002dc6}{XrlFib2mribTargetBase}.

\hypertarget{classXrlFib2mribNode_a4eb35d262d112c16e7b149dbe9fc5405}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!fib2mrib\_\-0\_\-1\_\-enable\_\-log\_\-trace\_\-all@{fib2mrib\_\-0\_\-1\_\-enable\_\-log\_\-trace\_\-all}}
\index{fib2mrib\_\-0\_\-1\_\-enable\_\-log\_\-trace\_\-all@{fib2mrib\_\-0\_\-1\_\-enable\_\-log\_\-trace\_\-all}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{fib2mrib\_\-0\_\-1\_\-enable\_\-log\_\-trace\_\-all}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlFib2mribNode::fib2mrib\_\-0\_\-1\_\-enable\_\-log\_\-trace\_\-all (
\begin{DoxyParamCaption}
\item[{const bool \&}]{enable}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_a4eb35d262d112c16e7b149dbe9fc5405}


Enable/disable \hyperlink{protocolthe-p}{the} Fib2mrib trace log for all operations. 


\begin{DoxyParams}{Parameters}
{\em enable} & if true, then enable \hyperlink{protocolthe-p}{the} trace log, otherwise disable it. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlFib2mribTargetBase_ac7c6bd31b5da45282182e00380ab7772}{XrlFib2mribTargetBase}.

\hypertarget{classXrlFib2mribNode_a359430f03d0a0561b4a5192e594f2ac4}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!finder\_\-connect\_\-event@{finder\_\-connect\_\-event}}
\index{finder\_\-connect\_\-event@{finder\_\-connect\_\-event}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{finder\_\-connect\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}void XrlFib2mribNode::finder\_\-connect\_\-event (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_a359430f03d0a0561b4a5192e594f2ac4}


Called when \hyperlink{classFinder}{Finder} connection is established. 

Note that this method overwrites an \hyperlink{classXrlRouter}{XrlRouter} virtual method. 

Reimplemented from \hyperlink{classXrlRouter_a27bd1d3e253f4cd00d48376cbeab2320}{XrlRouter}.

\hypertarget{classXrlFib2mribNode_a330a2166b6335dcf57c94d34cd2977cf}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!finder\_\-disconnect\_\-event@{finder\_\-disconnect\_\-event}}
\index{finder\_\-disconnect\_\-event@{finder\_\-disconnect\_\-event}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{finder\_\-disconnect\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}void XrlFib2mribNode::finder\_\-disconnect\_\-event (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_a330a2166b6335dcf57c94d34cd2977cf}


Called when \hyperlink{classFinder}{Finder} disconnect occurs. 

Note that this method overwrites an \hyperlink{classXrlRouter}{XrlRouter} virtual method. 

Reimplemented from \hyperlink{classXrlRouter_ac10ae311195fd0d8c350f9d8172602f9}{XrlRouter}.

\hypertarget{classXrlFib2mribNode_acf2ffce9db70758264612ebc8c5d54e5}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!finder\_\-event\_\-observer\_\-0\_\-1\_\-xrl\_\-target\_\-birth@{finder\_\-event\_\-observer\_\-0\_\-1\_\-xrl\_\-target\_\-birth}}
\index{finder\_\-event\_\-observer\_\-0\_\-1\_\-xrl\_\-target\_\-birth@{finder\_\-event\_\-observer\_\-0\_\-1\_\-xrl\_\-target\_\-birth}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{finder\_\-event\_\-observer\_\-0\_\-1\_\-xrl\_\-target\_\-birth}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlFib2mribNode::finder\_\-event\_\-observer\_\-0\_\-1\_\-xrl\_\-target\_\-birth (
\begin{DoxyParamCaption}
\item[{const string \&}]{target\_\-class, }
\item[{const string \&}]{target\_\-instance}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_acf2ffce9db70758264612ebc8c5d54e5}


Announce target birth to observer. 


\begin{DoxyParams}{Parameters}
{\em target\_\-class} & \hyperlink{protocolthe-p}{the} target class name.\\
\hline
{\em target\_\-instance} & \hyperlink{protocolthe-p}{the} target instance name. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlFib2mribTargetBase_aa7183466ae1418d123e70972263ce218}{XrlFib2mribTargetBase}.

\hypertarget{classXrlFib2mribNode_a8dfd315d12106f00a68cea6d4a092dc4}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!finder\_\-event\_\-observer\_\-0\_\-1\_\-xrl\_\-target\_\-death@{finder\_\-event\_\-observer\_\-0\_\-1\_\-xrl\_\-target\_\-death}}
\index{finder\_\-event\_\-observer\_\-0\_\-1\_\-xrl\_\-target\_\-death@{finder\_\-event\_\-observer\_\-0\_\-1\_\-xrl\_\-target\_\-death}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{finder\_\-event\_\-observer\_\-0\_\-1\_\-xrl\_\-target\_\-death}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlFib2mribNode::finder\_\-event\_\-observer\_\-0\_\-1\_\-xrl\_\-target\_\-death (
\begin{DoxyParamCaption}
\item[{const string \&}]{target\_\-class, }
\item[{const string \&}]{target\_\-instance}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_a8dfd315d12106f00a68cea6d4a092dc4}


Announce target death to observer. 


\begin{DoxyParams}{Parameters}
{\em target\_\-class} & \hyperlink{protocolthe-p}{the} target class name.\\
\hline
{\em target\_\-instance} & \hyperlink{protocolthe-p}{the} target instance name. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlFib2mribTargetBase_a03d3f9dd9ce0087ee14d9b6630c02180}{XrlFib2mribTargetBase}.

\hypertarget{classXrlFib2mribNode_a637dd2143038186dc3f5895e60cf0795}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!ifmgr\_\-iftree@{ifmgr\_\-iftree}}
\index{ifmgr\_\-iftree@{ifmgr\_\-iftree}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{ifmgr\_\-iftree}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf IfMgrIfTree}\& XrlFib2mribNode::ifmgr\_\-iftree (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline, private, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_a637dd2143038186dc3f5895e60cf0795}


Get a reference to \hyperlink{protocolthe-p}{the} interface manager tree. 

This is a pure virtual function, and it must be implemented by \hyperlink{protocolthe-p}{the} communication-\/wrapper class that inherits this base class.

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} interface manager tree. 
\end{DoxyReturn}


Implements \hyperlink{classFib2mribNode_abcf1b7c595d64c1f812a41aaa5460874}{Fib2mribNode}.

\hypertarget{classXrlFib2mribNode_a5c3674db7f4dead8962054d925d3579f}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!ifmgr\_\-mirror\_\-service\_\-base@{ifmgr\_\-mirror\_\-service\_\-base}}
\index{ifmgr\_\-mirror\_\-service\_\-base@{ifmgr\_\-mirror\_\-service\_\-base}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{ifmgr\_\-mirror\_\-service\_\-base}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf ServiceBase}$\ast$ XrlFib2mribNode::ifmgr\_\-mirror\_\-service\_\-base (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline, private, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_a5c3674db7f4dead8962054d925d3579f}


Get a reference to \hyperlink{protocolthe-p}{the} service base of \hyperlink{protocolthe-p}{the} interface manager. 

This is a pure virtual function, and it must be implemented by \hyperlink{protocolthe-p}{the} communication-\/wrapper class that inherits this base class.

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} service base of \hyperlink{protocolthe-p}{the} interface manager. 
\end{DoxyReturn}


Implements \hyperlink{classFib2mribNode_a0ecaa089b4f34ee4eb2d2ece1d0b4069}{Fib2mribNode}.

\hypertarget{classXrlFib2mribNode_a6baa95467dc995b52328823b1df324d6}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!inform\_\-rib\_\-route\_\-change@{inform\_\-rib\_\-route\_\-change}}
\index{inform\_\-rib\_\-route\_\-change@{inform\_\-rib\_\-route\_\-change}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{inform\_\-rib\_\-route\_\-change}]{\setlength{\rightskip}{0pt plus 5cm}void XrlFib2mribNode::inform\_\-rib\_\-route\_\-change (
\begin{DoxyParamCaption}
\item[{const {\bf Fib2mribRoute} \&}]{fib2mrib\_\-route}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_a6baa95467dc995b52328823b1df324d6}


Inform \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB} about a route change. 


\begin{DoxyParams}{Parameters}
{\em fib2mrib\_\-route} & \hyperlink{protocolthe-p}{the} route with \hyperlink{protocolthe-p}{the} information about \hyperlink{protocolthe-p}{the} change. \\
\hline
\end{DoxyParams}


Implements \hyperlink{classFib2mribNode_ac6fac28f8a891dedd8239535e8c151d4}{Fib2mribNode}.

\hypertarget{classXrlFib2mribNode_abad1eb8e8c772431b67866a36b8785c8}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!policy\_\-backend\_\-0\_\-1\_\-configure@{policy\_\-backend\_\-0\_\-1\_\-configure}}
\index{policy\_\-backend\_\-0\_\-1\_\-configure@{policy\_\-backend\_\-0\_\-1\_\-configure}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{policy\_\-backend\_\-0\_\-1\_\-configure}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlFib2mribNode::policy\_\-backend\_\-0\_\-1\_\-configure (
\begin{DoxyParamCaption}
\item[{const uint32\_\-t \&}]{filter, }
\item[{const string \&}]{conf}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_abad1eb8e8c772431b67866a36b8785c8}


Configure a policy filter. 


\begin{DoxyParams}{Parameters}
{\em filter} & Id of filter to configure. \\
\hline
{\em conf} & \hyperlink{classConfiguration}{Configuration} of filter. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlFib2mribTargetBase_aa4c07c19d7988bd5afe9bf6ce66e6079}{XrlFib2mribTargetBase}.

\hypertarget{classXrlFib2mribNode_a3fee57b53e705db0274f2cf15d7309e7}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!policy\_\-backend\_\-0\_\-1\_\-reset@{policy\_\-backend\_\-0\_\-1\_\-reset}}
\index{policy\_\-backend\_\-0\_\-1\_\-reset@{policy\_\-backend\_\-0\_\-1\_\-reset}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{policy\_\-backend\_\-0\_\-1\_\-reset}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlFib2mribNode::policy\_\-backend\_\-0\_\-1\_\-reset (
\begin{DoxyParamCaption}
\item[{const uint32\_\-t \&}]{filter}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_a3fee57b53e705db0274f2cf15d7309e7}


Reset a policy filter. 


\begin{DoxyParams}{Parameters}
{\em filter} & Id of filter to reset. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlFib2mribTargetBase_a94e6250e6c4088925d216139389f1725}{XrlFib2mribTargetBase}.

\hypertarget{classXrlFib2mribNode_a75a7f39cebc44a5cc5a650ebfa349605}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!rib\_\-register\_\-shutdown@{rib\_\-register\_\-shutdown}}
\index{rib\_\-register\_\-shutdown@{rib\_\-register\_\-shutdown}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{rib\_\-register\_\-shutdown}]{\setlength{\rightskip}{0pt plus 5cm}void XrlFib2mribNode::rib\_\-register\_\-shutdown (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_a75a7f39cebc44a5cc5a650ebfa349605}


Initiate de-\/registration with \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. 

This is a pure virtual function, and it must be implemented by \hyperlink{protocolthe-p}{the} communication-\/wrapper class that inherits this base class. 

Implements \hyperlink{classFib2mribNode_a565ef7e9e83537aafaf4d2fa9829045d}{Fib2mribNode}.

\hypertarget{classXrlFib2mribNode_a4c73244c2958049661c1eab926c28ac9}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!rib\_\-register\_\-startup@{rib\_\-register\_\-startup}}
\index{rib\_\-register\_\-startup@{rib\_\-register\_\-startup}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{rib\_\-register\_\-startup}]{\setlength{\rightskip}{0pt plus 5cm}void XrlFib2mribNode::rib\_\-register\_\-startup (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlFib2mribNode_a4c73244c2958049661c1eab926c28ac9}


Initiate registration with \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. 

This is a pure virtual function, and it must be implemented by \hyperlink{protocolthe-p}{the} communication-\/wrapper class that inherits this base class. 

Implements \hyperlink{classFib2mribNode_a97ce2caaa03789b81456101d9189cf6d}{Fib2mribNode}.

\hypertarget{classXrlFib2mribNode_ac674d5dff381c9adbbb38541487f3a51}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!shutdown@{shutdown}}
\index{shutdown@{shutdown}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{shutdown}]{\setlength{\rightskip}{0pt plus 5cm}int XrlFib2mribNode::shutdown (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classXrlFib2mribNode_ac674d5dff381c9adbbb38541487f3a51}


\hyperlink{classShutdown}{Shutdown} \hyperlink{protocolthe-p}{the} node operation. 

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


Reimplemented from \hyperlink{classFib2mribNode_a4bf9931df9521a0019a0b25c73a92e51}{Fib2mribNode}.

\hypertarget{classXrlFib2mribNode_a97b094cd05c5f0eb2a0e7edc1e8c89a2}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!startup@{startup}}
\index{startup@{startup}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{startup}]{\setlength{\rightskip}{0pt plus 5cm}int XrlFib2mribNode::startup (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classXrlFib2mribNode_a97b094cd05c5f0eb2a0e7edc1e8c89a2}


\hyperlink{classStartup}{Startup} \hyperlink{protocolthe-p}{the} node operation. 

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


Reimplemented from \hyperlink{classFib2mribNode_a876a14b8d8d08e1a769770658c680391}{Fib2mribNode}.

\hypertarget{classXrlFib2mribNode_ac6b6da62415b8e132731e0f561366214}{
\index{XrlFib2mribNode@{XrlFib2mribNode}!xrl\_\-router@{xrl\_\-router}}
\index{xrl\_\-router@{xrl\_\-router}!XrlFib2mribNode@{XrlFib2mribNode}}
\subsubsection[{xrl\_\-router}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlRouter}\& XrlFib2mribNode::xrl\_\-router (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classXrlFib2mribNode_ac6b6da62415b8e132731e0f561366214}


Get a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} instance. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} (\hyperlink{classXrlRouter}{XrlRouter}) instance. 
\end{DoxyReturn}


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