\hypertarget{classXrlRibTarget}{
\section{XrlRibTarget Class Reference}
\label{classXrlRibTarget}\index{XrlRibTarget@{XrlRibTarget}}
}


Implement \hyperlink{classRIB}{RIB} \hyperlink{classXrl}{Xrl} target methods.  




{\ttfamily \#include $<$xrl\_\-target.hh$>$}

Inheritance diagram for XrlRibTarget:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classXrlRibTarget}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classXrlRibTarget_a342ff902233357fc4a3a9cb928fe9337}{XrlRibTarget} (\hyperlink{classXrlRouter}{XrlRouter} $\ast$xrl\_\-router, \hyperlink{classRIB}{RIB}$<$ \hyperlink{classIPv4}{IPv4} $>$ \&urib4, \hyperlink{classRIB}{RIB}$<$ \hyperlink{classIPv4}{IPv4} $>$ \&mrib4, \hyperlink{classVifManager}{VifManager} \&vif\_\-manager, \hyperlink{classRibManager}{RibManager} $\ast$rib\_\-manager)
\begin{DoxyCompactList}\small\item\em \hyperlink{classXrlRibTarget}{XrlRibTarget} constructor. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlRibTarget_a43d8550e730c23446ae84814415473bf}{
\hyperlink{classXrlRibTarget_a43d8550e730c23446ae84814415473bf}{$\sim$XrlRibTarget} ()}
\label{classXrlRibTarget_a43d8550e730c23446ae84814415473bf}

\begin{DoxyCompactList}\small\item\em \hyperlink{classXrlRibTarget}{XrlRibTarget} destructor. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlRibTarget_a379c37661bb55628707156a56bd7f8b9}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_a379c37661bb55628707156a56bd7f8b9}{common\_\-0\_\-1\_\-get\_\-target\_\-name} (string \&name)}
\label{classXrlRibTarget_a379c37661bb55628707156a56bd7f8b9}

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

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

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

\begin{DoxyCompactList}\small\item\em Request clean shutdown of \hyperlink{classXrl}{Xrl} Target. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_ae1a1be7f93933400314cfc0c69175ba7}{common\_\-0\_\-1\_\-startup} ()
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hypertarget{classXrlRibTarget_aaee9cbf1a75a3b93b5567ad8228dea34}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_aaee9cbf1a75a3b93b5567ad8228dea34}{rib\_\-0\_\-1\_\-enable\_\-rib} ()}
\label{classXrlRibTarget_aaee9cbf1a75a3b93b5567ad8228dea34}

\begin{DoxyCompactList}\small\item\em Enable/disable/start/stop \hyperlink{classRIB}{RIB}. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlRibTarget_acf2f3e6016fc5d2b7af2e717ecf35610}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries rib\_\-0\_\-1\_\-disable\_\-rib} ()}
\label{classXrlRibTarget_acf2f3e6016fc5d2b7af2e717ecf35610}

\item 
\hypertarget{classXrlRibTarget_ab46e2269c6d3618013aca09d9c4b1f0b}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries rib\_\-0\_\-1\_\-start\_\-rib} ()}
\label{classXrlRibTarget_ab46e2269c6d3618013aca09d9c4b1f0b}

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

\item 
\hypertarget{classXrlRibTarget_afb569f0314f05f86f1989366d81b6803}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_afb569f0314f05f86f1989366d81b6803}{rib\_\-0\_\-1\_\-make\_\-errors\_\-fatal} ()}
\label{classXrlRibTarget_afb569f0314f05f86f1989366d81b6803}

\begin{DoxyCompactList}\small\item\em Make errors fatal; used to detect errors we'd normally mask. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_af9828fd3bb6baee369c73bd141ba17d0}{rib\_\-0\_\-1\_\-get\_\-registered\_\-protocols} (const bool \&ipv4, const bool \&ipv6, const bool \&unicast, const bool \&multicast, \hyperlink{classXrlAtomList}{XrlAtomList} \&ipv4\_\-unicast\_\-protocols, \hyperlink{classXrlAtomList}{XrlAtomList} \&ipv6\_\-unicast\_\-protocols, \hyperlink{classXrlAtomList}{XrlAtomList} \&ipv4\_\-multicast\_\-protocols, \hyperlink{classXrlAtomList}{XrlAtomList} \&ipv6\_\-multicast\_\-protocols)
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} list of registered protocols. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_adac55c3f6d86b6e96e9f378e4027776d}{rib\_\-0\_\-1\_\-add\_\-igp\_\-table4} (const string \&protocol, const string \&target\_\-class, const string \&target\_\-instance, const bool \&unicast, const bool \&multicast)
\begin{DoxyCompactList}\small\item\em Add/delete an IGP or EGP table. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlRibTarget_aa21e0777ecb16c38a15fa8fa82a31cde}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries rib\_\-0\_\-1\_\-delete\_\-igp\_\-table4} (const string \&protocol, const string \&target\_\-class, const string \&target\_\-instance, const bool \&unicast, const bool \&multicast)}
\label{classXrlRibTarget_aa21e0777ecb16c38a15fa8fa82a31cde}

\item 
\hypertarget{classXrlRibTarget_aab99ad47f793e2629ebc417e4854d3c7}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries rib\_\-0\_\-1\_\-add\_\-egp\_\-table4} (const string \&protocol, const string \&target\_\-class, const string \&target\_\-instance, const bool \&unicast, const bool \&multicast)}
\label{classXrlRibTarget_aab99ad47f793e2629ebc417e4854d3c7}

\item 
\hypertarget{classXrlRibTarget_a1108cd9cb9934617dc64bf7dc7ebdb49}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries rib\_\-0\_\-1\_\-delete\_\-egp\_\-table4} (const string \&protocol, const string \&target\_\-class, const string \&target\_\-instance, const bool \&unicast, const bool \&multicast)}
\label{classXrlRibTarget_a1108cd9cb9934617dc64bf7dc7ebdb49}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_a815d1d2af53c79bc223f21aff6e76809}{rib\_\-0\_\-1\_\-add\_\-route4} (const string \&protocol, const bool \&unicast, const bool \&multicast, const \hyperlink{classIPNet}{IPv4Net} \&network, const \hyperlink{classIPv4}{IPv4} \&nexthop, const uint32\_\-t \&metric, const \hyperlink{classXrlAtomList}{XrlAtomList} \&policytags)
\begin{DoxyCompactList}\small\item\em Add/replace/delete a route. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlRibTarget_a5baaea6e94bb1b6a0924e05ead305768}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries rib\_\-0\_\-1\_\-replace\_\-route4} (const string \&protocol, const bool \&unicast, const bool \&multicast, const \hyperlink{classIPNet}{IPv4Net} \&network, const \hyperlink{classIPv4}{IPv4} \&nexthop, const uint32\_\-t \&metric, const \hyperlink{classXrlAtomList}{XrlAtomList} \&policytags)}
\label{classXrlRibTarget_a5baaea6e94bb1b6a0924e05ead305768}

\item 
\hypertarget{classXrlRibTarget_a6d1f0cd565ef742408d5f1d21df0f763}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries rib\_\-0\_\-1\_\-delete\_\-route4} (const string \&protocol, const bool \&unicast, const bool \&multicast, const \hyperlink{classIPNet}{IPv4Net} \&network)}
\label{classXrlRibTarget_a6d1f0cd565ef742408d5f1d21df0f763}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_adb449f4317c1f584cdce8b62f1732f56}{rib\_\-0\_\-1\_\-add\_\-interface\_\-route4} (const string \&protocol, const bool \&unicast, const bool \&multicast, const \hyperlink{classIPNet}{IPv4Net} \&network, const \hyperlink{classIPv4}{IPv4} \&nexthop, const string \&ifname, const string \&vifname, const uint32\_\-t \&metric, const \hyperlink{classXrlAtomList}{XrlAtomList} \&policytags)
\begin{DoxyCompactList}\small\item\em Add/replace a route by explicitly specifying \hyperlink{protocolthe-p}{the} network interface toward \hyperlink{protocolthe-p}{the} destination. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlRibTarget_a825acdef6e30997ea6a199f5f77b557c}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries rib\_\-0\_\-1\_\-replace\_\-interface\_\-route4} (const string \&protocol, const bool \&unicast, const bool \&multicast, const \hyperlink{classIPNet}{IPv4Net} \&network, const \hyperlink{classIPv4}{IPv4} \&nexthop, const string \&ifname, const string \&vifname, const uint32\_\-t \&metric, const \hyperlink{classXrlAtomList}{XrlAtomList} \&policytags)}
\label{classXrlRibTarget_a825acdef6e30997ea6a199f5f77b557c}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_abc89cff4097de2eba062f0f69d175132}{rib\_\-0\_\-1\_\-lookup\_\-route\_\-by\_\-dest4} (const \hyperlink{classIPv4}{IPv4} \&addr, const bool \&unicast, const bool \&multicast, \hyperlink{classIPv4}{IPv4} \&nexthop)
\begin{DoxyCompactList}\small\item\em Lookup nexthop. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_abacaba5f4390298a5e745e48e3a3683b}{rib\_\-0\_\-1\_\-new\_\-vif} (const string \&name)
\begin{DoxyCompactList}\small\item\em Add a vif or a vif address to \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_ad71463fe33c309fbb961f6b8877e6556}{rib\_\-0\_\-1\_\-add\_\-vif\_\-addr4} (const string \&name, const \hyperlink{classIPv4}{IPv4} \&addr, const \hyperlink{classIPNet}{IPv4Net} \&subnet)
\begin{DoxyCompactList}\small\item\em Add a vif address to \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_ae27d2d63fcd7fd63ab9f1528d05775d7}{rib\_\-0\_\-1\_\-redist\_\-enable4} (const string \&to\_\-xrl\_\-target, const string \&from\_\-protocol, const bool \&unicast, const bool \&multicast, const \hyperlink{classIPNet}{IPv4Net} \&network\_\-prefix, const string \&cookie)
\begin{DoxyCompactList}\small\item\em Enable route redistribution from one routing protocol to another. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_a077b9d963223c660cbb4e1b6b2cc7cf1}{rib\_\-0\_\-1\_\-redist\_\-disable4} (const string \&to\_\-xrl\_\-target, const string \&from\_\-protocol, const bool \&unicast, const bool \&multicast, const string \&cookie)
\begin{DoxyCompactList}\small\item\em Disable route redistribution from one routing protocol to another. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_a47ec920c86ab918c76721fdd46cf8ea3}{rib\_\-0\_\-1\_\-redist\_\-transaction\_\-enable4} (const string \&to\_\-xrl\_\-target, const string \&from\_\-protocol, const bool \&unicast, const bool \&multicast, const \hyperlink{classIPNet}{IPv4Net} \&network\_\-prefix, const string \&cookie)
\begin{DoxyCompactList}\small\item\em Enable transaction-\/based route redistribution from one routing protocol to another. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_a6d3f74bb52001a584492aeb8d58c7de7}{rib\_\-0\_\-1\_\-redist\_\-transaction\_\-disable4} (const string \&to\_\-xrl\_\-target, const string \&from\_\-protocol, const bool \&unicast, const bool \&multicast, const string \&cookie)
\begin{DoxyCompactList}\small\item\em Disable transaction-\/based route redistribution from one routing protocol to another. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_a6e9bdb7ad384a45f801ead670764fc5f}{rib\_\-0\_\-1\_\-register\_\-interest4} (const string \&target, const \hyperlink{classIPv4}{IPv4} \&addr, bool \&resolves, \hyperlink{classIPv4}{IPv4} \&base\_\-addr, uint32\_\-t \&prefix\_\-len, uint32\_\-t \&real\_\-prefix\_\-len, \hyperlink{classIPv4}{IPv4} \&nexthop, uint32\_\-t \&metric)
\begin{DoxyCompactList}\small\item\em Register an interest in a route. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_a875646cd819e378891802dfe4731d574}{rib\_\-0\_\-1\_\-deregister\_\-interest4} (const string \&target, const \hyperlink{classIPv4}{IPv4} \&addr, const uint32\_\-t \&prefix\_\-len)
\begin{DoxyCompactList}\small\item\em De-\/register an interest in a route. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_a887cd9902b4e8633676f8d1791408868}{rib\_\-0\_\-1\_\-get\_\-protocol\_\-admin\_\-distances} (const bool \&ipv4, const bool \&unicast, \hyperlink{classXrlAtomList}{XrlAtomList} \&protocols, \hyperlink{classXrlAtomList}{XrlAtomList} \&admin\_\-distances)
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} configured admin distances from a selected \hyperlink{classRIB}{RIB} for all routing protocols configured with one. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_a659986fc201707d68bfca046cbdb3013}{rib\_\-0\_\-1\_\-get\_\-protocol\_\-admin\_\-distance} (const string \&protocol, const bool \&unicast, const bool \&multicast, uint32\_\-t \&admin\_\-distance)
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} configured admin distance for a routing protocol from a selected \hyperlink{classRIB}{RIB}. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_a7475bf3eb4fcf8538d3dda00d507d293}{rib\_\-0\_\-1\_\-set\_\-protocol\_\-admin\_\-distance} (const string \&protocol, const bool \&ipv4, const bool \&ipv6, const bool \&unicast, const bool \&multicast, const uint32\_\-t \&admin\_\-distance)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} configured admin distance for a routing protocol in one or many RIBs. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlRibTarget_aded563a962a26a727133d9ae5bbd4d29}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_aded563a962a26a727133d9ae5bbd4d29}{finder\_\-event\_\-observer\_\-0\_\-1\_\-xrl\_\-target\_\-birth} (const string \&target\_\-class, const string \&target\_\-instance)}
\label{classXrlRibTarget_aded563a962a26a727133d9ae5bbd4d29}

\begin{DoxyCompactList}\small\item\em Announce target birth. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlRibTarget_a15b70ed43c263b0aa83445eba0ac23d7}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_a15b70ed43c263b0aa83445eba0ac23d7}{finder\_\-event\_\-observer\_\-0\_\-1\_\-xrl\_\-target\_\-death} (const string \&target\_\-class, const string \&target\_\-instance)}
\label{classXrlRibTarget_a15b70ed43c263b0aa83445eba0ac23d7}

\begin{DoxyCompactList}\small\item\em Announce target death. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_af90845257773dffea07136de5e735e12}{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{classXrlRibTarget_ad2814b8ea9bc82fb5763124837c51bd3}{policy\_\-backend\_\-0\_\-1\_\-reset} (const uint32\_\-t \&filter)
\begin{DoxyCompactList}\small\item\em Reset a policy filter. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlRibTarget_a365f891c118c1d14322ec6787d37c3c1}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_a365f891c118c1d14322ec6787d37c3c1}{policy\_\-backend\_\-0\_\-1\_\-push\_\-routes} ()}
\label{classXrlRibTarget_a365f891c118c1d14322ec6787d37c3c1}

\begin{DoxyCompactList}\small\item\em \hyperlink{classPush}{Push} routes through policy filters for re-\/filtering. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_acf4c848a5050417826fff669dc74fe4a}{rib\_\-0\_\-1\_\-insert\_\-policy\_\-redist\_\-tags} (const string \&protocol, const \hyperlink{classXrlAtomList}{XrlAtomList} \&policytags)
\begin{DoxyCompactList}\small\item\em Redistribute to a protocol based on policy-\/tags. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlRibTarget_aea4c4f4a80ba399ae7abada9b8192328}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_aea4c4f4a80ba399ae7abada9b8192328}{rib\_\-0\_\-1\_\-reset\_\-policy\_\-redist\_\-tags} ()}
\label{classXrlRibTarget_aea4c4f4a80ba399ae7abada9b8192328}

\begin{DoxyCompactList}\small\item\em Reset policy redistribution map. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_aed106967a4cb6411ad927473813bcb0c}{profile\_\-0\_\-1\_\-enable} (const string \&pname)
\begin{DoxyCompactList}\small\item\em Enable profiling. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_a1bc61e9fc260dadc5955d8aa260ffa53}{profile\_\-0\_\-1\_\-disable} (const string \&pname)
\begin{DoxyCompactList}\small\item\em Disable profiling. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_aca27eaf3dc3d488c512553e78f68f723}{profile\_\-0\_\-1\_\-get\_\-entries} (const string \&pname, const string \&instance\_\-name)
\begin{DoxyCompactList}\small\item\em Get log entries. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_a1efe47fccb23e9149dbe60b52404ad44}{profile\_\-0\_\-1\_\-clear} (const string \&pname)
\begin{DoxyCompactList}\small\item\em Clear \hyperlink{protocolthe-p}{the} profiling entries. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlRibTarget_a95fbd9d45e77323d031df8c45db4a5e1}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlRibTarget_a95fbd9d45e77323d031df8c45db4a5e1}{profile\_\-0\_\-1\_\-list} (string \&info)}
\label{classXrlRibTarget_a95fbd9d45e77323d031df8c45db4a5e1}

\begin{DoxyCompactList}\small\item\em List all \hyperlink{protocolthe-p}{the} profiling variables registered with this target. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlRibTarget_a211e4913c7ad074bc4860c8bf28ddcdb}{
\hyperlink{classRIB}{RIB}$<$ \hyperlink{classIPv4}{IPv4} $>$ \& {\bfseries \_\-urib4}}
\label{classXrlRibTarget_a211e4913c7ad074bc4860c8bf28ddcdb}

\item 
\hypertarget{classXrlRibTarget_aff883bbbadd9a31c7a1965fed02fb4e0}{
\hyperlink{classRIB}{RIB}$<$ \hyperlink{classIPv4}{IPv4} $>$ \& {\bfseries \_\-mrib4}}
\label{classXrlRibTarget_aff883bbbadd9a31c7a1965fed02fb4e0}

\item 
\hypertarget{classXrlRibTarget_a2497ae5edafacd44c757831fa799ed42}{
\hyperlink{classVifManager}{VifManager} \& {\bfseries \_\-vif\_\-manager}}
\label{classXrlRibTarget_a2497ae5edafacd44c757831fa799ed42}

\item 
\hypertarget{classXrlRibTarget_a37bffabe74c40f5bf45a19a419dfeb3a}{
\hyperlink{classRibManager}{RibManager} $\ast$ {\bfseries \_\-rib\_\-manager}}
\label{classXrlRibTarget_a37bffabe74c40f5bf45a19a419dfeb3a}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Implement \hyperlink{classRIB}{RIB} \hyperlink{classXrl}{Xrl} target methods. \hyperlink{classXrlRibTarget}{XrlRibTarget} implements \hyperlink{protocolthe-p}{the} auto-\/generated sub methods to handle XRL requests from \hyperlink{protocolthe-p}{the} routing protocols to \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classXrlRibTarget_a342ff902233357fc4a3a9cb928fe9337}{
\index{XrlRibTarget@{XrlRibTarget}!XrlRibTarget@{XrlRibTarget}}
\index{XrlRibTarget@{XrlRibTarget}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{XrlRibTarget}]{\setlength{\rightskip}{0pt plus 5cm}XrlRibTarget::XrlRibTarget (
\begin{DoxyParamCaption}
\item[{{\bf XrlRouter} $\ast$}]{xrl\_\-router, }
\item[{{\bf RIB}$<$ {\bf IPv4} $>$ \&}]{urib4, }
\item[{{\bf RIB}$<$ {\bf IPv4} $>$ \&}]{mrib4, }
\item[{{\bf VifManager} \&}]{vif\_\-manager, }
\item[{{\bf RibManager} $\ast$}]{rib\_\-manager}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classXrlRibTarget_a342ff902233357fc4a3a9cb928fe9337}


\hyperlink{classXrlRibTarget}{XrlRibTarget} constructor. 


\begin{DoxyParams}{Parameters}
{\em xrl\_\-router} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} instance handling sending and receiving XRLs for this process. \\
\hline
{\em urib4} & \hyperlink{protocolthe-p}{the} \hyperlink{classIPv4}{IPv4} unicast \hyperlink{classRIB}{RIB}. \\
\hline
{\em mrib4} & \hyperlink{protocolthe-p}{the} \hyperlink{classIPv4}{IPv4} multicast \hyperlink{classRIB}{RIB}. \\
\hline
{\em urib6} & \hyperlink{protocolthe-p}{the} \hyperlink{classIPv6}{IPv6} unicast \hyperlink{classRIB}{RIB}. \\
\hline
{\em mrib6} & \hyperlink{protocolthe-p}{the} \hyperlink{classIPv6}{IPv6} multicast \hyperlink{classRIB}{RIB}. \\
\hline
{\em vif\_\-manager} & \hyperlink{protocolthe-p}{the} \hyperlink{classVifManager}{VifManager} for this process handling communication with \hyperlink{protocolthe-p}{the} FEA regarding VIF changes. \\
\hline
{\em rib\_\-manager} & \hyperlink{protocolthe-p}{the} \hyperlink{classRibManager}{RibManager} for this process. \\
\hline
\end{DoxyParams}


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


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

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

Implements \hyperlink{structXrlRibTargetBase_a6e5e9e1cce4392f502e0826a5ddcbdfe}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_af90845257773dffea07136de5e735e12}{
\index{XrlRibTarget@{XrlRibTarget}!policy\_\-backend\_\-0\_\-1\_\-configure@{policy\_\-backend\_\-0\_\-1\_\-configure}}
\index{policy\_\-backend\_\-0\_\-1\_\-configure@{policy\_\-backend\_\-0\_\-1\_\-configure}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{policy\_\-backend\_\-0\_\-1\_\-configure}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::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{classXrlRibTarget_af90845257773dffea07136de5e735e12}


Configure a policy filter. 


\begin{DoxyParams}{Parameters}
{\em filter} & id of filter to configure. \\
\hline
{\em conf} & configuration of filter. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_a84fd31f397b861bc70f18f9bee1ccda0}{XrlRibTargetBase}.

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


Reset a policy filter. 


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


Implements \hyperlink{structXrlRibTargetBase_a1d254ad7ef5700412a26d6037f916363}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_a1efe47fccb23e9149dbe60b52404ad44}{
\index{XrlRibTarget@{XrlRibTarget}!profile\_\-0\_\-1\_\-clear@{profile\_\-0\_\-1\_\-clear}}
\index{profile\_\-0\_\-1\_\-clear@{profile\_\-0\_\-1\_\-clear}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{profile\_\-0\_\-1\_\-clear}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::profile\_\-0\_\-1\_\-clear (
\begin{DoxyParamCaption}
\item[{const string \&}]{pname}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_a1efe47fccb23e9149dbe60b52404ad44}


Clear \hyperlink{protocolthe-p}{the} profiling entries. 


\begin{DoxyParams}{Parameters}
{\em pname} & profile variable \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_a86702721f2a2d34ec517253b65c59be7}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_a1bc61e9fc260dadc5955d8aa260ffa53}{
\index{XrlRibTarget@{XrlRibTarget}!profile\_\-0\_\-1\_\-disable@{profile\_\-0\_\-1\_\-disable}}
\index{profile\_\-0\_\-1\_\-disable@{profile\_\-0\_\-1\_\-disable}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{profile\_\-0\_\-1\_\-disable}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::profile\_\-0\_\-1\_\-disable (
\begin{DoxyParamCaption}
\item[{const string \&}]{pname}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_a1bc61e9fc260dadc5955d8aa260ffa53}


Disable profiling. 


\begin{DoxyParams}{Parameters}
{\em pname} & profile variable \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_afc5874d0f09a400d0a8dcf79f938daf9}{XrlRibTargetBase}.

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


Enable profiling. 


\begin{DoxyParams}{Parameters}
{\em pname} & profile variable \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_a48af91fae978cb744eee0f899d5aedad}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_aca27eaf3dc3d488c512553e78f68f723}{
\index{XrlRibTarget@{XrlRibTarget}!profile\_\-0\_\-1\_\-get\_\-entries@{profile\_\-0\_\-1\_\-get\_\-entries}}
\index{profile\_\-0\_\-1\_\-get\_\-entries@{profile\_\-0\_\-1\_\-get\_\-entries}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{profile\_\-0\_\-1\_\-get\_\-entries}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::profile\_\-0\_\-1\_\-get\_\-entries (
\begin{DoxyParamCaption}
\item[{const string \&}]{pname, }
\item[{const string \&}]{instance\_\-name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_aca27eaf3dc3d488c512553e78f68f723}


Get log entries. 


\begin{DoxyParams}{Parameters}
{\em pname} & profile variable\\
\hline
{\em instance\_\-name} & to send \hyperlink{protocolthe-p}{the} profiling info to. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_abd8f3b104a640def751042c9f03233fe}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_adac55c3f6d86b6e96e9f378e4027776d}{
\index{XrlRibTarget@{XrlRibTarget}!rib\_\-0\_\-1\_\-add\_\-igp\_\-table4@{rib\_\-0\_\-1\_\-add\_\-igp\_\-table4}}
\index{rib\_\-0\_\-1\_\-add\_\-igp\_\-table4@{rib\_\-0\_\-1\_\-add\_\-igp\_\-table4}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{rib\_\-0\_\-1\_\-add\_\-igp\_\-table4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::rib\_\-0\_\-1\_\-add\_\-igp\_\-table4 (
\begin{DoxyParamCaption}
\item[{const string \&}]{protocol, }
\item[{const string \&}]{target\_\-class, }
\item[{const string \&}]{target\_\-instance, }
\item[{const bool \&}]{unicast, }
\item[{const bool \&}]{multicast}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_adac55c3f6d86b6e96e9f378e4027776d}


Add/delete an IGP or EGP table. 


\begin{DoxyParams}{Parameters}
{\em protocol} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} protocol.\\
\hline
{\em target\_\-class} & \hyperlink{protocolthe-p}{the} target class of \hyperlink{protocolthe-p}{the} protocol.\\
\hline
{\em target\_\-instance} & \hyperlink{protocolthe-p}{the} target instance of \hyperlink{protocolthe-p}{the} protocol.\\
\hline
{\em unicast} & true if \hyperlink{protocolthe-p}{the} table is for \hyperlink{protocolthe-p}{the} unicast \hyperlink{classRIB}{RIB}.\\
\hline
{\em multicast} & true if \hyperlink{protocolthe-p}{the} table is for \hyperlink{protocolthe-p}{the} multicast \hyperlink{classRIB}{RIB}. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_ae224c5b563e4c9c22025c06b5ee34568}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_adb449f4317c1f584cdce8b62f1732f56}{
\index{XrlRibTarget@{XrlRibTarget}!rib\_\-0\_\-1\_\-add\_\-interface\_\-route4@{rib\_\-0\_\-1\_\-add\_\-interface\_\-route4}}
\index{rib\_\-0\_\-1\_\-add\_\-interface\_\-route4@{rib\_\-0\_\-1\_\-add\_\-interface\_\-route4}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{rib\_\-0\_\-1\_\-add\_\-interface\_\-route4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::rib\_\-0\_\-1\_\-add\_\-interface\_\-route4 (
\begin{DoxyParamCaption}
\item[{const string \&}]{protocol, }
\item[{const bool \&}]{unicast, }
\item[{const bool \&}]{multicast, }
\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 {\bf XrlAtomList} \&}]{policytags}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_adb449f4317c1f584cdce8b62f1732f56}


Add/replace a route by explicitly specifying \hyperlink{protocolthe-p}{the} network interface toward \hyperlink{protocolthe-p}{the} destination. 


\begin{DoxyParams}{Parameters}
{\em protocol} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} protocol this route comes from.\\
\hline
{\em unicast} & true if \hyperlink{protocolthe-p}{the} route is for \hyperlink{protocolthe-p}{the} unicast \hyperlink{classRIB}{RIB}.\\
\hline
{\em multicast} & true if \hyperlink{protocolthe-p}{the} route is for \hyperlink{protocolthe-p}{the} multicast \hyperlink{classRIB}{RIB}.\\
\hline
{\em network} & \hyperlink{protocolthe-p}{the} network address prefix of \hyperlink{protocolthe-p}{the} route.\\
\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} & of \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} physical interface toward \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em vifname} & of \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.\\
\hline
{\em policytags} & \hyperlink{protocolthe-p}{the} policy-\/tags for this route. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_a137ad4337195382d03661adac9208563}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_a815d1d2af53c79bc223f21aff6e76809}{
\index{XrlRibTarget@{XrlRibTarget}!rib\_\-0\_\-1\_\-add\_\-route4@{rib\_\-0\_\-1\_\-add\_\-route4}}
\index{rib\_\-0\_\-1\_\-add\_\-route4@{rib\_\-0\_\-1\_\-add\_\-route4}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{rib\_\-0\_\-1\_\-add\_\-route4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::rib\_\-0\_\-1\_\-add\_\-route4 (
\begin{DoxyParamCaption}
\item[{const string \&}]{protocol, }
\item[{const bool \&}]{unicast, }
\item[{const bool \&}]{multicast, }
\item[{const {\bf IPv4Net} \&}]{network, }
\item[{const {\bf IPv4} \&}]{nexthop, }
\item[{const uint32\_\-t \&}]{metric, }
\item[{const {\bf XrlAtomList} \&}]{policytags}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_a815d1d2af53c79bc223f21aff6e76809}


Add/replace/delete a route. 


\begin{DoxyParams}{Parameters}
{\em protocol} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} protocol this route comes from.\\
\hline
{\em unicast} & true if \hyperlink{protocolthe-p}{the} route is for \hyperlink{protocolthe-p}{the} unicast \hyperlink{classRIB}{RIB}.\\
\hline
{\em multicast} & true if \hyperlink{protocolthe-p}{the} route is for \hyperlink{protocolthe-p}{the} multicast \hyperlink{classRIB}{RIB}.\\
\hline
{\em network} & \hyperlink{protocolthe-p}{the} network address prefix of \hyperlink{protocolthe-p}{the} route.\\
\hline
{\em nexthop} & \hyperlink{protocolthe-p}{the} address of \hyperlink{protocolthe-p}{the} next-\/hop router toward \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em metric} & \hyperlink{protocolthe-p}{the} routing metric.\\
\hline
{\em policytags} & \hyperlink{protocolthe-p}{the} policy-\/tags for this route. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_a79e832e08cc9d5728111b37db5e55012}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_ad71463fe33c309fbb961f6b8877e6556}{
\index{XrlRibTarget@{XrlRibTarget}!rib\_\-0\_\-1\_\-add\_\-vif\_\-addr4@{rib\_\-0\_\-1\_\-add\_\-vif\_\-addr4}}
\index{rib\_\-0\_\-1\_\-add\_\-vif\_\-addr4@{rib\_\-0\_\-1\_\-add\_\-vif\_\-addr4}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{rib\_\-0\_\-1\_\-add\_\-vif\_\-addr4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::rib\_\-0\_\-1\_\-add\_\-vif\_\-addr4 (
\begin{DoxyParamCaption}
\item[{const string \&}]{name, }
\item[{const {\bf IPv4} \&}]{addr, }
\item[{const {\bf IPv4Net} \&}]{subnet}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_ad71463fe33c309fbb961f6b8877e6556}


Add a vif address to \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. 

This interface should be used only for testing purpose.


\begin{DoxyParams}{Parameters}
{\em name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif.\\
\hline
{\em addr} & \hyperlink{protocolthe-p}{the} address to add.\\
\hline
{\em subnet} & \hyperlink{protocolthe-p}{the} subnet address to add. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_a71242e2a78268251f0f52216e5ad6e54}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_a875646cd819e378891802dfe4731d574}{
\index{XrlRibTarget@{XrlRibTarget}!rib\_\-0\_\-1\_\-deregister\_\-interest4@{rib\_\-0\_\-1\_\-deregister\_\-interest4}}
\index{rib\_\-0\_\-1\_\-deregister\_\-interest4@{rib\_\-0\_\-1\_\-deregister\_\-interest4}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{rib\_\-0\_\-1\_\-deregister\_\-interest4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::rib\_\-0\_\-1\_\-deregister\_\-interest4 (
\begin{DoxyParamCaption}
\item[{const string \&}]{target, }
\item[{const {\bf IPv4} \&}]{addr, }
\item[{const uint32\_\-t \&}]{prefix\_\-len}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_a875646cd819e378891802dfe4731d574}


De-\/register an interest in a route. 


\begin{DoxyParams}{Parameters}
{\em target} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} XRL module that registered \hyperlink{protocolthe-p}{the} interest.\\
\hline
{\em addr} & \hyperlink{protocolthe-p}{the} address of \hyperlink{protocolthe-p}{the} previous registered interest. addr should be \hyperlink{protocolthe-p}{the} base address of \hyperlink{protocolthe-p}{the} add/prefix\_\-len subnet.\\
\hline
{\em prefix\_\-len} & \hyperlink{protocolthe-p}{the} prefix length of \hyperlink{protocolthe-p}{the} registered interest, as given in \hyperlink{protocolthe-p}{the} response from register\_\-interest. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_a77c40826e79ee68f2d523e12f97ae9dd}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_a659986fc201707d68bfca046cbdb3013}{
\index{XrlRibTarget@{XrlRibTarget}!rib\_\-0\_\-1\_\-get\_\-protocol\_\-admin\_\-distance@{rib\_\-0\_\-1\_\-get\_\-protocol\_\-admin\_\-distance}}
\index{rib\_\-0\_\-1\_\-get\_\-protocol\_\-admin\_\-distance@{rib\_\-0\_\-1\_\-get\_\-protocol\_\-admin\_\-distance}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{rib\_\-0\_\-1\_\-get\_\-protocol\_\-admin\_\-distance}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::rib\_\-0\_\-1\_\-get\_\-protocol\_\-admin\_\-distance (
\begin{DoxyParamCaption}
\item[{const string \&}]{protocol, }
\item[{const bool \&}]{unicast, }
\item[{const bool \&}]{multicast, }
\item[{uint32\_\-t \&}]{admin\_\-distance}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_a659986fc201707d68bfca046cbdb3013}


Get \hyperlink{protocolthe-p}{the} configured admin distance for a routing protocol from a selected \hyperlink{classRIB}{RIB}. 


\begin{DoxyParams}{Parameters}
{\em protocol} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} protocol. \\
\hline
{\em unicast} & true if we're looking in \hyperlink{protocolthe-p}{the} unicast \hyperlink{classRIB}{RIB}. \\
\hline
{\em multicast} & true if we're looking in \hyperlink{protocolthe-p}{the} multicast \hyperlink{classRIB}{RIB}. \\
\hline
{\em admin\_\-distance} & \hyperlink{protocolthe-p}{the} returned admin distance. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_a8edc08a9311aa34c2b15a780aac3c770}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_a887cd9902b4e8633676f8d1791408868}{
\index{XrlRibTarget@{XrlRibTarget}!rib\_\-0\_\-1\_\-get\_\-protocol\_\-admin\_\-distances@{rib\_\-0\_\-1\_\-get\_\-protocol\_\-admin\_\-distances}}
\index{rib\_\-0\_\-1\_\-get\_\-protocol\_\-admin\_\-distances@{rib\_\-0\_\-1\_\-get\_\-protocol\_\-admin\_\-distances}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{rib\_\-0\_\-1\_\-get\_\-protocol\_\-admin\_\-distances}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::rib\_\-0\_\-1\_\-get\_\-protocol\_\-admin\_\-distances (
\begin{DoxyParamCaption}
\item[{const bool \&}]{ipv4, }
\item[{const bool \&}]{unicast, }
\item[{{\bf XrlAtomList} \&}]{protocols, }
\item[{{\bf XrlAtomList} \&}]{admin\_\-distances}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_a887cd9902b4e8633676f8d1791408868}


Get \hyperlink{protocolthe-p}{the} configured admin distances from a selected \hyperlink{classRIB}{RIB} for all routing protocols configured with one. 


\begin{DoxyParams}{Parameters}
{\em ipv4} & true if we're looking in \hyperlink{protocolthe-p}{the} ipv4 \hyperlink{classRIB}{RIB}. false if we're looking in \hyperlink{protocolthe-p}{the} ipv6 \hyperlink{classRIB}{RIB}. \\
\hline
{\em unicast} & true if we're looking in \hyperlink{protocolthe-p}{the} unicast \hyperlink{classRIB}{RIB}. false if we're looking in \hyperlink{protocolthe-p}{the} multicast \hyperlink{classRIB}{RIB}. \\
\hline
{\em protocols} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} protocols. \\
\hline
{\em admin\_\-distance} & \hyperlink{protocolthe-p}{the} returned admin distances. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_a7a8c54cec10f39999ad29be9ce44bf0e}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_af9828fd3bb6baee369c73bd141ba17d0}{
\index{XrlRibTarget@{XrlRibTarget}!rib\_\-0\_\-1\_\-get\_\-registered\_\-protocols@{rib\_\-0\_\-1\_\-get\_\-registered\_\-protocols}}
\index{rib\_\-0\_\-1\_\-get\_\-registered\_\-protocols@{rib\_\-0\_\-1\_\-get\_\-registered\_\-protocols}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{rib\_\-0\_\-1\_\-get\_\-registered\_\-protocols}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::rib\_\-0\_\-1\_\-get\_\-registered\_\-protocols (
\begin{DoxyParamCaption}
\item[{const bool \&}]{ipv4, }
\item[{const bool \&}]{ipv6, }
\item[{const bool \&}]{unicast, }
\item[{const bool \&}]{multicast, }
\item[{{\bf XrlAtomList} \&}]{ipv4\_\-unicast\_\-protocols, }
\item[{{\bf XrlAtomList} \&}]{ipv6\_\-unicast\_\-protocols, }
\item[{{\bf XrlAtomList} \&}]{ipv4\_\-multicast\_\-protocols, }
\item[{{\bf XrlAtomList} \&}]{ipv6\_\-multicast\_\-protocols}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_af9828fd3bb6baee369c73bd141ba17d0}


Get \hyperlink{protocolthe-p}{the} list of registered protocols. 


\begin{DoxyParams}{Parameters}
{\em ipv4} & if true, then include \hyperlink{protocolthe-p}{the} \hyperlink{classIPv4}{IPv4} protocols.\\
\hline
{\em ipv6} & if true, then include \hyperlink{protocolthe-p}{the} \hyperlink{classIPv6}{IPv6} protocols.\\
\hline
{\em unicast} & if true, then include \hyperlink{protocolthe-p}{the} protocols registered with \hyperlink{protocolthe-p}{the} unicast \hyperlink{classRIB}{RIB}.\\
\hline
{\em multicast} & if true, then include \hyperlink{protocolthe-p}{the} protocols registered with \hyperlink{protocolthe-p}{the} multicast \hyperlink{classRIB}{RIB}.\\
\hline
{\em ipv4\_\-unicast\_\-protocols} & \hyperlink{protocolthe-p}{the} list of \hyperlink{classIPv4}{IPv4} protocols registered with \hyperlink{protocolthe-p}{the} unicast \hyperlink{classRIB}{RIB}.\\
\hline
{\em ipv6\_\-unicast\_\-protocols} & \hyperlink{protocolthe-p}{the} list of \hyperlink{classIPv6}{IPv6} protocols registered with \hyperlink{protocolthe-p}{the} unicast \hyperlink{classRIB}{RIB}.\\
\hline
{\em ipv4\_\-multicast\_\-protocols} & \hyperlink{protocolthe-p}{the} list of \hyperlink{classIPv4}{IPv4} protocols registered with \hyperlink{protocolthe-p}{the} multicast \hyperlink{classRIB}{RIB}.\\
\hline
{\em ipv6\_\-multicast\_\-protocols} & \hyperlink{protocolthe-p}{the} list of \hyperlink{classIPv6}{IPv6} protocols registered with \hyperlink{protocolthe-p}{the} multicast \hyperlink{classRIB}{RIB}. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_ab8bf1baa7147b7168cd19f1e358551cc}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_acf4c848a5050417826fff669dc74fe4a}{
\index{XrlRibTarget@{XrlRibTarget}!rib\_\-0\_\-1\_\-insert\_\-policy\_\-redist\_\-tags@{rib\_\-0\_\-1\_\-insert\_\-policy\_\-redist\_\-tags}}
\index{rib\_\-0\_\-1\_\-insert\_\-policy\_\-redist\_\-tags@{rib\_\-0\_\-1\_\-insert\_\-policy\_\-redist\_\-tags}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{rib\_\-0\_\-1\_\-insert\_\-policy\_\-redist\_\-tags}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::rib\_\-0\_\-1\_\-insert\_\-policy\_\-redist\_\-tags (
\begin{DoxyParamCaption}
\item[{const string \&}]{protocol, }
\item[{const {\bf XrlAtomList} \&}]{policytags}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_acf4c848a5050417826fff669dc74fe4a}


Redistribute to a protocol based on policy-\/tags. 


\begin{DoxyParams}{Parameters}
{\em protocol} & protocol to redistribute to \\
\hline
{\em policytags} & policy-\/tags of routes which need to be redistributed. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_a052146b15966f5381d7d5274e662854d}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_abc89cff4097de2eba062f0f69d175132}{
\index{XrlRibTarget@{XrlRibTarget}!rib\_\-0\_\-1\_\-lookup\_\-route\_\-by\_\-dest4@{rib\_\-0\_\-1\_\-lookup\_\-route\_\-by\_\-dest4}}
\index{rib\_\-0\_\-1\_\-lookup\_\-route\_\-by\_\-dest4@{rib\_\-0\_\-1\_\-lookup\_\-route\_\-by\_\-dest4}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{rib\_\-0\_\-1\_\-lookup\_\-route\_\-by\_\-dest4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::rib\_\-0\_\-1\_\-lookup\_\-route\_\-by\_\-dest4 (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4} \&}]{addr, }
\item[{const bool \&}]{unicast, }
\item[{const bool \&}]{multicast, }
\item[{{\bf IPv4} \&}]{nexthop}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_abc89cff4097de2eba062f0f69d175132}


Lookup nexthop. 


\begin{DoxyParams}{Parameters}
{\em addr} & address to lookup.\\
\hline
{\em unicast} & look in unicast \hyperlink{classRIB}{RIB}.\\
\hline
{\em multicast} & look in multicast \hyperlink{classRIB}{RIB}.\\
\hline
{\em nexthop} & contains \hyperlink{protocolthe-p}{the} resolved nexthop if successful, \hyperlink{classIPv4_a98e735cb5244537f232116bdceb4b946}{IPv4::ZERO} otherwise. It is an error for \hyperlink{protocolthe-p}{the} unicast and multicast fields to both be true or both false. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_ae05eb47d6bff581cc1d9aaa39675078e}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_abacaba5f4390298a5e745e48e3a3683b}{
\index{XrlRibTarget@{XrlRibTarget}!rib\_\-0\_\-1\_\-new\_\-vif@{rib\_\-0\_\-1\_\-new\_\-vif}}
\index{rib\_\-0\_\-1\_\-new\_\-vif@{rib\_\-0\_\-1\_\-new\_\-vif}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{rib\_\-0\_\-1\_\-new\_\-vif}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::rib\_\-0\_\-1\_\-new\_\-vif (
\begin{DoxyParamCaption}
\item[{const string \&}]{name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_abacaba5f4390298a5e745e48e3a3683b}


Add a vif or a vif address to \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. 

This interface should be used only for testing purpose.


\begin{DoxyParams}{Parameters}
{\em name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_a90ce0140d4840c148ea4d7669708ddbd}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_a077b9d963223c660cbb4e1b6b2cc7cf1}{
\index{XrlRibTarget@{XrlRibTarget}!rib\_\-0\_\-1\_\-redist\_\-disable4@{rib\_\-0\_\-1\_\-redist\_\-disable4}}
\index{rib\_\-0\_\-1\_\-redist\_\-disable4@{rib\_\-0\_\-1\_\-redist\_\-disable4}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{rib\_\-0\_\-1\_\-redist\_\-disable4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::rib\_\-0\_\-1\_\-redist\_\-disable4 (
\begin{DoxyParamCaption}
\item[{const string \&}]{to\_\-xrl\_\-target, }
\item[{const string \&}]{from\_\-protocol, }
\item[{const bool \&}]{unicast, }
\item[{const bool \&}]{multicast, }
\item[{const string \&}]{cookie}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_a077b9d963223c660cbb4e1b6b2cc7cf1}


Disable route redistribution from one routing protocol to another. 


\begin{DoxyParams}{Parameters}
{\em to\_\-xrl\_\-target} & \hyperlink{protocolthe-p}{the} XRL Target instance name of \hyperlink{protocolthe-p}{the} caller. The caller must implement redist4/0.1 and previously called redist\_\-enable4.\\
\hline
{\em unicast} & disable for unicast RIBs matching from and to.\\
\hline
{\em multicast} & disable for multicast RIBs matching from and to.\\
\hline
{\em cookie} & a text value passed back to creator in each call from \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. This allows creators to identity \hyperlink{protocolthe-p}{the} source of updates it receives through \hyperlink{protocolthe-p}{the} redist4/0.1 interface. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_a367d167b7f60893cf2172735dc4c6769}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_ae27d2d63fcd7fd63ab9f1528d05775d7}{
\index{XrlRibTarget@{XrlRibTarget}!rib\_\-0\_\-1\_\-redist\_\-enable4@{rib\_\-0\_\-1\_\-redist\_\-enable4}}
\index{rib\_\-0\_\-1\_\-redist\_\-enable4@{rib\_\-0\_\-1\_\-redist\_\-enable4}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{rib\_\-0\_\-1\_\-redist\_\-enable4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::rib\_\-0\_\-1\_\-redist\_\-enable4 (
\begin{DoxyParamCaption}
\item[{const string \&}]{to\_\-xrl\_\-target, }
\item[{const string \&}]{from\_\-protocol, }
\item[{const bool \&}]{unicast, }
\item[{const bool \&}]{multicast, }
\item[{const {\bf IPv4Net} \&}]{network\_\-prefix, }
\item[{const string \&}]{cookie}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_ae27d2d63fcd7fd63ab9f1528d05775d7}


Enable route redistribution from one routing protocol to another. 


\begin{DoxyParams}{Parameters}
{\em to\_\-xrl\_\-target} & \hyperlink{protocolthe-p}{the} XRL Target instance name of \hyperlink{protocolthe-p}{the} caller. The caller must implement redist4/0.1.\\
\hline
{\em from\_\-protocol} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} routing process routes are to be redistributed from.\\
\hline
{\em unicast} & enable for unicast RIBs matching from and to.\\
\hline
{\em multicast} & enable for multicast RIBs matching from and to.\\
\hline
{\em network\_\-prefix} & redistribite only \hyperlink{protocolthe-p}{the} routes that fall into this prefix address.\\
\hline
{\em cookie} & a text value passed back to creator in each call from \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. This allows creators to identity \hyperlink{protocolthe-p}{the} source of updates it receives through \hyperlink{protocolthe-p}{the} redist4/0.1 interface. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_a06ffb52a1495ec55f8d8d46561700e42}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_a6d3f74bb52001a584492aeb8d58c7de7}{
\index{XrlRibTarget@{XrlRibTarget}!rib\_\-0\_\-1\_\-redist\_\-transaction\_\-disable4@{rib\_\-0\_\-1\_\-redist\_\-transaction\_\-disable4}}
\index{rib\_\-0\_\-1\_\-redist\_\-transaction\_\-disable4@{rib\_\-0\_\-1\_\-redist\_\-transaction\_\-disable4}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{rib\_\-0\_\-1\_\-redist\_\-transaction\_\-disable4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::rib\_\-0\_\-1\_\-redist\_\-transaction\_\-disable4 (
\begin{DoxyParamCaption}
\item[{const string \&}]{to\_\-xrl\_\-target, }
\item[{const string \&}]{from\_\-protocol, }
\item[{const bool \&}]{unicast, }
\item[{const bool \&}]{multicast, }
\item[{const string \&}]{cookie}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_a6d3f74bb52001a584492aeb8d58c7de7}


Disable transaction-\/based route redistribution from one routing protocol to another. 


\begin{DoxyParams}{Parameters}
{\em to\_\-xrl\_\-target} & \hyperlink{protocolthe-p}{the} XRL Target instance name of \hyperlink{protocolthe-p}{the} caller. The caller must implement redist\_\-transaction4/0.1 and previously called redist\_\-transaction\_\-enable4.\\
\hline
{\em unicast} & disable for unicast RIBs matching from and to.\\
\hline
{\em multicast} & disable for multicast RIBs matching from and to.\\
\hline
{\em cookie} & a text value passed back to creator in each call from \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. This allows creators to identity \hyperlink{protocolthe-p}{the} source of updates it receives through \hyperlink{protocolthe-p}{the} redist\_\-transaction4/0.1 interface. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_af8cde6a88af085c50cf171df525ea838}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_a47ec920c86ab918c76721fdd46cf8ea3}{
\index{XrlRibTarget@{XrlRibTarget}!rib\_\-0\_\-1\_\-redist\_\-transaction\_\-enable4@{rib\_\-0\_\-1\_\-redist\_\-transaction\_\-enable4}}
\index{rib\_\-0\_\-1\_\-redist\_\-transaction\_\-enable4@{rib\_\-0\_\-1\_\-redist\_\-transaction\_\-enable4}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{rib\_\-0\_\-1\_\-redist\_\-transaction\_\-enable4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::rib\_\-0\_\-1\_\-redist\_\-transaction\_\-enable4 (
\begin{DoxyParamCaption}
\item[{const string \&}]{to\_\-xrl\_\-target, }
\item[{const string \&}]{from\_\-protocol, }
\item[{const bool \&}]{unicast, }
\item[{const bool \&}]{multicast, }
\item[{const {\bf IPv4Net} \&}]{network\_\-prefix, }
\item[{const string \&}]{cookie}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_a47ec920c86ab918c76721fdd46cf8ea3}


Enable transaction-\/based route redistribution from one routing protocol to another. 


\begin{DoxyParams}{Parameters}
{\em to\_\-xrl\_\-target} & \hyperlink{protocolthe-p}{the} XRL Target instance name of \hyperlink{protocolthe-p}{the} caller. The caller must implement redist\_\-transaction4/0.1.\\
\hline
{\em from\_\-protocol} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} routing process routes are to be redistributed from.\\
\hline
{\em unicast} & enable for unicast RIBs matching from and to.\\
\hline
{\em multicast} & enable for multicast RIBs matching from and to.\\
\hline
{\em network\_\-prefix} & redistribite only \hyperlink{protocolthe-p}{the} routes that fall into this prefix address.\\
\hline
{\em cookie} & a text value passed back to creator in each call from \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. This allows creators to identity \hyperlink{protocolthe-p}{the} source of updates it receives through \hyperlink{protocolthe-p}{the} redist\_\-transaction4/0.1 interface. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_ac00ea3f890c5e9ce509dd2bc5803d5f8}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_a6e9bdb7ad384a45f801ead670764fc5f}{
\index{XrlRibTarget@{XrlRibTarget}!rib\_\-0\_\-1\_\-register\_\-interest4@{rib\_\-0\_\-1\_\-register\_\-interest4}}
\index{rib\_\-0\_\-1\_\-register\_\-interest4@{rib\_\-0\_\-1\_\-register\_\-interest4}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{rib\_\-0\_\-1\_\-register\_\-interest4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::rib\_\-0\_\-1\_\-register\_\-interest4 (
\begin{DoxyParamCaption}
\item[{const string \&}]{target, }
\item[{const {\bf IPv4} \&}]{addr, }
\item[{bool \&}]{resolves, }
\item[{{\bf IPv4} \&}]{base\_\-addr, }
\item[{uint32\_\-t \&}]{prefix\_\-len, }
\item[{uint32\_\-t \&}]{real\_\-prefix\_\-len, }
\item[{{\bf IPv4} \&}]{nexthop, }
\item[{uint32\_\-t \&}]{metric}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_a6e9bdb7ad384a45f801ead670764fc5f}


Register an interest in a route. 


\begin{DoxyParams}{Parameters}
{\em target} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} XRL module to notify when \hyperlink{protocolthe-p}{the} information returned by this call becomes invalid.\\
\hline
{\em addr} & address of interest.\\
\hline
{\em resolves} & returns whether or not \hyperlink{protocolthe-p}{the} address resolves to a route that can be used for forwarding.\\
\hline
{\em base\_\-addr} & returns \hyperlink{protocolthe-p}{the} address of interest (actually \hyperlink{protocolthe-p}{the} base address of \hyperlink{protocolthe-p}{the} subnet covered by addr/prefix\_\-len).\\
\hline
{\em prefix\_\-len} & returns \hyperlink{protocolthe-p}{the} prefix length that \hyperlink{protocolthe-p}{the} registration covers. This response applies to all addresses in addr/prefix\_\-len.\\
\hline
{\em real\_\-prefix\_\-len} & returns \hyperlink{protocolthe-p}{the} actual prefix length of \hyperlink{protocolthe-p}{the} route that will be used to route addr. If real\_\-prefix\_\-len is not \hyperlink{protocolthe-p}{the} same as prefix\_\-len, this is because there are some more specific routes that overlap addr/real\_\-prefix\_\-len. real\_\-prefix\_\-len is primarily given for debugging reasons.\\
\hline
{\em nexthop} & returns \hyperlink{protocolthe-p}{the} address of \hyperlink{protocolthe-p}{the} next hop for packets sent to addr.\\
\hline
{\em metric} & returns \hyperlink{protocolthe-p}{the} IGP metric for this route. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_a0ee2c999ed710a629a0e3cdd74fb845c}{XrlRibTargetBase}.

\hypertarget{classXrlRibTarget_a7475bf3eb4fcf8538d3dda00d507d293}{
\index{XrlRibTarget@{XrlRibTarget}!rib\_\-0\_\-1\_\-set\_\-protocol\_\-admin\_\-distance@{rib\_\-0\_\-1\_\-set\_\-protocol\_\-admin\_\-distance}}
\index{rib\_\-0\_\-1\_\-set\_\-protocol\_\-admin\_\-distance@{rib\_\-0\_\-1\_\-set\_\-protocol\_\-admin\_\-distance}!XrlRibTarget@{XrlRibTarget}}
\subsubsection[{rib\_\-0\_\-1\_\-set\_\-protocol\_\-admin\_\-distance}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlRibTarget::rib\_\-0\_\-1\_\-set\_\-protocol\_\-admin\_\-distance (
\begin{DoxyParamCaption}
\item[{const string \&}]{protocol, }
\item[{const bool \&}]{ipv4, }
\item[{const bool \&}]{ipv6, }
\item[{const bool \&}]{unicast, }
\item[{const bool \&}]{multicast, }
\item[{const uint32\_\-t \&}]{admin\_\-distance}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlRibTarget_a7475bf3eb4fcf8538d3dda00d507d293}


Set \hyperlink{protocolthe-p}{the} configured admin distance for a routing protocol in one or many RIBs. 


\begin{DoxyParams}{Parameters}
{\em protocol} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} protocol. \\
\hline
{\em ipv4} & true if we should set it for \hyperlink{protocolthe-p}{the} ipv4 RIBs. \\
\hline
{\em ipv6} & true if we should set it for \hyperlink{protocolthe-p}{the} ipv6 RIBs. \\
\hline
{\em unicast} & true if we should set it for \hyperlink{protocolthe-p}{the} unicast RIBs. \\
\hline
{\em multicast} & true if we should set it for \hyperlink{protocolthe-p}{the} multicast RIBs. \\
\hline
{\em admin\_\-distance} & \hyperlink{protocolthe-p}{the} admin distance. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlRibTargetBase_a2490a1012c101f2b7bdff784a26580c2}{XrlRibTargetBase}.



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