\hypertarget{classXrlPimNode}{
\section{XrlPimNode Class Reference}
\label{classXrlPimNode}\index{XrlPimNode@{XrlPimNode}}
}
Inheritance diagram for XrlPimNode:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.438596cm]{classXrlPimNode}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classXrlPimNode_1_1AddDeleteDataflowMonitor}{AddDeleteDataflowMonitor}
\begin{DoxyCompactList}\small\item\em Class for handling \hyperlink{protocolthe-p}{the} task of add/delete dataflow monitor requests. \item\end{DoxyCompactList}\item 
class \hyperlink{classXrlPimNode_1_1AddDeleteMfc}{AddDeleteMfc}
\begin{DoxyCompactList}\small\item\em Class for handling \hyperlink{protocolthe-p}{the} task of add/delete MFC requests. \item\end{DoxyCompactList}\item 
class \hyperlink{classXrlPimNode_1_1JoinLeaveMulticastGroup}{JoinLeaveMulticastGroup}
\begin{DoxyCompactList}\small\item\em Class for handling \hyperlink{protocolthe-p}{the} task of join/leave multicast group requests. \item\end{DoxyCompactList}\item 
class \hyperlink{classXrlPimNode_1_1RegisterUnregisterInterest}{RegisterUnregisterInterest}
\begin{DoxyCompactList}\small\item\em Class for handling \hyperlink{protocolthe-p}{the} task to register/unregister interest in \hyperlink{protocolthe-p}{the} FEA or MFEA with \hyperlink{protocolthe-p}{the} \hyperlink{classFinder}{Finder}. \item\end{DoxyCompactList}\item 
class \hyperlink{classXrlPimNode_1_1RegisterUnregisterProtocol}{RegisterUnregisterProtocol}
\begin{DoxyCompactList}\small\item\em Class for handling \hyperlink{protocolthe-p}{the} task to register/unregister with \hyperlink{protocolthe-p}{the} MFEA as a protocol on an interface. \item\end{DoxyCompactList}\item 
class \hyperlink{classXrlPimNode_1_1RegisterUnregisterReceiver}{RegisterUnregisterReceiver}
\begin{DoxyCompactList}\small\item\em Class for handling \hyperlink{protocolthe-p}{the} task to register/unregister with \hyperlink{protocolthe-p}{the} FEA as a receiver on an interface. \item\end{DoxyCompactList}\item 
class \hyperlink{classXrlPimNode_1_1SendProtocolMessage}{SendProtocolMessage}
\begin{DoxyCompactList}\small\item\em Class for handling \hyperlink{protocolthe-p}{the} task of sending protocol messages. \item\end{DoxyCompactList}\item 
class \hyperlink{classXrlPimNode_1_1XrlTaskBase}{XrlTaskBase}
\begin{DoxyCompactList}\small\item\em A base class for handling tasks for sending XRL requests. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlPimNode_a1898df58033ec9236c6a958453e769c1}{
{\bfseries XrlPimNode} (int family, xorp\_\-module\_\-id module\_\-id, \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 \&mfea\_\-target, const string \&rib\_\-target, const string \&mld6igmp\_\-target)}
\label{classXrlPimNode_a1898df58033ec9236c6a958453e769c1}

\item 
virtual void \hyperlink{classXrlPimNode_a86ce40eb45af319442d5024ea1cb58eb}{destruct\_\-me} ()
\begin{DoxyCompactList}\small\item\em Does real destruction work. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlPimNode_a696892e4c742605af614926374837c76}{startup} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{classStartup}{Startup} \hyperlink{protocolthe-p}{the} node operation. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlPimNode_a444321b033afebcf71e9d2c604f4c753}{shutdown} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{classShutdown}{Shutdown} \hyperlink{protocolthe-p}{the} node operation. \item\end{DoxyCompactList}\item 
\hyperlink{classXrlRouter}{XrlRouter} \& \hyperlink{classXrlPimNode_af719f231642bedfa5036a81adc255a14}{xrl\_\-router} ()
\begin{DoxyCompactList}\small\item\em Get a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} instance. \item\end{DoxyCompactList}\item 
const \hyperlink{classXrlRouter}{XrlRouter} \& \hyperlink{classXrlPimNode_a34b0d7105069c60955a34e17cb8c5eb2}{xrl\_\-router} () const 
\begin{DoxyCompactList}\small\item\em Get a const reference to \hyperlink{protocolthe-p}{the} \hyperlink{classXrlRouter}{XrlRouter} instance. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a83b490d17037fe0f7ed78c98cae02590}{
int {\bfseries enable\_\-cli} ()}
\label{classXrlPimNode_a83b490d17037fe0f7ed78c98cae02590}

\item 
\hypertarget{classXrlPimNode_a5a018364c2ce33a50d38746e8935d8a0}{
int {\bfseries disable\_\-cli} ()}
\label{classXrlPimNode_a5a018364c2ce33a50d38746e8935d8a0}

\item 
\hypertarget{classXrlPimNode_a4287aeec1179b3e67ea72bc6461b1ad6}{
int {\bfseries start\_\-cli} ()}
\label{classXrlPimNode_a4287aeec1179b3e67ea72bc6461b1ad6}

\item 
\hypertarget{classXrlPimNode_a50d3004b78f621babef908c36952ce79}{
int {\bfseries stop\_\-cli} ()}
\label{classXrlPimNode_a50d3004b78f621babef908c36952ce79}

\item 
\hypertarget{classXrlPimNode_adbbbbcf4cc5aaf62d356bcb4a14a4cf5}{
int {\bfseries enable\_\-pim} ()}
\label{classXrlPimNode_adbbbbcf4cc5aaf62d356bcb4a14a4cf5}

\item 
\hypertarget{classXrlPimNode_ae7c29b9b4873d8b3561dfd6cf822a9df}{
int {\bfseries disable\_\-pim} ()}
\label{classXrlPimNode_ae7c29b9b4873d8b3561dfd6cf822a9df}

\item 
\hypertarget{classXrlPimNode_a77ff9f0b56cfe1a4287a40def55e8500}{
int {\bfseries start\_\-pim} ()}
\label{classXrlPimNode_a77ff9f0b56cfe1a4287a40def55e8500}

\item 
\hypertarget{classXrlPimNode_a5e438e5427eb6cb7914c7281df0dd444}{
int {\bfseries stop\_\-pim} ()}
\label{classXrlPimNode_a5e438e5427eb6cb7914c7281df0dd444}

\item 
\hypertarget{classXrlPimNode_aac5046398fddfea2ecdff156a9b1d788}{
int \hyperlink{classXrlPimNode_aac5046398fddfea2ecdff156a9b1d788}{enable\_\-bsr} ()}
\label{classXrlPimNode_aac5046398fddfea2ecdff156a9b1d788}

\begin{DoxyCompactList}\small\item\em Enable \hyperlink{protocolthe-p}{the} PIM Bootstrap mechanism. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a7997f4fb691a5548252ac8bf0614aa93}{
int \hyperlink{classXrlPimNode_a7997f4fb691a5548252ac8bf0614aa93}{disable\_\-bsr} ()}
\label{classXrlPimNode_a7997f4fb691a5548252ac8bf0614aa93}

\begin{DoxyCompactList}\small\item\em Disable \hyperlink{protocolthe-p}{the} PIM Bootstrap mechanism. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlPimNode_a447cb705b68643e8c7740751d86ebc24}{start\_\-bsr} ()
\begin{DoxyCompactList}\small\item\em Start \hyperlink{protocolthe-p}{the} Bootstrap mechanism. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlPimNode_aa1c25847bec3de5ab282a7c9f0e2b6e9}{stop\_\-bsr} ()
\begin{DoxyCompactList}\small\item\em Stop \hyperlink{protocolthe-p}{the} Bootstrap mechanism. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a812af6b9f6a145f9abc194151ff1a91a}{
void {\bfseries send\_\-register\_\-unregister\_\-interest} ()}
\label{classXrlPimNode_a812af6b9f6a145f9abc194151ff1a91a}

\item 
\hypertarget{classXrlPimNode_a7e53ec2056561abbbfae9aace5c6be8b}{
void {\bfseries send\_\-register\_\-unregister\_\-receiver} ()}
\label{classXrlPimNode_a7e53ec2056561abbbfae9aace5c6be8b}

\item 
\hypertarget{classXrlPimNode_abb14b53dbfbe037bf467f2cd80aa5c50}{
void {\bfseries send\_\-register\_\-unregister\_\-protocol} ()}
\label{classXrlPimNode_abb14b53dbfbe037bf467f2cd80aa5c50}

\item 
\hypertarget{classXrlPimNode_ae9430676cbf96734c33184c2d6d1c61b}{
void {\bfseries send\_\-join\_\-leave\_\-multicast\_\-group} ()}
\label{classXrlPimNode_ae9430676cbf96734c33184c2d6d1c61b}

\item 
\hypertarget{classXrlPimNode_a36d1fb90cff73b5ae39ab0fd2a4346df}{
void \hyperlink{classXrlPimNode_a36d1fb90cff73b5ae39ab0fd2a4346df}{send\_\-protocol\_\-message} ()}
\label{classXrlPimNode_a36d1fb90cff73b5ae39ab0fd2a4346df}

\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} a protocol message through \hyperlink{protocolthe-p}{the} FEA. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a673e0b68fe4a5f2df1e54f3f47a680d8}{
void {\bfseries send\_\-add\_\-delete\_\-mfc} ()}
\label{classXrlPimNode_a673e0b68fe4a5f2df1e54f3f47a680d8}

\item 
\hypertarget{classXrlPimNode_ad6bdf37c4cae5a176fb50da84814bd30}{
void {\bfseries send\_\-add\_\-delete\_\-dataflow\_\-monitor} ()}
\label{classXrlPimNode_ad6bdf37c4cae5a176fb50da84814bd30}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlPimNode_a5acb23a53f9d24bc59bbc4fd87800d12}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a5acb23a53f9d24bc59bbc4fd87800d12}{common\_\-0\_\-1\_\-get\_\-target\_\-name} (string \&name)}
\label{classXrlPimNode_a5acb23a53f9d24bc59bbc4fd87800d12}

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

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

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

\begin{DoxyCompactList}\small\item\em \hyperlink{classShutdown}{Shutdown} cleanly. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_aeaa10478367cd4d601ff79dc770dd002}{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{classXrlPimNode_a751788a516fb12fec743fb286562b14f}{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{classXrlPimNode_ad5e5b3537bd3a21acfab921b271e0ea9}{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{classXrlPimNode_aa937681162f76db61dbe6d2bb35dd75b}{cli\_\-processor\_\-0\_\-1\_\-process\_\-command} (const string \&processor\_\-name, const string \&cli\_\-term\_\-name, const uint32\_\-t \&cli\_\-session\_\-id, const string \&command\_\-name, const string \&command\_\-args, string \&ret\_\-processor\_\-name, string \&ret\_\-cli\_\-term\_\-name, uint32\_\-t \&ret\_\-cli\_\-session\_\-id, string \&ret\_\-command\_\-output)
\begin{DoxyCompactList}\small\item\em Process a CLI command. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a89f73fc797736bd4a759214b21d60792}{raw\_\-packet4\_\-client\_\-0\_\-1\_\-recv} (const string \&if\_\-name, const string \&vif\_\-name, const \hyperlink{classIPv4}{IPv4} \&src\_\-address, const \hyperlink{classIPv4}{IPv4} \&dst\_\-address, const uint32\_\-t \&ip\_\-protocol, const int32\_\-t \&ip\_\-ttl, const int32\_\-t \&ip\_\-tos, const bool \&ip\_\-router\_\-alert, const bool \&ip\_\-internet\_\-control, const vector$<$ uint8\_\-t $>$ \&payload)
\begin{DoxyCompactList}\small\item\em Receive an \hyperlink{classIPv4}{IPv4} packet from a raw socket. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_ae30b3293625bf456f60d73c85093c6d9}{mfea\_\-client\_\-0\_\-1\_\-recv\_\-kernel\_\-signal\_\-message4} (const string \&xrl\_\-sender\_\-name, const uint32\_\-t \&message\_\-type, const string \&vif\_\-name, const uint32\_\-t \&vif\_\-index, const \hyperlink{classIPv4}{IPv4} \&source\_\-address, const \hyperlink{classIPv4}{IPv4} \&dest\_\-address, const vector$<$ uint8\_\-t $>$ \&protocol\_\-message)
\begin{DoxyCompactList}\small\item\em Receive a kernel signal message from \hyperlink{protocolthe-p}{the} MFEA. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_addfd06d9377897060c3b27952ff325eb}{mfea\_\-client\_\-0\_\-1\_\-recv\_\-dataflow\_\-signal4} (const string \&xrl\_\-sender\_\-name, const \hyperlink{classIPv4}{IPv4} \&source\_\-address, const \hyperlink{classIPv4}{IPv4} \&group\_\-address, const uint32\_\-t \&threshold\_\-interval\_\-sec, const uint32\_\-t \&threshold\_\-interval\_\-usec, const uint32\_\-t \&measured\_\-interval\_\-sec, const uint32\_\-t \&measured\_\-interval\_\-usec, const uint32\_\-t \&threshold\_\-packets, const uint32\_\-t \&threshold\_\-bytes, const uint32\_\-t \&measured\_\-packets, const uint32\_\-t \&measured\_\-bytes, const bool \&is\_\-threshold\_\-in\_\-packets, const bool \&is\_\-threshold\_\-in\_\-bytes, const bool \&is\_\-geq\_\-upcall, const bool \&is\_\-leq\_\-upcall)
\begin{DoxyCompactList}\small\item\em A signal that a dataflow-\/related pre-\/condition is true. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a128fab575160cc0ea0ce0fa5bc7a881c}{redist\_\-transaction4\_\-0\_\-1\_\-start\_\-transaction} (uint32\_\-t \&tid)
\begin{DoxyCompactList}\small\item\em Start transaction. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a68479510e1d3d5e14ce60f8285d3916b}{redist\_\-transaction4\_\-0\_\-1\_\-commit\_\-transaction} (const uint32\_\-t \&tid)
\begin{DoxyCompactList}\small\item\em Commit transaction. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_abc9718be00d94c04859b40892076ef62}{redist\_\-transaction4\_\-0\_\-1\_\-abort\_\-transaction} (const uint32\_\-t \&tid)
\begin{DoxyCompactList}\small\item\em Abort transaction. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a814cd011e1d5ed2eb42b418059d8bd21}{redist\_\-transaction4\_\-0\_\-1\_\-add\_\-route} (const uint32\_\-t \&tid, const \hyperlink{classIPNet}{IPv4Net} \&dst, const \hyperlink{classIPv4}{IPv4} \&nexthop, const string \&ifname, const string \&vifname, const uint32\_\-t \&metric, const uint32\_\-t \&admin\_\-distance, const string \&cookie, const string \&protocol\_\-origin)
\begin{DoxyCompactList}\small\item\em Add/delete a routing entry. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a9df679f4c0cf4ede238ca5299ab3a1a2}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries redist\_\-transaction4\_\-0\_\-1\_\-delete\_\-route} (const uint32\_\-t \&tid, const \hyperlink{classIPNet}{IPv4Net} \&dst, const \hyperlink{classIPv4}{IPv4} \&nexthop, const string \&ifname, const string \&vifname, const uint32\_\-t \&metric, const uint32\_\-t \&admin\_\-distance, const string \&cookie, const string \&protocol\_\-origin)}
\label{classXrlPimNode_a9df679f4c0cf4ede238ca5299ab3a1a2}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a4f6702143ef06191a01a381eccb0cbb3}{redist\_\-transaction4\_\-0\_\-1\_\-delete\_\-all\_\-routes} (const uint32\_\-t \&tid, const string \&cookie)
\begin{DoxyCompactList}\small\item\em Delete all routing entries. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a7b83d885eb5d4fa7a043bd6c409e5836}{redist\_\-transaction6\_\-0\_\-1\_\-commit\_\-transaction} (const uint32\_\-t \&tid)
\begin{DoxyCompactList}\small\item\em Commit transaction. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_aeecec9e1be58e2c62fcfff911121b85a}{redist\_\-transaction6\_\-0\_\-1\_\-abort\_\-transaction} (const uint32\_\-t \&tid)
\begin{DoxyCompactList}\small\item\em Abort transaction. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a3529a6c4fe1d915a93438ab46142e1e1}{redist\_\-transaction6\_\-0\_\-1\_\-add\_\-route} (const uint32\_\-t \&tid, const \hyperlink{classIPNet}{IPv6Net} \&dst, const \hyperlink{classIPv6}{IPv6} \&nexthop, const string \&ifname, const string \&vifname, const uint32\_\-t \&metric, const uint32\_\-t \&admin\_\-distance, const string \&cookie, const string \&protocol\_\-origin)
\begin{DoxyCompactList}\small\item\em Add/delete a routing entry. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a3a84878c6e746cbb2d7a8c1625caee3b}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries redist\_\-transaction6\_\-0\_\-1\_\-delete\_\-route} (const uint32\_\-t \&tid, const \hyperlink{classIPNet}{IPv6Net} \&dst, const \hyperlink{classIPv6}{IPv6} \&nexthop, const string \&ifname, const string \&vifname, const uint32\_\-t \&metric, const uint32\_\-t \&admin\_\-distance, const string \&cookie, const string \&protocol\_\-origin)}
\label{classXrlPimNode_a3a84878c6e746cbb2d7a8c1625caee3b}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a98f4220e6412800b068028afbff171ba}{redist\_\-transaction6\_\-0\_\-1\_\-delete\_\-all\_\-routes} (const uint32\_\-t \&tid, const string \&cookie)
\begin{DoxyCompactList}\small\item\em Delete all routing entries. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_afe0b2e68a16fa36b5ed3d896b40850c7}{mld6igmp\_\-client\_\-0\_\-1\_\-add\_\-membership4} (const string \&xrl\_\-sender\_\-name, const string \&vif\_\-name, const uint32\_\-t \&vif\_\-index, const \hyperlink{classIPv4}{IPv4} \&source, const \hyperlink{classIPv4}{IPv4} \&group)
\begin{DoxyCompactList}\small\item\em Add/delete membership information. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a1c4b1d7004d8c9b415cd35916e391285}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries mld6igmp\_\-client\_\-0\_\-1\_\-add\_\-membership6} (const string \&xrl\_\-sender\_\-name, const string \&vif\_\-name, const uint32\_\-t \&vif\_\-index, const \hyperlink{classIPv6}{IPv6} \&source, const \hyperlink{classIPv6}{IPv6} \&group)}
\label{classXrlPimNode_a1c4b1d7004d8c9b415cd35916e391285}

\item 
\hypertarget{classXrlPimNode_a82a81ee2624b40eab1376a45607ef9d2}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries mld6igmp\_\-client\_\-0\_\-1\_\-delete\_\-membership4} (const string \&xrl\_\-sender\_\-name, const string \&vif\_\-name, const uint32\_\-t \&vif\_\-index, const \hyperlink{classIPv4}{IPv4} \&source, const \hyperlink{classIPv4}{IPv4} \&group)}
\label{classXrlPimNode_a82a81ee2624b40eab1376a45607ef9d2}

\item 
\hypertarget{classXrlPimNode_a6672793fdcf5126ce8787e354b6d466d}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries mld6igmp\_\-client\_\-0\_\-1\_\-delete\_\-membership6} (const string \&xrl\_\-sender\_\-name, const string \&vif\_\-name, const uint32\_\-t \&vif\_\-index, const \hyperlink{classIPv6}{IPv6} \&source, const \hyperlink{classIPv6}{IPv6} \&group)}
\label{classXrlPimNode_a6672793fdcf5126ce8787e354b6d466d}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a637e7f0ca2c803a01db6312150589216}{pim\_\-0\_\-1\_\-enable\_\-vif} (const string \&vif\_\-name, const bool \&enable)
\begin{DoxyCompactList}\small\item\em Enable/disable/start/stop a PIM vif interface. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a330d012324a418a8ce55822ce3ba7fce}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-start\_\-vif} (const string \&vif\_\-name)}
\label{classXrlPimNode_a330d012324a418a8ce55822ce3ba7fce}

\item 
\hypertarget{classXrlPimNode_af613eb5f0093dfb84a79ba9c4429f857}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-stop\_\-vif} (const string \&vif\_\-name)}
\label{classXrlPimNode_af613eb5f0093dfb84a79ba9c4429f857}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a7e59a71abc7eb9185e8512bd6dd241a9}{pim\_\-0\_\-1\_\-enable\_\-all\_\-vifs} (const bool \&enable)
\begin{DoxyCompactList}\small\item\em Enable/disable/start/stop all PIM vif interfaces. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a7244de177761c88e71a14d9ef5fb1fc3}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-disable\_\-all\_\-vifs} ()}
\label{classXrlPimNode_a7244de177761c88e71a14d9ef5fb1fc3}

\item 
\hypertarget{classXrlPimNode_ac72f387191ed2c01c90a6b9bbed5ffb1}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-start\_\-all\_\-vifs} ()}
\label{classXrlPimNode_ac72f387191ed2c01c90a6b9bbed5ffb1}

\item 
\hypertarget{classXrlPimNode_aaa4e3e1762e2d31a8536302ddde81b4a}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-stop\_\-all\_\-vifs} ()}
\label{classXrlPimNode_aaa4e3e1762e2d31a8536302ddde81b4a}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a642a77c2f899d7f8bd9ad3a20b5b0702}{pim\_\-0\_\-1\_\-enable\_\-pim} (const bool \&enable)
\begin{DoxyCompactList}\small\item\em Enable/disable/start/stop \hyperlink{protocolthe-p}{the} PIM protocol. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a650be30ebc20c74277b1cb2ce4eb5c68}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-start\_\-pim} ()}
\label{classXrlPimNode_a650be30ebc20c74277b1cb2ce4eb5c68}

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

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a0e75467159e39596b349a8c7cf43349e}{pim\_\-0\_\-1\_\-enable\_\-cli} (const bool \&enable)
\begin{DoxyCompactList}\small\item\em Enable/disable/start/stop \hyperlink{protocolthe-p}{the} PIM CLI access. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_aa362092a0eb6d7b998f1222e95395d44}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-start\_\-cli} ()}
\label{classXrlPimNode_aa362092a0eb6d7b998f1222e95395d44}

\item 
\hypertarget{classXrlPimNode_a1571e0406d9dbf03c99fe48c8279c0ed}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-stop\_\-cli} ()}
\label{classXrlPimNode_a1571e0406d9dbf03c99fe48c8279c0ed}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a55188e41367fa4566c83a7a69515bc97}{pim\_\-0\_\-1\_\-enable\_\-bsr} (const bool \&enable)
\begin{DoxyCompactList}\small\item\em Enable/disable/start/stop BSR. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a9644fc2080c60d42a466e74a55fcaf7e}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-start\_\-bsr} ()}
\label{classXrlPimNode_a9644fc2080c60d42a466e74a55fcaf7e}

\item 
\hypertarget{classXrlPimNode_a7abb520dd0be17a65f87174ec9769d48}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-stop\_\-bsr} ()}
\label{classXrlPimNode_a7abb520dd0be17a65f87174ec9769d48}

\item 
\hypertarget{classXrlPimNode_af86ee90fd0d6a78d7ef92c492c0e20b0}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_af86ee90fd0d6a78d7ef92c492c0e20b0}{pim\_\-0\_\-1\_\-apply\_\-bsr\_\-changes} ()}
\label{classXrlPimNode_af86ee90fd0d6a78d7ef92c492c0e20b0}

\begin{DoxyCompactList}\small\item\em Apply BSR configuration changes. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_aa82684697f7e94afa0a2ea27c156dd07}{pim\_\-0\_\-1\_\-add\_\-config\_\-scope\_\-zone\_\-by\_\-vif\_\-name4} (const \hyperlink{classIPNet}{IPv4Net} \&scope\_\-zone\_\-id, const string \&vif\_\-name)
\begin{DoxyCompactList}\small\item\em Add/delete scope zone. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_acfb7996e09eff1e7a35397af92b0830c}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-add\_\-config\_\-scope\_\-zone\_\-by\_\-vif\_\-name6} (const \hyperlink{classIPNet}{IPv6Net} \&scope\_\-zone\_\-id, const string \&vif\_\-name)}
\label{classXrlPimNode_acfb7996e09eff1e7a35397af92b0830c}

\item 
\hypertarget{classXrlPimNode_a6f593bce211ab80ebdd46b763d9762b7}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-add\_\-config\_\-scope\_\-zone\_\-by\_\-vif\_\-addr4} (const \hyperlink{classIPNet}{IPv4Net} \&scope\_\-zone\_\-id, const \hyperlink{classIPv4}{IPv4} \&vif\_\-addr)}
\label{classXrlPimNode_a6f593bce211ab80ebdd46b763d9762b7}

\item 
\hypertarget{classXrlPimNode_a8e48e62a5c524e2b2249849cd444d691}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-add\_\-config\_\-scope\_\-zone\_\-by\_\-vif\_\-addr6} (const \hyperlink{classIPNet}{IPv6Net} \&scope\_\-zone\_\-id, const \hyperlink{classIPv6}{IPv6} \&vif\_\-addr)}
\label{classXrlPimNode_a8e48e62a5c524e2b2249849cd444d691}

\item 
\hypertarget{classXrlPimNode_a1da5754524e2177071e64d44ce5bec01}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-delete\_\-config\_\-scope\_\-zone\_\-by\_\-vif\_\-name4} (const \hyperlink{classIPNet}{IPv4Net} \&scope\_\-zone\_\-id, const string \&vif\_\-name)}
\label{classXrlPimNode_a1da5754524e2177071e64d44ce5bec01}

\item 
\hypertarget{classXrlPimNode_ade5ac11a503c4f1ac3a9a901b0fbc136}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-delete\_\-config\_\-scope\_\-zone\_\-by\_\-vif\_\-name6} (const \hyperlink{classIPNet}{IPv6Net} \&scope\_\-zone\_\-id, const string \&vif\_\-name)}
\label{classXrlPimNode_ade5ac11a503c4f1ac3a9a901b0fbc136}

\item 
\hypertarget{classXrlPimNode_a40ba60d57903cf1d12d164dd4db1da78}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-delete\_\-config\_\-scope\_\-zone\_\-by\_\-vif\_\-addr4} (const \hyperlink{classIPNet}{IPv4Net} \&scope\_\-zone\_\-id, const \hyperlink{classIPv4}{IPv4} \&vif\_\-addr)}
\label{classXrlPimNode_a40ba60d57903cf1d12d164dd4db1da78}

\item 
\hypertarget{classXrlPimNode_a6ecf8b581d07dc1dfca702b47f7c9e88}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-delete\_\-config\_\-scope\_\-zone\_\-by\_\-vif\_\-addr6} (const \hyperlink{classIPNet}{IPv6Net} \&scope\_\-zone\_\-id, const \hyperlink{classIPv6}{IPv6} \&vif\_\-addr)}
\label{classXrlPimNode_a6ecf8b581d07dc1dfca702b47f7c9e88}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a9f384b4e87737431676286d0a7376918}{pim\_\-0\_\-1\_\-add\_\-config\_\-cand\_\-bsr4} (const \hyperlink{classIPNet}{IPv4Net} \&scope\_\-zone\_\-id, const bool \&is\_\-scope\_\-zone, const string \&vif\_\-name, const \hyperlink{classIPv4}{IPv4} \&vif\_\-addr, const uint32\_\-t \&bsr\_\-priority, const uint32\_\-t \&hash\_\-mask\_\-len)
\begin{DoxyCompactList}\small\item\em Add/delete candidate-\/BSR configuration. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a109487b6722841ddcb267f19201ef95e}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-add\_\-config\_\-cand\_\-bsr6} (const \hyperlink{classIPNet}{IPv6Net} \&scope\_\-zone\_\-id, const bool \&is\_\-scope\_\-zone, const string \&vif\_\-name, const \hyperlink{classIPv6}{IPv6} \&vif\_\-addr, const uint32\_\-t \&bsr\_\-priority, const uint32\_\-t \&hash\_\-mask\_\-len)}
\label{classXrlPimNode_a109487b6722841ddcb267f19201ef95e}

\item 
\hypertarget{classXrlPimNode_a782afe1957497a5348e7120a01e59295}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-delete\_\-config\_\-cand\_\-bsr4} (const \hyperlink{classIPNet}{IPv4Net} \&scope\_\-zone\_\-id, const bool \&is\_\-scope\_\-zone)}
\label{classXrlPimNode_a782afe1957497a5348e7120a01e59295}

\item 
\hypertarget{classXrlPimNode_a60217e0c1e9f92300f052de64093bb4f}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-delete\_\-config\_\-cand\_\-bsr6} (const \hyperlink{classIPNet}{IPv6Net} \&scope\_\-zone\_\-id, const bool \&is\_\-scope\_\-zone)}
\label{classXrlPimNode_a60217e0c1e9f92300f052de64093bb4f}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_ae4746efca303f61deb5f23dddeca2eaa}{pim\_\-0\_\-1\_\-add\_\-config\_\-cand\_\-rp4} (const \hyperlink{classIPNet}{IPv4Net} \&group\_\-prefix, const bool \&is\_\-scope\_\-zone, const string \&vif\_\-name, const \hyperlink{classIPv4}{IPv4} \&vif\_\-addr, const uint32\_\-t \&rp\_\-priority, const uint32\_\-t \&rp\_\-holdtime)
\begin{DoxyCompactList}\small\item\em Add/delete Candidate-\/RP configuration. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a8e24280876f2a06ac90883dd0bb9d016}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-add\_\-config\_\-cand\_\-rp6} (const \hyperlink{classIPNet}{IPv6Net} \&group\_\-prefix, const bool \&is\_\-scope\_\-zone, const string \&vif\_\-name, const \hyperlink{classIPv6}{IPv6} \&vif\_\-addr, const uint32\_\-t \&rp\_\-priority, const uint32\_\-t \&rp\_\-holdtime)}
\label{classXrlPimNode_a8e24280876f2a06ac90883dd0bb9d016}

\item 
\hypertarget{classXrlPimNode_ac2ba83afa280485d9651a6aaa42c986a}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-delete\_\-config\_\-cand\_\-rp4} (const \hyperlink{classIPNet}{IPv4Net} \&group\_\-prefix, const bool \&is\_\-scope\_\-zone, const string \&vif\_\-name, const \hyperlink{classIPv4}{IPv4} \&vif\_\-addr)}
\label{classXrlPimNode_ac2ba83afa280485d9651a6aaa42c986a}

\item 
\hypertarget{classXrlPimNode_a5396082b1b3c9dd08ecb041a66f6b906}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-delete\_\-config\_\-cand\_\-rp6} (const \hyperlink{classIPNet}{IPv6Net} \&group\_\-prefix, const bool \&is\_\-scope\_\-zone, const string \&vif\_\-name, const \hyperlink{classIPv6}{IPv6} \&vif\_\-addr)}
\label{classXrlPimNode_a5396082b1b3c9dd08ecb041a66f6b906}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a91efddac87fdad98682dcf8e97afdf66}{pim\_\-0\_\-1\_\-add\_\-config\_\-static\_\-rp4} (const \hyperlink{classIPNet}{IPv4Net} \&group\_\-prefix, const \hyperlink{classIPv4}{IPv4} \&rp\_\-addr, const uint32\_\-t \&rp\_\-priority, const uint32\_\-t \&hash\_\-mask\_\-len)
\begin{DoxyCompactList}\small\item\em Add/delete/complete static RP configuration. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a777d889ebabe6cf3e08520d4f121712c}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-add\_\-config\_\-static\_\-rp6} (const \hyperlink{classIPNet}{IPv6Net} \&group\_\-prefix, const \hyperlink{classIPv6}{IPv6} \&rp\_\-addr, const uint32\_\-t \&rp\_\-priority, const uint32\_\-t \&hash\_\-mask\_\-len)}
\label{classXrlPimNode_a777d889ebabe6cf3e08520d4f121712c}

\item 
\hypertarget{classXrlPimNode_a4453ca1d4746fbfde550b1a4fb628216}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-delete\_\-config\_\-static\_\-rp4} (const \hyperlink{classIPNet}{IPv4Net} \&group\_\-prefix, const \hyperlink{classIPv4}{IPv4} \&rp\_\-addr)}
\label{classXrlPimNode_a4453ca1d4746fbfde550b1a4fb628216}

\item 
\hypertarget{classXrlPimNode_a2cad2d5e6237db7f5aa2b70ce9030ef9}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-delete\_\-config\_\-static\_\-rp6} (const \hyperlink{classIPNet}{IPv6Net} \&group\_\-prefix, const \hyperlink{classIPv6}{IPv6} \&rp\_\-addr)}
\label{classXrlPimNode_a2cad2d5e6237db7f5aa2b70ce9030ef9}

\item 
\hypertarget{classXrlPimNode_a5687312e47171396057887288ee7b331}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-delete\_\-config\_\-all\_\-static\_\-group\_\-prefixes\_\-rp4} (const \hyperlink{classIPv4}{IPv4} \&rp\_\-addr)}
\label{classXrlPimNode_a5687312e47171396057887288ee7b331}

\item 
\hypertarget{classXrlPimNode_a568c7d9578e0a4c7ed7a48ce31797eda}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-delete\_\-config\_\-all\_\-static\_\-group\_\-prefixes\_\-rp6} (const \hyperlink{classIPv6}{IPv6} \&rp\_\-addr)}
\label{classXrlPimNode_a568c7d9578e0a4c7ed7a48ce31797eda}

\item 
\hypertarget{classXrlPimNode_a94a2abbe77b28f56949dfaeb6f271e95}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-delete\_\-config\_\-all\_\-static\_\-rps} ()}
\label{classXrlPimNode_a94a2abbe77b28f56949dfaeb6f271e95}

\item 
\hypertarget{classXrlPimNode_a9f3133fb2306d3b2d0ce208aaa186479}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-config\_\-static\_\-rp\_\-done} ()}
\label{classXrlPimNode_a9f3133fb2306d3b2d0ce208aaa186479}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_acc57822abae46f9a6a8bf3f7e1119bac}{pim\_\-0\_\-1\_\-get\_\-vif\_\-proto\_\-version} (const string \&vif\_\-name, uint32\_\-t \&proto\_\-version)
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} configured protocol version per interface. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_aa854bec81b8ff3748ed6d2b2464b5cfe}{pim\_\-0\_\-1\_\-set\_\-vif\_\-proto\_\-version} (const string \&vif\_\-name, const uint32\_\-t \&proto\_\-version)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} protocol version per interface. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a0d803a8f43d9d8e7199e4e0e76721e66}{pim\_\-0\_\-1\_\-reset\_\-vif\_\-proto\_\-version} (const string \&vif\_\-name)
\begin{DoxyCompactList}\small\item\em Reset \hyperlink{protocolthe-p}{the} protocol version per interface to its default value. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a7e043be8198305c7c841c8f2e99239c1}{pim\_\-0\_\-1\_\-get\_\-vif\_\-hello\_\-triggered\_\-delay} (const string \&vif\_\-name, uint32\_\-t \&hello\_\-triggered\_\-delay)
\begin{DoxyCompactList}\small\item\em Configure PIM Hello-\/related metrics. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_ae448553d0770ff4a973cad76c0fb95ef}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-set\_\-vif\_\-hello\_\-triggered\_\-delay} (const string \&vif\_\-name, const uint32\_\-t \&hello\_\-triggered\_\-delay)}
\label{classXrlPimNode_ae448553d0770ff4a973cad76c0fb95ef}

\item 
\hypertarget{classXrlPimNode_a35e0a94138f309fcb002f162bdb06b5a}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-reset\_\-vif\_\-hello\_\-triggered\_\-delay} (const string \&vif\_\-name)}
\label{classXrlPimNode_a35e0a94138f309fcb002f162bdb06b5a}

\item 
\hypertarget{classXrlPimNode_a551f7bfcb897ba2a9e924d9d4b9848a8}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-get\_\-vif\_\-hello\_\-period} (const string \&vif\_\-name, uint32\_\-t \&hello\_\-period)}
\label{classXrlPimNode_a551f7bfcb897ba2a9e924d9d4b9848a8}

\item 
\hypertarget{classXrlPimNode_aba4c139d9fd22c1deea4c1a044173e37}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-set\_\-vif\_\-hello\_\-period} (const string \&vif\_\-name, const uint32\_\-t \&hello\_\-period)}
\label{classXrlPimNode_aba4c139d9fd22c1deea4c1a044173e37}

\item 
\hypertarget{classXrlPimNode_a27dc3d1f8bf3b4dfd07b89c1ae9cbd2f}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-reset\_\-vif\_\-hello\_\-period} (const string \&vif\_\-name)}
\label{classXrlPimNode_a27dc3d1f8bf3b4dfd07b89c1ae9cbd2f}

\item 
\hypertarget{classXrlPimNode_a35dcb1b189d0a7f1381809d4be29c295}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-get\_\-vif\_\-hello\_\-holdtime} (const string \&vif\_\-name, uint32\_\-t \&hello\_\-holdtime)}
\label{classXrlPimNode_a35dcb1b189d0a7f1381809d4be29c295}

\item 
\hypertarget{classXrlPimNode_a91138ca9aae19c01def4a33b3876985f}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-set\_\-vif\_\-hello\_\-holdtime} (const string \&vif\_\-name, const uint32\_\-t \&hello\_\-holdtime)}
\label{classXrlPimNode_a91138ca9aae19c01def4a33b3876985f}

\item 
\hypertarget{classXrlPimNode_a2316d387dfeb4df976d7104a031a6343}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-reset\_\-vif\_\-hello\_\-holdtime} (const string \&vif\_\-name)}
\label{classXrlPimNode_a2316d387dfeb4df976d7104a031a6343}

\item 
\hypertarget{classXrlPimNode_a300bd953bc43d89f4347adc53d103e4a}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-get\_\-vif\_\-dr\_\-priority} (const string \&vif\_\-name, uint32\_\-t \&dr\_\-priority)}
\label{classXrlPimNode_a300bd953bc43d89f4347adc53d103e4a}

\item 
\hypertarget{classXrlPimNode_a958142825c9ce9953cf0665567d78985}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-set\_\-vif\_\-dr\_\-priority} (const string \&vif\_\-name, const uint32\_\-t \&dr\_\-priority)}
\label{classXrlPimNode_a958142825c9ce9953cf0665567d78985}

\item 
\hypertarget{classXrlPimNode_a455019049b62e9d82bf1f2275c23d6e4}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-reset\_\-vif\_\-dr\_\-priority} (const string \&vif\_\-name)}
\label{classXrlPimNode_a455019049b62e9d82bf1f2275c23d6e4}

\item 
\hypertarget{classXrlPimNode_ae254a380b249bd32f2aac1961e8530d7}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-get\_\-vif\_\-propagation\_\-delay} (const string \&vif\_\-name, uint32\_\-t \&propagation\_\-delay)}
\label{classXrlPimNode_ae254a380b249bd32f2aac1961e8530d7}

\item 
\hypertarget{classXrlPimNode_a804ba4020c8b66d60f63d83febb0c57d}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-set\_\-vif\_\-propagation\_\-delay} (const string \&vif\_\-name, const uint32\_\-t \&propagation\_\-delay)}
\label{classXrlPimNode_a804ba4020c8b66d60f63d83febb0c57d}

\item 
\hypertarget{classXrlPimNode_a0c160499aedcc09a9f8178aae7a032e3}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-reset\_\-vif\_\-propagation\_\-delay} (const string \&vif\_\-name)}
\label{classXrlPimNode_a0c160499aedcc09a9f8178aae7a032e3}

\item 
\hypertarget{classXrlPimNode_a72485d66a0608cc15c3f448ada61a002}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-get\_\-vif\_\-override\_\-interval} (const string \&vif\_\-name, uint32\_\-t \&override\_\-interval)}
\label{classXrlPimNode_a72485d66a0608cc15c3f448ada61a002}

\item 
\hypertarget{classXrlPimNode_a3a54c8efd06081747de53bd38e2964da}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-set\_\-vif\_\-override\_\-interval} (const string \&vif\_\-name, const uint32\_\-t \&override\_\-interval)}
\label{classXrlPimNode_a3a54c8efd06081747de53bd38e2964da}

\item 
\hypertarget{classXrlPimNode_a8b5caf4f8738617cdb47376f748fa0d7}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-reset\_\-vif\_\-override\_\-interval} (const string \&vif\_\-name)}
\label{classXrlPimNode_a8b5caf4f8738617cdb47376f748fa0d7}

\item 
\hypertarget{classXrlPimNode_a8c731da3d4ec2a06685205c1a85ec940}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-get\_\-vif\_\-is\_\-tracking\_\-support\_\-disabled} (const string \&vif\_\-name, bool \&is\_\-tracking\_\-support\_\-disabled)}
\label{classXrlPimNode_a8c731da3d4ec2a06685205c1a85ec940}

\item 
\hypertarget{classXrlPimNode_a0783ba7699fb4bce6cd696e0e4861de6}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-set\_\-vif\_\-is\_\-tracking\_\-support\_\-disabled} (const string \&vif\_\-name, const bool \&is\_\-tracking\_\-support\_\-disabled)}
\label{classXrlPimNode_a0783ba7699fb4bce6cd696e0e4861de6}

\item 
\hypertarget{classXrlPimNode_a5bdf844b332a9dc182092125c5f219ae}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-reset\_\-vif\_\-is\_\-tracking\_\-support\_\-disabled} (const string \&vif\_\-name)}
\label{classXrlPimNode_a5bdf844b332a9dc182092125c5f219ae}

\item 
\hypertarget{classXrlPimNode_aeeffeea9d0961aa3f0aaedc9c0cb0379}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-get\_\-vif\_\-accept\_\-nohello\_\-neighbors} (const string \&vif\_\-name, bool \&accept\_\-nohello\_\-neighbors)}
\label{classXrlPimNode_aeeffeea9d0961aa3f0aaedc9c0cb0379}

\item 
\hypertarget{classXrlPimNode_a6d015eba68cb72cd40724683fc9914a0}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-set\_\-vif\_\-accept\_\-nohello\_\-neighbors} (const string \&vif\_\-name, const bool \&accept\_\-nohello\_\-neighbors)}
\label{classXrlPimNode_a6d015eba68cb72cd40724683fc9914a0}

\item 
\hypertarget{classXrlPimNode_a89f77e59868069daff931caa2583268d}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-reset\_\-vif\_\-accept\_\-nohello\_\-neighbors} (const string \&vif\_\-name)}
\label{classXrlPimNode_a89f77e59868069daff931caa2583268d}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_ab6a331027c161806965956f11655ffec}{pim\_\-0\_\-1\_\-get\_\-vif\_\-join\_\-prune\_\-period} (const string \&vif\_\-name, uint32\_\-t \&join\_\-prune\_\-period)
\begin{DoxyCompactList}\small\item\em Configure PIM Join/Prune-\/related metrics. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a5caca5934ec4c288f1e383ff552ccc93}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-set\_\-vif\_\-join\_\-prune\_\-period} (const string \&vif\_\-name, const uint32\_\-t \&join\_\-prune\_\-period)}
\label{classXrlPimNode_a5caca5934ec4c288f1e383ff552ccc93}

\item 
\hypertarget{classXrlPimNode_a99a0e05f3996c1689c8b1175168ad433}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-reset\_\-vif\_\-join\_\-prune\_\-period} (const string \&vif\_\-name)}
\label{classXrlPimNode_a99a0e05f3996c1689c8b1175168ad433}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a005c7e22518b175a12dae949ae9f5475}{pim\_\-0\_\-1\_\-get\_\-switch\_\-to\_\-spt\_\-threshold} (bool \&is\_\-enabled, uint32\_\-t \&interval\_\-sec, uint32\_\-t \&bytes)
\begin{DoxyCompactList}\small\item\em Configure SPT-\/switch threshold. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a695e8892d99216c47fd2e943795d6b63}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-set\_\-switch\_\-to\_\-spt\_\-threshold} (const bool \&is\_\-enabled, const uint32\_\-t \&interval\_\-sec, const uint32\_\-t \&bytes)}
\label{classXrlPimNode_a695e8892d99216c47fd2e943795d6b63}

\item 
\hypertarget{classXrlPimNode_a25a4738efcc607ec1e6d8e7f09d8bc31}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-reset\_\-switch\_\-to\_\-spt\_\-threshold} ()}
\label{classXrlPimNode_a25a4738efcc607ec1e6d8e7f09d8bc31}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a9fba25357f75aac406434972978fe316}{pim\_\-0\_\-1\_\-add\_\-alternative\_\-subnet4} (const string \&vif\_\-name, const \hyperlink{classIPNet}{IPv4Net} \&subnet)
\begin{DoxyCompactList}\small\item\em Add or delete an alternative subnet on a PIM vif. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_afb59c9a36f516285ff821a55e8c04683}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-add\_\-alternative\_\-subnet6} (const string \&vif\_\-name, const \hyperlink{classIPNet}{IPv6Net} \&subnet)}
\label{classXrlPimNode_afb59c9a36f516285ff821a55e8c04683}

\item 
\hypertarget{classXrlPimNode_a56f5275c6066e8858ccae5dec0be9e8f}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-delete\_\-alternative\_\-subnet4} (const string \&vif\_\-name, const \hyperlink{classIPNet}{IPv4Net} \&subnet)}
\label{classXrlPimNode_a56f5275c6066e8858ccae5dec0be9e8f}

\item 
\hypertarget{classXrlPimNode_ac2fd3716e30833893214dbf014950d20}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-delete\_\-alternative\_\-subnet6} (const string \&vif\_\-name, const \hyperlink{classIPNet}{IPv6Net} \&subnet)}
\label{classXrlPimNode_ac2fd3716e30833893214dbf014950d20}

\item 
\hypertarget{classXrlPimNode_a3dd3cf2b60c21bccd54d692a0d4fd631}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-remove\_\-all\_\-alternative\_\-subnets} (const string \&vif\_\-name)}
\label{classXrlPimNode_a3dd3cf2b60c21bccd54d692a0d4fd631}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a3d2a401652407487f17b5b02b835f681}{pim\_\-0\_\-1\_\-log\_\-trace\_\-all} (const bool \&enable)
\begin{DoxyCompactList}\small\item\em Enable/disable \hyperlink{protocolthe-p}{the} PIM trace log for all operations. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a16f6f78e40bb973ed7c9a38fd0a153cc}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a16f6f78e40bb973ed7c9a38fd0a153cc}{pim\_\-0\_\-1\_\-add\_\-test\_\-jp\_\-entry4} (const \hyperlink{classIPv4}{IPv4} \&source\_\-addr, const \hyperlink{classIPv4}{IPv4} \&group\_\-addr, const uint32\_\-t \&group\_\-mask\_\-len, const string \&mrt\_\-entry\_\-type, const string \&action\_\-jp, const uint32\_\-t \&holdtime, const bool \&is\_\-new\_\-group)}
\label{classXrlPimNode_a16f6f78e40bb973ed7c9a38fd0a153cc}

\begin{DoxyCompactList}\small\item\em Test-\/related methods: add Join/Prune entries, and send them to a neighbor. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a87d158e3da6db30046d3f9c9faeeddd0}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-add\_\-test\_\-jp\_\-entry6} (const \hyperlink{classIPv6}{IPv6} \&source\_\-addr, const \hyperlink{classIPv6}{IPv6} \&group\_\-addr, const uint32\_\-t \&group\_\-mask\_\-len, const string \&mrt\_\-entry\_\-type, const string \&action\_\-jp, const uint32\_\-t \&holdtime, const bool \&is\_\-new\_\-group)}
\label{classXrlPimNode_a87d158e3da6db30046d3f9c9faeeddd0}

\item 
\hypertarget{classXrlPimNode_aa1d54c9c4c0318ac65ca78658ca94341}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-send\_\-test\_\-jp\_\-entry4} (const string \&vif\_\-name, const \hyperlink{classIPv4}{IPv4} \&nbr\_\-addr)}
\label{classXrlPimNode_aa1d54c9c4c0318ac65ca78658ca94341}

\item 
\hypertarget{classXrlPimNode_ac8b3efa3e32f9db6a619e2051d6bda5e}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-send\_\-test\_\-jp\_\-entry6} (const string \&vif\_\-name, const \hyperlink{classIPv6}{IPv6} \&nbr\_\-addr)}
\label{classXrlPimNode_ac8b3efa3e32f9db6a619e2051d6bda5e}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a7869311093ee3607d86105feb0d1add0}{pim\_\-0\_\-1\_\-send\_\-test\_\-assert4} (const string \&vif\_\-name, const \hyperlink{classIPv4}{IPv4} \&source\_\-addr, const \hyperlink{classIPv4}{IPv4} \&group\_\-addr, const bool \&rpt\_\-bit, const uint32\_\-t \&metric\_\-preference, const uint32\_\-t \&metric)
\begin{DoxyCompactList}\small\item\em Test-\/related methods: send an Assert message on an interface. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_aa124f2a284374d5197d43e6e96d37922}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-send\_\-test\_\-assert6} (const string \&vif\_\-name, const \hyperlink{classIPv6}{IPv6} \&source\_\-addr, const \hyperlink{classIPv6}{IPv6} \&group\_\-addr, const bool \&rpt\_\-bit, const uint32\_\-t \&metric\_\-preference, const uint32\_\-t \&metric)}
\label{classXrlPimNode_aa124f2a284374d5197d43e6e96d37922}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a04c28adbefc347ce492e0ab7d2f6a8c2}{pim\_\-0\_\-1\_\-add\_\-test\_\-bsr\_\-zone4} (const \hyperlink{classIPNet}{IPv4Net} \&zone\_\-id\_\-scope\_\-zone\_\-prefix, const bool \&zone\_\-id\_\-is\_\-scope\_\-zone, const \hyperlink{classIPv4}{IPv4} \&bsr\_\-addr, const uint32\_\-t \&bsr\_\-priority, const uint32\_\-t \&hash\_\-mask\_\-len, const uint32\_\-t \&fragment\_\-tag)
\begin{DoxyCompactList}\small\item\em Test-\/related methods: send Bootstrap and Cand-\/RP-\/Adv messages. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a30cbcc6ad7db445fa46b21d41c37cf86}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-add\_\-test\_\-bsr\_\-zone6} (const \hyperlink{classIPNet}{IPv6Net} \&zone\_\-id\_\-scope\_\-zone\_\-prefix, const bool \&zone\_\-id\_\-is\_\-scope\_\-zone, const \hyperlink{classIPv6}{IPv6} \&bsr\_\-addr, const uint32\_\-t \&bsr\_\-priority, const uint32\_\-t \&hash\_\-mask\_\-len, const uint32\_\-t \&fragment\_\-tag)}
\label{classXrlPimNode_a30cbcc6ad7db445fa46b21d41c37cf86}

\item 
\hypertarget{classXrlPimNode_a08666e40cc617bab33dc0db460af2cf6}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-add\_\-test\_\-bsr\_\-group\_\-prefix4} (const \hyperlink{classIPNet}{IPv4Net} \&zone\_\-id\_\-scope\_\-zone\_\-prefix, const bool \&zone\_\-id\_\-is\_\-scope\_\-zone, const \hyperlink{classIPNet}{IPv4Net} \&group\_\-prefix, const bool \&is\_\-scope\_\-zone, const uint32\_\-t \&expected\_\-rp\_\-count)}
\label{classXrlPimNode_a08666e40cc617bab33dc0db460af2cf6}

\item 
\hypertarget{classXrlPimNode_a62447f574a39ee4feeb10cf569ce498f}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-add\_\-test\_\-bsr\_\-group\_\-prefix6} (const \hyperlink{classIPNet}{IPv6Net} \&zone\_\-id\_\-scope\_\-zone\_\-prefix, const bool \&zone\_\-id\_\-is\_\-scope\_\-zone, const \hyperlink{classIPNet}{IPv6Net} \&group\_\-prefix, const bool \&is\_\-scope\_\-zone, const uint32\_\-t \&expected\_\-rp\_\-count)}
\label{classXrlPimNode_a62447f574a39ee4feeb10cf569ce498f}

\item 
\hypertarget{classXrlPimNode_a18dc3a5afaa0cf30f5e50a09d293f93d}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-add\_\-test\_\-bsr\_\-rp4} (const \hyperlink{classIPNet}{IPv4Net} \&zone\_\-id\_\-scope\_\-zone\_\-prefix, const bool \&zone\_\-id\_\-is\_\-scope\_\-zone, const \hyperlink{classIPNet}{IPv4Net} \&group\_\-prefix, const \hyperlink{classIPv4}{IPv4} \&rp\_\-addr, const uint32\_\-t \&rp\_\-priority, const uint32\_\-t \&rp\_\-holdtime)}
\label{classXrlPimNode_a18dc3a5afaa0cf30f5e50a09d293f93d}

\item 
\hypertarget{classXrlPimNode_afcd935a06ad5bf73fa275bda4e7115f2}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-add\_\-test\_\-bsr\_\-rp6} (const \hyperlink{classIPNet}{IPv6Net} \&zone\_\-id\_\-scope\_\-zone\_\-prefix, const bool \&zone\_\-id\_\-is\_\-scope\_\-zone, const \hyperlink{classIPNet}{IPv6Net} \&group\_\-prefix, const \hyperlink{classIPv6}{IPv6} \&rp\_\-addr, const uint32\_\-t \&rp\_\-priority, const uint32\_\-t \&rp\_\-holdtime)}
\label{classXrlPimNode_afcd935a06ad5bf73fa275bda4e7115f2}

\item 
\hypertarget{classXrlPimNode_a23bc0cb5edc24b45d627fd56b818307f}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-send\_\-test\_\-bootstrap} (const string \&vif\_\-name)}
\label{classXrlPimNode_a23bc0cb5edc24b45d627fd56b818307f}

\item 
\hypertarget{classXrlPimNode_a5cd318e2cb707356b4189bf6243899d8}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-send\_\-test\_\-bootstrap\_\-by\_\-dest4} (const string \&vif\_\-name, const \hyperlink{classIPv4}{IPv4} \&dest\_\-addr)}
\label{classXrlPimNode_a5cd318e2cb707356b4189bf6243899d8}

\item 
\hypertarget{classXrlPimNode_a69fee8354186538cbc74d6f1f013469b}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-send\_\-test\_\-bootstrap\_\-by\_\-dest6} (const string \&vif\_\-name, const \hyperlink{classIPv6}{IPv6} \&dest\_\-addr)}
\label{classXrlPimNode_a69fee8354186538cbc74d6f1f013469b}

\item 
\hypertarget{classXrlPimNode_ae2038b517062068f4dd189267a76d6e7}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-send\_\-test\_\-cand\_\-rp\_\-adv} ()}
\label{classXrlPimNode_ae2038b517062068f4dd189267a76d6e7}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a13e88e8d4495efd7c936eb27afc64f25}{pim\_\-0\_\-1\_\-pimstat\_\-neighbors4} (uint32\_\-t \&nbrs\_\-number, \hyperlink{classXrlAtomList}{XrlAtomList} \&vifs, \hyperlink{classXrlAtomList}{XrlAtomList} \&addresses, \hyperlink{classXrlAtomList}{XrlAtomList} \&pim\_\-versions, \hyperlink{classXrlAtomList}{XrlAtomList} \&dr\_\-priorities, \hyperlink{classXrlAtomList}{XrlAtomList} \&holdtimes, \hyperlink{classXrlAtomList}{XrlAtomList} \&timeouts, \hyperlink{classXrlAtomList}{XrlAtomList} \&uptimes)
\begin{DoxyCompactList}\small\item\em Retrieve information about all PIM neighbors. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_ad1ece36662d17b800457f6f784363077}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-neighbors6} (uint32\_\-t \&nbrs\_\-number, \hyperlink{classXrlAtomList}{XrlAtomList} \&vifs, \hyperlink{classXrlAtomList}{XrlAtomList} \&addresses, \hyperlink{classXrlAtomList}{XrlAtomList} \&pim\_\-versions, \hyperlink{classXrlAtomList}{XrlAtomList} \&dr\_\-priorities, \hyperlink{classXrlAtomList}{XrlAtomList} \&holdtimes, \hyperlink{classXrlAtomList}{XrlAtomList} \&timeouts, \hyperlink{classXrlAtomList}{XrlAtomList} \&uptimes)}
\label{classXrlPimNode_ad1ece36662d17b800457f6f784363077}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_ae684e45f4e8b72e0cfbf5130bbfcfad9}{pim\_\-0\_\-1\_\-pimstat\_\-interface4} (const string \&vif\_\-name, uint32\_\-t \&pim\_\-version, bool \&is\_\-dr, uint32\_\-t \&dr\_\-priority, \hyperlink{classIPv4}{IPv4} \&dr\_\-address, uint32\_\-t \&pim\_\-nbrs\_\-number)
\begin{DoxyCompactList}\small\item\em Retrieve information about PIM interfaces. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a42d9629ebf517202b87725d197bad6c9}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-interface6} (const string \&vif\_\-name, uint32\_\-t \&pim\_\-version, bool \&is\_\-dr, uint32\_\-t \&dr\_\-priority, \hyperlink{classIPv6}{IPv6} \&dr\_\-address, uint32\_\-t \&pim\_\-nbrs\_\-number)}
\label{classXrlPimNode_a42d9629ebf517202b87725d197bad6c9}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a328e7e57b67064e155de7ae67e95588e}{pim\_\-0\_\-1\_\-pimstat\_\-rps4} (uint32\_\-t \&rps\_\-number, \hyperlink{classXrlAtomList}{XrlAtomList} \&addresses, \hyperlink{classXrlAtomList}{XrlAtomList} \&types, \hyperlink{classXrlAtomList}{XrlAtomList} \&priorities, \hyperlink{classXrlAtomList}{XrlAtomList} \&holdtimes, \hyperlink{classXrlAtomList}{XrlAtomList} \&timeouts, \hyperlink{classXrlAtomList}{XrlAtomList} \&group\_\-prefixes)
\begin{DoxyCompactList}\small\item\em Retrieve information about \hyperlink{protocolthe-p}{the} RP-\/Set. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_ad4fd8a70d60c96c582d28b1e5216372d}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rps6} (uint32\_\-t \&rps\_\-number, \hyperlink{classXrlAtomList}{XrlAtomList} \&addresses, \hyperlink{classXrlAtomList}{XrlAtomList} \&types, \hyperlink{classXrlAtomList}{XrlAtomList} \&priorities, \hyperlink{classXrlAtomList}{XrlAtomList} \&holdtimes, \hyperlink{classXrlAtomList}{XrlAtomList} \&timeouts, \hyperlink{classXrlAtomList}{XrlAtomList} \&group\_\-prefixes)}
\label{classXrlPimNode_ad4fd8a70d60c96c582d28b1e5216372d}

\item 
\hypertarget{classXrlPimNode_ae6507ee20d09ec7404e5d553f02f9bc9}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_ae6507ee20d09ec7404e5d553f02f9bc9}{pim\_\-0\_\-1\_\-clear\_\-pim\_\-statistics} ()}
\label{classXrlPimNode_ae6507ee20d09ec7404e5d553f02f9bc9}

\begin{DoxyCompactList}\small\item\em Clear all statistics. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_ae5c69936285d6cc70f03cf1fa444eb30}{pim\_\-0\_\-1\_\-clear\_\-pim\_\-statistics\_\-per\_\-vif} (const string \&vif\_\-name)
\begin{DoxyCompactList}\small\item\em Clear all statistics on a specific interface. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a048d35d9f46f367669fb08da0efe3e23}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlPimNode_a048d35d9f46f367669fb08da0efe3e23}{pim\_\-0\_\-1\_\-pimstat\_\-hello\_\-messages\_\-received} (uint32\_\-t \&value)}
\label{classXrlPimNode_a048d35d9f46f367669fb08da0efe3e23}

\begin{DoxyCompactList}\small\item\em Statistics-\/related counters and values. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a3957f5d950e2ab6851bf7b27ab29d354}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-hello\_\-messages\_\-sent} (uint32\_\-t \&value)}
\label{classXrlPimNode_a3957f5d950e2ab6851bf7b27ab29d354}

\item 
\hypertarget{classXrlPimNode_ab2253ed8e0d93d6f89618c52bb85746d}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-hello\_\-messages\_\-rx\_\-errors} (uint32\_\-t \&value)}
\label{classXrlPimNode_ab2253ed8e0d93d6f89618c52bb85746d}

\item 
\hypertarget{classXrlPimNode_a48f173889b9f758e2e352f1c2dc277fe}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-register\_\-messages\_\-received} (uint32\_\-t \&value)}
\label{classXrlPimNode_a48f173889b9f758e2e352f1c2dc277fe}

\item 
\hypertarget{classXrlPimNode_adfe2a385186be234c3a4a7343114a390}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-register\_\-messages\_\-sent} (uint32\_\-t \&value)}
\label{classXrlPimNode_adfe2a385186be234c3a4a7343114a390}

\item 
\hypertarget{classXrlPimNode_a0afc27d2aac85248dbcf0f0b81650a07}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-register\_\-messages\_\-rx\_\-errors} (uint32\_\-t \&value)}
\label{classXrlPimNode_a0afc27d2aac85248dbcf0f0b81650a07}

\item 
\hypertarget{classXrlPimNode_ac07e8eee33e958bb2ce9f2dff0082847}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-register\_\-stop\_\-messages\_\-received} (uint32\_\-t \&value)}
\label{classXrlPimNode_ac07e8eee33e958bb2ce9f2dff0082847}

\item 
\hypertarget{classXrlPimNode_a78fd8d732ad41bb19d222d7b27e240b7}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-register\_\-stop\_\-messages\_\-sent} (uint32\_\-t \&value)}
\label{classXrlPimNode_a78fd8d732ad41bb19d222d7b27e240b7}

\item 
\hypertarget{classXrlPimNode_a5c5fb4544809e92dfe09e35cb69b2132}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-register\_\-stop\_\-messages\_\-rx\_\-errors} (uint32\_\-t \&value)}
\label{classXrlPimNode_a5c5fb4544809e92dfe09e35cb69b2132}

\item 
\hypertarget{classXrlPimNode_a7797da3441900355dacc895b70e005b9}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-join\_\-prune\_\-messages\_\-received} (uint32\_\-t \&value)}
\label{classXrlPimNode_a7797da3441900355dacc895b70e005b9}

\item 
\hypertarget{classXrlPimNode_acb33866cd8e6ddc15020e7b24edd1ac6}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-join\_\-prune\_\-messages\_\-sent} (uint32\_\-t \&value)}
\label{classXrlPimNode_acb33866cd8e6ddc15020e7b24edd1ac6}

\item 
\hypertarget{classXrlPimNode_a9190de3a3d2cc6ec73e0a48e97f75632}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-join\_\-prune\_\-messages\_\-rx\_\-errors} (uint32\_\-t \&value)}
\label{classXrlPimNode_a9190de3a3d2cc6ec73e0a48e97f75632}

\item 
\hypertarget{classXrlPimNode_afd5b0b25cc98ad868e835a86f582be57}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-bootstrap\_\-messages\_\-received} (uint32\_\-t \&value)}
\label{classXrlPimNode_afd5b0b25cc98ad868e835a86f582be57}

\item 
\hypertarget{classXrlPimNode_a87dd9068599d715731d49c8db1ae0ce4}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-bootstrap\_\-messages\_\-sent} (uint32\_\-t \&value)}
\label{classXrlPimNode_a87dd9068599d715731d49c8db1ae0ce4}

\item 
\hypertarget{classXrlPimNode_aa22951fff38c48b66fa7cd9a070da0ae}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-bootstrap\_\-messages\_\-rx\_\-errors} (uint32\_\-t \&value)}
\label{classXrlPimNode_aa22951fff38c48b66fa7cd9a070da0ae}

\item 
\hypertarget{classXrlPimNode_a88a9c55486fb5e3b75a24237e672efe0}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-assert\_\-messages\_\-received} (uint32\_\-t \&value)}
\label{classXrlPimNode_a88a9c55486fb5e3b75a24237e672efe0}

\item 
\hypertarget{classXrlPimNode_ae1105cde69f158eef1e9e0c102fde265}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-assert\_\-messages\_\-sent} (uint32\_\-t \&value)}
\label{classXrlPimNode_ae1105cde69f158eef1e9e0c102fde265}

\item 
\hypertarget{classXrlPimNode_af3fa272c56f24e9babbb1bd96fb8e99f}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-assert\_\-messages\_\-rx\_\-errors} (uint32\_\-t \&value)}
\label{classXrlPimNode_af3fa272c56f24e9babbb1bd96fb8e99f}

\item 
\hypertarget{classXrlPimNode_a5381dfab1c7280d8879439f19b37b40c}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-graft\_\-messages\_\-received} (uint32\_\-t \&value)}
\label{classXrlPimNode_a5381dfab1c7280d8879439f19b37b40c}

\item 
\hypertarget{classXrlPimNode_ad3f8fd73308330aea51c05e710c8c1d9}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-graft\_\-messages\_\-sent} (uint32\_\-t \&value)}
\label{classXrlPimNode_ad3f8fd73308330aea51c05e710c8c1d9}

\item 
\hypertarget{classXrlPimNode_af119d16bc675c44ba6eeab6ea1bcf44d}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-graft\_\-messages\_\-rx\_\-errors} (uint32\_\-t \&value)}
\label{classXrlPimNode_af119d16bc675c44ba6eeab6ea1bcf44d}

\item 
\hypertarget{classXrlPimNode_a7d5a2d462f0dfada78e8e4df7e2b9100}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-graft\_\-ack\_\-messages\_\-received} (uint32\_\-t \&value)}
\label{classXrlPimNode_a7d5a2d462f0dfada78e8e4df7e2b9100}

\item 
\hypertarget{classXrlPimNode_a56360120a10d0b2b15380b0f82bd348d}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-graft\_\-ack\_\-messages\_\-sent} (uint32\_\-t \&value)}
\label{classXrlPimNode_a56360120a10d0b2b15380b0f82bd348d}

\item 
\hypertarget{classXrlPimNode_a6c7944c65c3ee47a2c645ef42febcd4f}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-graft\_\-ack\_\-messages\_\-rx\_\-errors} (uint32\_\-t \&value)}
\label{classXrlPimNode_a6c7944c65c3ee47a2c645ef42febcd4f}

\item 
\hypertarget{classXrlPimNode_a30d01be87bd8aeb4f4219553b3733597}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-candidate\_\-rp\_\-messages\_\-received} (uint32\_\-t \&value)}
\label{classXrlPimNode_a30d01be87bd8aeb4f4219553b3733597}

\item 
\hypertarget{classXrlPimNode_ac36f0df88baf43a88f1ce84d8d6a20c7}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-candidate\_\-rp\_\-messages\_\-sent} (uint32\_\-t \&value)}
\label{classXrlPimNode_ac36f0df88baf43a88f1ce84d8d6a20c7}

\item 
\hypertarget{classXrlPimNode_a8c2b98e148ff03a79f8c4808608a875b}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-candidate\_\-rp\_\-messages\_\-rx\_\-errors} (uint32\_\-t \&value)}
\label{classXrlPimNode_a8c2b98e148ff03a79f8c4808608a875b}

\item 
\hypertarget{classXrlPimNode_ade8adc8b916dcb692b3bf761f64da73d}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-unknown\_\-type\_\-messages} (uint32\_\-t \&value)}
\label{classXrlPimNode_ade8adc8b916dcb692b3bf761f64da73d}

\item 
\hypertarget{classXrlPimNode_adfc9c77e0f4e59f13afce221d1ac89fe}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-unknown\_\-version\_\-messages} (uint32\_\-t \&value)}
\label{classXrlPimNode_adfc9c77e0f4e59f13afce221d1ac89fe}

\item 
\hypertarget{classXrlPimNode_ae782033e681f2519aea5994d1edef6d9}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-neighbor\_\-unknown\_\-messages} (uint32\_\-t \&value)}
\label{classXrlPimNode_ae782033e681f2519aea5994d1edef6d9}

\item 
\hypertarget{classXrlPimNode_a3fcd847ca3d5258b803c635a23df3876}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-bad\_\-length\_\-messages} (uint32\_\-t \&value)}
\label{classXrlPimNode_a3fcd847ca3d5258b803c635a23df3876}

\item 
\hypertarget{classXrlPimNode_a1e0eeea0eb843c35a231a5fc4fdede00}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-bad\_\-checksum\_\-messages} (uint32\_\-t \&value)}
\label{classXrlPimNode_a1e0eeea0eb843c35a231a5fc4fdede00}

\item 
\hypertarget{classXrlPimNode_ab5a746a265d6001a2d51ba6fa1c65fcb}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-bad\_\-receive\_\-interface\_\-messages} (uint32\_\-t \&value)}
\label{classXrlPimNode_ab5a746a265d6001a2d51ba6fa1c65fcb}

\item 
\hypertarget{classXrlPimNode_a094a3a5af313f78e0df23ce12d6181e4}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-interface\_\-disabled\_\-messages} (uint32\_\-t \&value)}
\label{classXrlPimNode_a094a3a5af313f78e0df23ce12d6181e4}

\item 
\hypertarget{classXrlPimNode_a500dca6e440a0f68da0bb8db090e4ce0}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-register\_\-not\_\-rp} (uint32\_\-t \&value)}
\label{classXrlPimNode_a500dca6e440a0f68da0bb8db090e4ce0}

\item 
\hypertarget{classXrlPimNode_a05226fe552f4d060effe5aa0c35af3aa}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rp\_\-filtered\_\-source} (uint32\_\-t \&value)}
\label{classXrlPimNode_a05226fe552f4d060effe5aa0c35af3aa}

\item 
\hypertarget{classXrlPimNode_a76da762eca3d9edccef95cde65936205}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-unknown\_\-register\_\-stop} (uint32\_\-t \&value)}
\label{classXrlPimNode_a76da762eca3d9edccef95cde65936205}

\item 
\hypertarget{classXrlPimNode_af0e4de6272a3a4fd392fe30ac8ddd75a}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-join\_\-prune\_\-no\_\-state} (uint32\_\-t \&value)}
\label{classXrlPimNode_af0e4de6272a3a4fd392fe30ac8ddd75a}

\item 
\hypertarget{classXrlPimNode_a6fa438a85b47c0b5c1a237655e31346a}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-graft\_\-graft\_\-ack\_\-no\_\-state} (uint32\_\-t \&value)}
\label{classXrlPimNode_a6fa438a85b47c0b5c1a237655e31346a}

\item 
\hypertarget{classXrlPimNode_a700fca68b5b9c7b843c83970c28694f2}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-graft\_\-on\_\-upstream\_\-interface} (uint32\_\-t \&value)}
\label{classXrlPimNode_a700fca68b5b9c7b843c83970c28694f2}

\item 
\hypertarget{classXrlPimNode_a84d7019cb09e025735b72ca4a6d47dd2}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-candidate\_\-rp\_\-not\_\-bsr} (uint32\_\-t \&value)}
\label{classXrlPimNode_a84d7019cb09e025735b72ca4a6d47dd2}

\item 
\hypertarget{classXrlPimNode_a2aea663ee72c7f343f85d16e74f9156b}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-bsr\_\-when\_\-bsr} (uint32\_\-t \&value)}
\label{classXrlPimNode_a2aea663ee72c7f343f85d16e74f9156b}

\item 
\hypertarget{classXrlPimNode_a3aee5ac3c90c5d90778ca356839fadb6}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-bsr\_\-not\_\-rpf\_\-interface} (uint32\_\-t \&value)}
\label{classXrlPimNode_a3aee5ac3c90c5d90778ca356839fadb6}

\item 
\hypertarget{classXrlPimNode_ae514dd30b2f613905ec7eb783865b309}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-unknown\_\-hello\_\-option} (uint32\_\-t \&value)}
\label{classXrlPimNode_ae514dd30b2f613905ec7eb783865b309}

\item 
\hypertarget{classXrlPimNode_aff5d5790a41ee6f6bddf3984522592df}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-data\_\-no\_\-state} (uint32\_\-t \&value)}
\label{classXrlPimNode_aff5d5790a41ee6f6bddf3984522592df}

\item 
\hypertarget{classXrlPimNode_a638359b06db6e89c1c97bd951f32747a}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-rp\_\-no\_\-state} (uint32\_\-t \&value)}
\label{classXrlPimNode_a638359b06db6e89c1c97bd951f32747a}

\item 
\hypertarget{classXrlPimNode_a08b50a0bf031d62c9aae645919cd64a6}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-aggregate} (uint32\_\-t \&value)}
\label{classXrlPimNode_a08b50a0bf031d62c9aae645919cd64a6}

\item 
\hypertarget{classXrlPimNode_ae632ecaa3d256757344488b739f9dc7d}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-malformed\_\-packet} (uint32\_\-t \&value)}
\label{classXrlPimNode_ae632ecaa3d256757344488b739f9dc7d}

\item 
\hypertarget{classXrlPimNode_ad8555c4d8ada5dbb67a2734eb04ffb35}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-no\_\-rp} (uint32\_\-t \&value)}
\label{classXrlPimNode_ad8555c4d8ada5dbb67a2734eb04ffb35}

\item 
\hypertarget{classXrlPimNode_ab525d574562dec16631beb578af320aa}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-no\_\-route\_\-upstream} (uint32\_\-t \&value)}
\label{classXrlPimNode_ab525d574562dec16631beb578af320aa}

\item 
\hypertarget{classXrlPimNode_a0839625a3c84ce1a328b6229e8e6fbfd}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rp\_\-mismatch} (uint32\_\-t \&value)}
\label{classXrlPimNode_a0839625a3c84ce1a328b6229e8e6fbfd}

\item 
\hypertarget{classXrlPimNode_a21f487f16e7e576b07a615b3300d9fe1}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rpf\_\-neighbor\_\-unknown} (uint32\_\-t \&value)}
\label{classXrlPimNode_a21f487f16e7e576b07a615b3300d9fe1}

\item 
\hypertarget{classXrlPimNode_a1a9c65c4f35b43e1aa71731235daa088}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-join\_\-rp} (uint32\_\-t \&value)}
\label{classXrlPimNode_a1a9c65c4f35b43e1aa71731235daa088}

\item 
\hypertarget{classXrlPimNode_a2019877dc3ed1c907653c5e0ac7a0e28}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-prune\_\-rp} (uint32\_\-t \&value)}
\label{classXrlPimNode_a2019877dc3ed1c907653c5e0ac7a0e28}

\item 
\hypertarget{classXrlPimNode_a5b8238a6b422838df85461d78588b28a}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-join\_\-wc} (uint32\_\-t \&value)}
\label{classXrlPimNode_a5b8238a6b422838df85461d78588b28a}

\item 
\hypertarget{classXrlPimNode_ad9be2c347e8a45ea7cb5709d6252f4ea}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-prune\_\-wc} (uint32\_\-t \&value)}
\label{classXrlPimNode_ad9be2c347e8a45ea7cb5709d6252f4ea}

\item 
\hypertarget{classXrlPimNode_a6fe18389038200b44d77f63d6bbba1a8}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-join\_\-sg} (uint32\_\-t \&value)}
\label{classXrlPimNode_a6fe18389038200b44d77f63d6bbba1a8}

\item 
\hypertarget{classXrlPimNode_a5c37f9688b11f9c0d5ffe7b24f693624}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-prune\_\-sg} (uint32\_\-t \&value)}
\label{classXrlPimNode_a5c37f9688b11f9c0d5ffe7b24f693624}

\item 
\hypertarget{classXrlPimNode_aa33e664ce659e2c7f1c8ae7f3a07eaa0}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-join\_\-sg\_\-rpt} (uint32\_\-t \&value)}
\label{classXrlPimNode_aa33e664ce659e2c7f1c8ae7f3a07eaa0}

\item 
\hypertarget{classXrlPimNode_ad051bd83918d183095cdde159f86432d}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-prune\_\-sg\_\-rpt} (uint32\_\-t \&value)}
\label{classXrlPimNode_ad051bd83918d183095cdde159f86432d}

\item 
\hypertarget{classXrlPimNode_a5e8acf861245822fc244ccfe2e00be96}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-hello\_\-messages\_\-received\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a5e8acf861245822fc244ccfe2e00be96}

\item 
\hypertarget{classXrlPimNode_ae54185317f167355fe518d929ac3c4bb}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-hello\_\-messages\_\-sent\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_ae54185317f167355fe518d929ac3c4bb}

\item 
\hypertarget{classXrlPimNode_a770ed40be879a511e84d13093e93c4ed}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-hello\_\-messages\_\-rx\_\-errors\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a770ed40be879a511e84d13093e93c4ed}

\item 
\hypertarget{classXrlPimNode_a3e43d4ff2105bb09fefa5f8604680f77}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-register\_\-messages\_\-received\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a3e43d4ff2105bb09fefa5f8604680f77}

\item 
\hypertarget{classXrlPimNode_ac31d8d370f161c9e2aea25b2f16b3f2b}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-register\_\-messages\_\-sent\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_ac31d8d370f161c9e2aea25b2f16b3f2b}

\item 
\hypertarget{classXrlPimNode_a35409c4c2775554bd464a13f6a2f4aa4}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-register\_\-messages\_\-rx\_\-errors\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a35409c4c2775554bd464a13f6a2f4aa4}

\item 
\hypertarget{classXrlPimNode_a7075f65a5ee5e3a77db55a7e16523e26}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-register\_\-stop\_\-messages\_\-received\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a7075f65a5ee5e3a77db55a7e16523e26}

\item 
\hypertarget{classXrlPimNode_a63c11e03a50f64bbaa98200d7899d204}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-register\_\-stop\_\-messages\_\-sent\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a63c11e03a50f64bbaa98200d7899d204}

\item 
\hypertarget{classXrlPimNode_a8fb442b4d922bf26ce816332297f0e4d}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-register\_\-stop\_\-messages\_\-rx\_\-errors\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a8fb442b4d922bf26ce816332297f0e4d}

\item 
\hypertarget{classXrlPimNode_af1cf74fd2a7011b32eb4bc9246b46c38}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-join\_\-prune\_\-messages\_\-received\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_af1cf74fd2a7011b32eb4bc9246b46c38}

\item 
\hypertarget{classXrlPimNode_af97ea17cac39623472d01542c207bb75}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-join\_\-prune\_\-messages\_\-sent\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_af97ea17cac39623472d01542c207bb75}

\item 
\hypertarget{classXrlPimNode_a120552827a4fc2e8a096bcd7c2bea254}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-join\_\-prune\_\-messages\_\-rx\_\-errors\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a120552827a4fc2e8a096bcd7c2bea254}

\item 
\hypertarget{classXrlPimNode_ae4af4bf3e7856047edb85c16d80335a5}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-bootstrap\_\-messages\_\-received\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_ae4af4bf3e7856047edb85c16d80335a5}

\item 
\hypertarget{classXrlPimNode_a646cbb50f26bd8e2c2a5606b047c9e75}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-bootstrap\_\-messages\_\-sent\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a646cbb50f26bd8e2c2a5606b047c9e75}

\item 
\hypertarget{classXrlPimNode_a0a1feb824868a571a3e9f6f53ae433e7}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-bootstrap\_\-messages\_\-rx\_\-errors\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a0a1feb824868a571a3e9f6f53ae433e7}

\item 
\hypertarget{classXrlPimNode_a91607428ab065f82d3a9afaec720728b}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-assert\_\-messages\_\-received\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a91607428ab065f82d3a9afaec720728b}

\item 
\hypertarget{classXrlPimNode_a9afc569bd534eca0c465efa91d2acf96}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-assert\_\-messages\_\-sent\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a9afc569bd534eca0c465efa91d2acf96}

\item 
\hypertarget{classXrlPimNode_aa0567cd9b2f912e491ec4bbfa0a02a95}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-assert\_\-messages\_\-rx\_\-errors\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_aa0567cd9b2f912e491ec4bbfa0a02a95}

\item 
\hypertarget{classXrlPimNode_a7f86e7704090eda936436dacce30969a}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-graft\_\-messages\_\-received\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a7f86e7704090eda936436dacce30969a}

\item 
\hypertarget{classXrlPimNode_af32f4af7c40e399589fee0a7113741d0}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-graft\_\-messages\_\-sent\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_af32f4af7c40e399589fee0a7113741d0}

\item 
\hypertarget{classXrlPimNode_af480e7ed06f35918d5acb13244541811}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-graft\_\-messages\_\-rx\_\-errors\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_af480e7ed06f35918d5acb13244541811}

\item 
\hypertarget{classXrlPimNode_a8d4d3eb9bf2152e5798e1fbaba6b335b}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-graft\_\-ack\_\-messages\_\-received\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a8d4d3eb9bf2152e5798e1fbaba6b335b}

\item 
\hypertarget{classXrlPimNode_ab9a8216163a5fd3dd3cc4fe69cfb8cd2}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-graft\_\-ack\_\-messages\_\-sent\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_ab9a8216163a5fd3dd3cc4fe69cfb8cd2}

\item 
\hypertarget{classXrlPimNode_a4278f79ba6c7e25b37d881a391eaa19f}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-graft\_\-ack\_\-messages\_\-rx\_\-errors\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a4278f79ba6c7e25b37d881a391eaa19f}

\item 
\hypertarget{classXrlPimNode_a0058a515d1afed79d0ace92f9481f799}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-candidate\_\-rp\_\-messages\_\-received\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a0058a515d1afed79d0ace92f9481f799}

\item 
\hypertarget{classXrlPimNode_a5e466fc9d57f0ea6c4a16f8a8de705c5}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-candidate\_\-rp\_\-messages\_\-sent\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a5e466fc9d57f0ea6c4a16f8a8de705c5}

\item 
\hypertarget{classXrlPimNode_a24c519364df8b76416182fbadb1263d8}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-candidate\_\-rp\_\-messages\_\-rx\_\-errors\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a24c519364df8b76416182fbadb1263d8}

\item 
\hypertarget{classXrlPimNode_a7ddb435011c7bd11e3d97ae3f6f5d7fd}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-unknown\_\-type\_\-messages\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a7ddb435011c7bd11e3d97ae3f6f5d7fd}

\item 
\hypertarget{classXrlPimNode_a7c85f70ced717ad67a74221d3db87e0f}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-unknown\_\-version\_\-messages\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a7c85f70ced717ad67a74221d3db87e0f}

\item 
\hypertarget{classXrlPimNode_af971d809e47e5c2927da9e9f41d63565}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-neighbor\_\-unknown\_\-messages\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_af971d809e47e5c2927da9e9f41d63565}

\item 
\hypertarget{classXrlPimNode_afa98702ab0f08c3bdd23e5c0a6d55b0a}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-bad\_\-length\_\-messages\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_afa98702ab0f08c3bdd23e5c0a6d55b0a}

\item 
\hypertarget{classXrlPimNode_ae53eefcd2b184e9be2308f8fcfccc1d1}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-bad\_\-checksum\_\-messages\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_ae53eefcd2b184e9be2308f8fcfccc1d1}

\item 
\hypertarget{classXrlPimNode_a06b6a97d924afa094a20d13a255c60d5}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-bad\_\-receive\_\-interface\_\-messages\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a06b6a97d924afa094a20d13a255c60d5}

\item 
\hypertarget{classXrlPimNode_ae4e6479d681c00a2e2b13fc93ed353b4}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-interface\_\-disabled\_\-messages\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_ae4e6479d681c00a2e2b13fc93ed353b4}

\item 
\hypertarget{classXrlPimNode_ac8c62fd3f69ff1bc7091cef57043ab72}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-register\_\-not\_\-rp\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_ac8c62fd3f69ff1bc7091cef57043ab72}

\item 
\hypertarget{classXrlPimNode_af91e2dff9f5655984269ea9f9e55929b}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rp\_\-filtered\_\-source\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_af91e2dff9f5655984269ea9f9e55929b}

\item 
\hypertarget{classXrlPimNode_a933ec0bb49f807a9dc0582c291b31ca2}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-unknown\_\-register\_\-stop\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a933ec0bb49f807a9dc0582c291b31ca2}

\item 
\hypertarget{classXrlPimNode_aaba4d09dd51a79ff1abc9b7cc8a590ed}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-join\_\-prune\_\-no\_\-state\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_aaba4d09dd51a79ff1abc9b7cc8a590ed}

\item 
\hypertarget{classXrlPimNode_a5cf36557b2c01706f23f3054aaefbd18}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-graft\_\-graft\_\-ack\_\-no\_\-state\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a5cf36557b2c01706f23f3054aaefbd18}

\item 
\hypertarget{classXrlPimNode_a9b4b008b49931d49080704de05844f55}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-graft\_\-on\_\-upstream\_\-interface\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a9b4b008b49931d49080704de05844f55}

\item 
\hypertarget{classXrlPimNode_a1dbe8479b83fba8a1f0646a8e7b5cf89}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-candidate\_\-rp\_\-not\_\-bsr\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a1dbe8479b83fba8a1f0646a8e7b5cf89}

\item 
\hypertarget{classXrlPimNode_a8c527ecc1778f61d82b6fc6508967a6a}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-bsr\_\-when\_\-bsr\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a8c527ecc1778f61d82b6fc6508967a6a}

\item 
\hypertarget{classXrlPimNode_aa5ce481c1e649a9826ac363593d4c2dd}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-bsr\_\-not\_\-rpf\_\-interface\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_aa5ce481c1e649a9826ac363593d4c2dd}

\item 
\hypertarget{classXrlPimNode_a451d47aefc02cac74334c37efd497a0a}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-unknown\_\-hello\_\-option\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a451d47aefc02cac74334c37efd497a0a}

\item 
\hypertarget{classXrlPimNode_afc6754fa8ee31f6e96848d1757165948}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-data\_\-no\_\-state\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_afc6754fa8ee31f6e96848d1757165948}

\item 
\hypertarget{classXrlPimNode_a6bb5d7353c681b6436729bfc1220702b}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-rp\_\-no\_\-state\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a6bb5d7353c681b6436729bfc1220702b}

\item 
\hypertarget{classXrlPimNode_a72e124d70d3c7c441d19b02aff653798}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-aggregate\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a72e124d70d3c7c441d19b02aff653798}

\item 
\hypertarget{classXrlPimNode_a7eed3286c6630cd842c04e22a32f5cbc}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-malformed\_\-packet\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a7eed3286c6630cd842c04e22a32f5cbc}

\item 
\hypertarget{classXrlPimNode_acd4a9ad8bfaf92258eea3ef81664de49}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-no\_\-rp\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_acd4a9ad8bfaf92258eea3ef81664de49}

\item 
\hypertarget{classXrlPimNode_ab0ae3049eaf1a5b7b1d363aaa96007a2}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-no\_\-route\_\-upstream\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_ab0ae3049eaf1a5b7b1d363aaa96007a2}

\item 
\hypertarget{classXrlPimNode_a6ab1c7c362246165088baef15e683ff7}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rp\_\-mismatch\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a6ab1c7c362246165088baef15e683ff7}

\item 
\hypertarget{classXrlPimNode_ad6416e1506ed0455cc32350d8295c709}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rpf\_\-neighbor\_\-unknown\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_ad6416e1506ed0455cc32350d8295c709}

\item 
\hypertarget{classXrlPimNode_aa1ee559d46f82c18838b91809f86c356}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-join\_\-rp\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_aa1ee559d46f82c18838b91809f86c356}

\item 
\hypertarget{classXrlPimNode_af8ebf7990beab58fe987a2f990d286c0}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-prune\_\-rp\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_af8ebf7990beab58fe987a2f990d286c0}

\item 
\hypertarget{classXrlPimNode_ab66548c262a8ea5bf58ff836fb52b0c8}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-join\_\-wc\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_ab66548c262a8ea5bf58ff836fb52b0c8}

\item 
\hypertarget{classXrlPimNode_ab6c4257c05fff88791e4b97abfc897c1}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-prune\_\-wc\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_ab6c4257c05fff88791e4b97abfc897c1}

\item 
\hypertarget{classXrlPimNode_aaaf3eb4ba41a854afeaa917dc71a5ea0}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-join\_\-sg\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_aaaf3eb4ba41a854afeaa917dc71a5ea0}

\item 
\hypertarget{classXrlPimNode_a1451114e644bb64f41eee039d703a719}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-prune\_\-sg\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a1451114e644bb64f41eee039d703a719}

\item 
\hypertarget{classXrlPimNode_a9f6999630af43a5dc08f39d2901947d7}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-join\_\-sg\_\-rpt\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a9f6999630af43a5dc08f39d2901947d7}

\item 
\hypertarget{classXrlPimNode_a20d33a1f4a98a177c4de6c9b023b8b7a}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries pim\_\-0\_\-1\_\-pimstat\_\-rx\_\-prune\_\-sg\_\-rpt\_\-per\_\-vif} (const string \&vif\_\-name, uint32\_\-t \&value)}
\label{classXrlPimNode_a20d33a1f4a98a177c4de6c9b023b8b7a}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
const \hyperlink{classServiceBase}{ServiceBase} $\ast$ \hyperlink{classXrlPimNode_a00c2a62ea24990d051c84a926d680105}{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{classXrlPimNode_aed2b9924496440c255a9dcf7d332bf35}{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{classXrlPimNode_a4516eadec8635e8d4bb765ed1d8c080d}{finder\_\-connect\_\-event} ()
\begin{DoxyCompactList}\small\item\em Called when \hyperlink{classFinder}{Finder} connection is established. \item\end{DoxyCompactList}\item 
virtual void \hyperlink{classXrlPimNode_a1a1b5a2d5269f602499da61c9674b8f4}{finder\_\-disconnect\_\-event} ()
\begin{DoxyCompactList}\small\item\em Called when \hyperlink{classFinder}{Finder} disconnect occurs. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_ae2a61855f0dd5ba26b87af22763d07d9}{
void {\bfseries add\_\-task} (\hyperlink{classXrlPimNode_1_1XrlTaskBase}{XrlTaskBase} $\ast$xrl\_\-task)}
\label{classXrlPimNode_ae2a61855f0dd5ba26b87af22763d07d9}

\item 
\hypertarget{classXrlPimNode_ae5207cb7b63b250d9fe6f75648f90bd7}{
void {\bfseries send\_\-xrl\_\-task} ()}
\label{classXrlPimNode_ae5207cb7b63b250d9fe6f75648f90bd7}

\item 
\hypertarget{classXrlPimNode_a9eccd1691b318a49700f75a834af6998}{
void {\bfseries pop\_\-xrl\_\-task} ()}
\label{classXrlPimNode_a9eccd1691b318a49700f75a834af6998}

\item 
\hypertarget{classXrlPimNode_a5f0af49863b8653cbb774dc3b15ff738}{
void {\bfseries retry\_\-xrl\_\-task} ()}
\label{classXrlPimNode_a5f0af49863b8653cbb774dc3b15ff738}

\item 
void \hyperlink{classXrlPimNode_a2f041b19a0d33e668256149085472e11}{fea\_\-register\_\-startup} ()
\begin{DoxyCompactList}\small\item\em Initiate registration with \hyperlink{protocolthe-p}{the} FEA. \item\end{DoxyCompactList}\item 
void \hyperlink{classXrlPimNode_a7b07792e448a1fc06081481f635a74dc}{mfea\_\-register\_\-startup} ()
\begin{DoxyCompactList}\small\item\em Initiate registration with \hyperlink{protocolthe-p}{the} MFEA. \item\end{DoxyCompactList}\item 
void \hyperlink{classXrlPimNode_a3ccf4c45457dd55557cadebb36699257}{fea\_\-register\_\-shutdown} ()
\begin{DoxyCompactList}\small\item\em Initiate de-\/registration with \hyperlink{protocolthe-p}{the} FEA. \item\end{DoxyCompactList}\item 
void \hyperlink{classXrlPimNode_adc6bb14d8ac8b21f0106c1d69f655567}{mfea\_\-register\_\-shutdown} ()
\begin{DoxyCompactList}\small\item\em Initiate de-\/registration with \hyperlink{protocolthe-p}{the} MFEA. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_ada5b25c531ab13284c0e9d9b51673e8c}{
void {\bfseries finder\_\-send\_\-register\_\-unregister\_\-interest\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlPimNode_ada5b25c531ab13284c0e9d9b51673e8c}

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

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

\item 
\hypertarget{classXrlPimNode_a6b6d5292721622e22df1d3f695af9f0e}{
void {\bfseries send\_\-rib\_\-redist\_\-transaction\_\-enable} ()}
\label{classXrlPimNode_a6b6d5292721622e22df1d3f695af9f0e}

\item 
\hypertarget{classXrlPimNode_a322eae3a4d164c59c4ab83baea9a29c5}{
void {\bfseries rib\_\-client\_\-send\_\-redist\_\-transaction\_\-enable\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlPimNode_a322eae3a4d164c59c4ab83baea9a29c5}

\item 
\hypertarget{classXrlPimNode_a3028780aa6c2a9053ac389649b26b260}{
void {\bfseries send\_\-rib\_\-redist\_\-transaction\_\-disable} ()}
\label{classXrlPimNode_a3028780aa6c2a9053ac389649b26b260}

\item 
\hypertarget{classXrlPimNode_ad2b3e39f5db3834d632a0e4ebee38ff2}{
void {\bfseries rib\_\-client\_\-send\_\-redist\_\-transaction\_\-disable\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlPimNode_ad2b3e39f5db3834d632a0e4ebee38ff2}

\item 
int \hyperlink{classXrlPimNode_a8dec86fbfe68b1299f850534575cc4e6}{register\_\-receiver} (const string \&if\_\-name, const string \&vif\_\-name, uint8\_\-t ip\_\-protocol, bool enable\_\-multicast\_\-loopback)
\begin{DoxyCompactList}\small\item\em Register as a receiver to receive packets. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlPimNode_ab651d7e27f7e37683a64bea576f4e809}{unregister\_\-receiver} (const string \&if\_\-name, const string \&vif\_\-name, uint8\_\-t ip\_\-protocol)
\begin{DoxyCompactList}\small\item\em Unregister as a receiver to receive packets. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a8fee69b5dd30f5712a023785456f0985}{
void {\bfseries fea\_\-client\_\-send\_\-register\_\-unregister\_\-receiver\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlPimNode_a8fee69b5dd30f5712a023785456f0985}

\item 
int \hyperlink{classXrlPimNode_a0a492ae65a7ec06220364262dc1c4618}{register\_\-protocol} (const string \&if\_\-name, const string \&vif\_\-name, uint8\_\-t ip\_\-protocol)
\begin{DoxyCompactList}\small\item\em Register a protocol on an interface in \hyperlink{protocolthe-p}{the} Multicast FEA. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlPimNode_ae329725981b093222fa18f5c412e4bd7}{unregister\_\-protocol} (const string \&if\_\-name, const string \&vif\_\-name)
\begin{DoxyCompactList}\small\item\em Unregister a protocol on an interface in \hyperlink{protocolthe-p}{the} Multicast FEA. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a6dc2c4ffa295a773f0222a8171f14cee}{
void {\bfseries mfea\_\-client\_\-send\_\-register\_\-unregister\_\-protocol\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlPimNode_a6dc2c4ffa295a773f0222a8171f14cee}

\item 
int \hyperlink{classXrlPimNode_ab8949707b9c2089aa8baa3261bb4042b}{join\_\-multicast\_\-group} (const string \&if\_\-name, const string \&vif\_\-name, uint8\_\-t ip\_\-protocol, const \hyperlink{classIPvX}{IPvX} \&group\_\-address)
\begin{DoxyCompactList}\small\item\em Join a multicast group on an interface. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlPimNode_a3a7a644238487c1e6c9c6bda5e4981c1}{leave\_\-multicast\_\-group} (const string \&if\_\-name, const string \&vif\_\-name, uint8\_\-t ip\_\-protocol, const \hyperlink{classIPvX}{IPvX} \&group\_\-address)
\begin{DoxyCompactList}\small\item\em Leave a multicast group on an interface. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a386cda55450e07851c596d4d8d269b93}{
void {\bfseries fea\_\-client\_\-send\_\-join\_\-leave\_\-multicast\_\-group\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlPimNode_a386cda55450e07851c596d4d8d269b93}

\item 
int \hyperlink{classXrlPimNode_a7d2b67b6a609b37bca6757a0339825df}{proto\_\-send} (const string \&if\_\-name, const string \&vif\_\-name, const \hyperlink{classIPvX}{IPvX} \&src\_\-address, const \hyperlink{classIPvX}{IPvX} \&dst\_\-address, uint8\_\-t ip\_\-protocol, int32\_\-t ip\_\-ttl, int32\_\-t ip\_\-tos, bool ip\_\-router\_\-alert, bool ip\_\-internet\_\-control, const uint8\_\-t $\ast$sndbuf, size\_\-t sndlen, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} a protocol packet. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a55bb318818d64d3bdd17b1bede4a3156}{
void {\bfseries fea\_\-client\_\-send\_\-protocol\_\-message\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlPimNode_a55bb318818d64d3bdd17b1bede4a3156}

\item 
int \hyperlink{classXrlPimNode_a78d9eac34aa57dddb8388909bacecf05}{add\_\-mfc\_\-to\_\-kernel} (const \hyperlink{classPimMfc}{PimMfc} \&pim\_\-mfc)
\begin{DoxyCompactList}\small\item\em Add a Multicast Forwarding Cache to \hyperlink{protocolthe-p}{the} kernel. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlPimNode_a3d5567a487b1d128fa108cfe1f2247e0}{delete\_\-mfc\_\-from\_\-kernel} (const \hyperlink{classPimMfc}{PimMfc} \&pim\_\-mfc)
\begin{DoxyCompactList}\small\item\em Delete a Multicast Forwarding Cache to \hyperlink{protocolthe-p}{the} kernel. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_ad6b5cf70b34c879717cc73daadf8b747}{
void {\bfseries mfea\_\-client\_\-send\_\-add\_\-delete\_\-mfc\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlPimNode_ad6b5cf70b34c879717cc73daadf8b747}

\item 
int \hyperlink{classXrlPimNode_ac3b7dc32f981cc51f25e484b6a274f7a}{add\_\-dataflow\_\-monitor} (const \hyperlink{classIPvX}{IPvX} \&source\_\-addr, const \hyperlink{classIPvX}{IPvX} \&group\_\-addr, uint32\_\-t threshold\_\-interval\_\-sec, uint32\_\-t threshold\_\-interval\_\-usec, uint32\_\-t threshold\_\-packets, uint32\_\-t threshold\_\-bytes, bool is\_\-threshold\_\-in\_\-packets, bool is\_\-threshold\_\-in\_\-bytes, bool is\_\-geq\_\-upcall, bool is\_\-leq\_\-upcall)
\begin{DoxyCompactList}\small\item\em Add a dataflow monitor to \hyperlink{protocolthe-p}{the} MFEA. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlPimNode_a89d5ac669e243c9155fdf2728ea9d81e}{delete\_\-dataflow\_\-monitor} (const \hyperlink{classIPvX}{IPvX} \&source\_\-addr, const \hyperlink{classIPvX}{IPvX} \&group\_\-addr, uint32\_\-t threshold\_\-interval\_\-sec, uint32\_\-t threshold\_\-interval\_\-usec, uint32\_\-t threshold\_\-packets, uint32\_\-t threshold\_\-bytes, bool is\_\-threshold\_\-in\_\-packets, bool is\_\-threshold\_\-in\_\-bytes, bool is\_\-geq\_\-upcall, bool is\_\-leq\_\-upcall)
\begin{DoxyCompactList}\small\item\em Delete a dataflow monitor from \hyperlink{protocolthe-p}{the} MFEA. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlPimNode_aa725bd6e786022d213dbbd0d3dc50f04}{delete\_\-all\_\-dataflow\_\-monitor} (const \hyperlink{classIPvX}{IPvX} \&source\_\-addr, const \hyperlink{classIPvX}{IPvX} \&group\_\-addr)
\begin{DoxyCompactList}\small\item\em Delete all dataflow monitors for a given source and group address from \hyperlink{protocolthe-p}{the} MFEA. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a785fb536f4b2c93fe8da41244ee871af}{
void {\bfseries mfea\_\-client\_\-send\_\-add\_\-delete\_\-dataflow\_\-monitor\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlPimNode_a785fb536f4b2c93fe8da41244ee871af}

\item 
int \hyperlink{classXrlPimNode_afb2b9c1bd68484fc6cd467d8e6e43b5c}{add\_\-protocol\_\-mld6igmp} (uint32\_\-t vif\_\-index)
\begin{DoxyCompactList}\small\item\em Register this protocol with \hyperlink{protocolthe-p}{the} MLD/IGMP module. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlPimNode_a7e4c2d7e29ad30905ba37f01938a6448}{delete\_\-protocol\_\-mld6igmp} (uint32\_\-t vif\_\-index)
\begin{DoxyCompactList}\small\item\em Deregister this protocol with \hyperlink{protocolthe-p}{the} MLD/IGMP module. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_ad6d1beb29e9968850b29272a8c389eb2}{
void {\bfseries send\_\-add\_\-delete\_\-protocol\_\-mld6igmp} ()}
\label{classXrlPimNode_ad6d1beb29e9968850b29272a8c389eb2}

\item 
\hypertarget{classXrlPimNode_a61bb2794ff859d3bfaf0b3ad593c5abf}{
void {\bfseries mld6igmp\_\-client\_\-send\_\-add\_\-delete\_\-protocol\_\-mld6igmp\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlPimNode_a61bb2794ff859d3bfaf0b3ad593c5abf}

\item 
\hypertarget{classXrlPimNode_a227757fc44d7ae3df538578a9dac906c}{
void {\bfseries schedule\_\-add\_\-protocol\_\-mld6igmp} ()}
\label{classXrlPimNode_a227757fc44d7ae3df538578a9dac906c}

\item 
int \hyperlink{classXrlPimNode_ad9da20cc940fa6dd2430f75fca2757a0}{add\_\-cli\_\-command\_\-to\_\-cli\_\-manager} (const char $\ast$command\_\-name, const char $\ast$command\_\-help, bool is\_\-command\_\-cd, const char $\ast$command\_\-cd\_\-prompt, bool is\_\-command\_\-processor)
\begin{DoxyCompactList}\small\item\em Add a CLI command to \hyperlink{protocolthe-p}{the} CLI manager. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_aa95c135e22e549b079b243157458a99b}{
void {\bfseries cli\_\-manager\_\-client\_\-send\_\-add\_\-cli\_\-command\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlPimNode_aa95c135e22e549b079b243157458a99b}

\item 
int \hyperlink{classXrlPimNode_a9f3850ebe16e0d5ce43f82e24f66ed48}{delete\_\-cli\_\-command\_\-from\_\-cli\_\-manager} (const char $\ast$command\_\-name)
\begin{DoxyCompactList}\small\item\em Delete a CLI command from \hyperlink{protocolthe-p}{the} CLI manager. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlPimNode_a62eb25e64a6e326dcc21fec48a9d38ac}{
void {\bfseries cli\_\-manager\_\-client\_\-send\_\-delete\_\-cli\_\-command\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlPimNode_a62eb25e64a6e326dcc21fec48a9d38ac}

\item 
int \hyperlink{classXrlPimNode_a8b39e8ef336695684fe24d302e564802}{family} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} address family. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlPimNode_a8a0ac736dafbf932b1dc44f9c6b90277}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries \_\-eventloop}}
\label{classXrlPimNode_a8a0ac736dafbf932b1dc44f9c6b90277}

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

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

\item 
\hypertarget{classXrlPimNode_a477ace1fa3869c63ab2ab765e5d1794a}{
const string {\bfseries \_\-mfea\_\-target}}
\label{classXrlPimNode_a477ace1fa3869c63ab2ab765e5d1794a}

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

\item 
\hypertarget{classXrlPimNode_a26c7c3c913cbbbdd1e060b5db2def911}{
const string {\bfseries \_\-mld6igmp\_\-target}}
\label{classXrlPimNode_a26c7c3c913cbbbdd1e060b5db2def911}

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

\item 
\hypertarget{classXrlPimNode_a2fea364b8dad8ebe84c6360b1228de9c}{
\hyperlink{classTransactionManager}{TransactionManager} {\bfseries \_\-mrib\_\-transaction\_\-manager}}
\label{classXrlPimNode_a2fea364b8dad8ebe84c6360b1228de9c}

\item 
\hypertarget{classXrlPimNode_aecc6e5c6bfa4705d5632f6da7539691c}{
\hyperlink{classXrlRawPacket4V0p1Client}{XrlRawPacket4V0p1Client} {\bfseries \_\-xrl\_\-fea\_\-client4}}
\label{classXrlPimNode_aecc6e5c6bfa4705d5632f6da7539691c}

\item 
\hypertarget{classXrlPimNode_a928004c520794f945711e6781baa6d38}{
\hyperlink{classXrlMfeaV0p1Client}{XrlMfeaV0p1Client} {\bfseries \_\-xrl\_\-mfea\_\-client}}
\label{classXrlPimNode_a928004c520794f945711e6781baa6d38}

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

\item 
\hypertarget{classXrlPimNode_ac2471c4738710954fe0afa7dde47cf06}{
\hyperlink{classXrlMld6igmpV0p1Client}{XrlMld6igmpV0p1Client} {\bfseries \_\-xrl\_\-mld6igmp\_\-client}}
\label{classXrlPimNode_ac2471c4738710954fe0afa7dde47cf06}

\item 
\hypertarget{classXrlPimNode_a45cdd05721949439a69069fdfaa5d4fc}{
\hyperlink{classXrlCliManagerV0p1Client}{XrlCliManagerV0p1Client} {\bfseries \_\-xrl\_\-cli\_\-manager\_\-client}}
\label{classXrlPimNode_a45cdd05721949439a69069fdfaa5d4fc}

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

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

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

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

\item 
\hypertarget{classXrlPimNode_a4b05519828b3b0897053236e164ccb4d}{
bool {\bfseries \_\-is\_\-mfea\_\-alive}}
\label{classXrlPimNode_a4b05519828b3b0897053236e164ccb4d}

\item 
\hypertarget{classXrlPimNode_a49e6c61c201a3266eac25c12198265e9}{
bool {\bfseries \_\-is\_\-mfea\_\-registered}}
\label{classXrlPimNode_a49e6c61c201a3266eac25c12198265e9}

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

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

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

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

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

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

\item 
\hypertarget{classXrlPimNode_ace779903254c110e2998061bf278748c}{
bool {\bfseries \_\-is\_\-rib\_\-redist\_\-transaction\_\-enabled}}
\label{classXrlPimNode_ace779903254c110e2998061bf278748c}

\item 
\hypertarget{classXrlPimNode_aa6876b507237b15229fa93f783350ad1}{
\hyperlink{classXorpTimer}{XorpTimer} {\bfseries \_\-rib\_\-redist\_\-transaction\_\-enable\_\-timer}}
\label{classXrlPimNode_aa6876b507237b15229fa93f783350ad1}

\item 
\hypertarget{classXrlPimNode_a34287ba73aca7c7e6ec8b50699977160}{
bool {\bfseries \_\-is\_\-mld6igmp\_\-alive}}
\label{classXrlPimNode_a34287ba73aca7c7e6ec8b50699977160}

\item 
\hypertarget{classXrlPimNode_a8d34ab1a95bc34826063003f0cd87804}{
bool {\bfseries \_\-is\_\-mld6igmp\_\-registered}}
\label{classXrlPimNode_a8d34ab1a95bc34826063003f0cd87804}

\item 
\hypertarget{classXrlPimNode_abc888ecf448ae623dddf3165d4dcef68}{
bool {\bfseries \_\-is\_\-mld6igmp\_\-registering}}
\label{classXrlPimNode_abc888ecf448ae623dddf3165d4dcef68}

\item 
\hypertarget{classXrlPimNode_a93ce13e29c0d0dc0c50eca0fa672b77f}{
bool {\bfseries \_\-is\_\-mld6igmp\_\-deregistering}}
\label{classXrlPimNode_a93ce13e29c0d0dc0c50eca0fa672b77f}

\item 
\hypertarget{classXrlPimNode_afd375810d0fb3a822ef8a8545a57935f}{
\hyperlink{classXorpTimer}{XorpTimer} {\bfseries \_\-mld6igmp\_\-register\_\-startup\_\-timer}}
\label{classXrlPimNode_afd375810d0fb3a822ef8a8545a57935f}

\item 
\hypertarget{classXrlPimNode_a16b211abbd1d3ba824c27ea3a836ed6b}{
\hyperlink{classXorpTimer}{XorpTimer} {\bfseries \_\-mld6igmp\_\-register\_\-shutdown\_\-timer}}
\label{classXrlPimNode_a16b211abbd1d3ba824c27ea3a836ed6b}

\item 
\hypertarget{classXrlPimNode_a941ec6e4654207fad9c07a9438b5b39c}{
list$<$ \hyperlink{classXrlPimNode_1_1XrlTaskBase}{XrlTaskBase} $\ast$ $>$ {\bfseries \_\-xrl\_\-tasks\_\-queue}}
\label{classXrlPimNode_a941ec6e4654207fad9c07a9438b5b39c}

\item 
\hypertarget{classXrlPimNode_a690a4cf64bd69be6d28cdb6d766ccc51}{
\hyperlink{classXorpTimer}{XorpTimer} {\bfseries \_\-xrl\_\-tasks\_\-queue\_\-timer}}
\label{classXrlPimNode_a690a4cf64bd69be6d28cdb6d766ccc51}

\item 
\hypertarget{classXrlPimNode_a71d10d3da211ef4154358e73b2b6ab0b}{
list$<$ pair$<$ uint32\_\-t, bool $>$ $>$ {\bfseries \_\-add\_\-delete\_\-protocol\_\-mld6igmp\_\-queue}}
\label{classXrlPimNode_a71d10d3da211ef4154358e73b2b6ab0b}

\item 
\hypertarget{classXrlPimNode_ad6f60c8c444c2b17315298aa115e37e8}{
\hyperlink{classXorpTimer}{XorpTimer} {\bfseries \_\-add\_\-delete\_\-protocol\_\-mld6igmp\_\-queue\_\-timer}}
\label{classXrlPimNode_ad6f60c8c444c2b17315298aa115e37e8}

\item 
\hypertarget{classXrlPimNode_a8af1f71dacca11c79b8b20aeae8e42fd}{
set$<$ uint32\_\-t $>$ {\bfseries \_\-add\_\-protocol\_\-mld6igmp\_\-vif\_\-index\_\-set}}
\label{classXrlPimNode_a8af1f71dacca11c79b8b20aeae8e42fd}

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

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\hypertarget{classXrlPimNode_ad9da20cc940fa6dd2430f75fca2757a0}{
\index{XrlPimNode@{XrlPimNode}!add\_\-cli\_\-command\_\-to\_\-cli\_\-manager@{add\_\-cli\_\-command\_\-to\_\-cli\_\-manager}}
\index{add\_\-cli\_\-command\_\-to\_\-cli\_\-manager@{add\_\-cli\_\-command\_\-to\_\-cli\_\-manager}!XrlPimNode@{XrlPimNode}}
\subsubsection[{add\_\-cli\_\-command\_\-to\_\-cli\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::add\_\-cli\_\-command\_\-to\_\-cli\_\-manager (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{command\_\-name, }
\item[{const char $\ast$}]{command\_\-help, }
\item[{bool}]{is\_\-command\_\-cd, }
\item[{const char $\ast$}]{command\_\-cd\_\-prompt, }
\item[{bool}]{is\_\-command\_\-processor}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlPimNode_ad9da20cc940fa6dd2430f75fca2757a0}


Add a CLI command to \hyperlink{protocolthe-p}{the} CLI manager. 

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


\begin{DoxyParams}{Parameters}
{\em command\_\-name} & \hyperlink{protocolthe-p}{the} command name to add. \\
\hline
{\em command\_\-help} & \hyperlink{protocolthe-p}{the} help message for \hyperlink{protocolthe-p}{the} command. \\
\hline
{\em is\_\-command\_\-cd} & if true, this is a directory level that allows user to \char`\"{}cd\char`\"{} to that directory. \\
\hline
{\em command\_\-cd\_\-prompt} & if this is a directory user can \char`\"{}cd\char`\"{} to it, \hyperlink{protocolthe-p}{the} prompt to appear after \hyperlink{protocolthe-p}{the} \char`\"{}cd\char`\"{}. \\
\hline
{\em is\_\-command\_\-processor} & if true, this is an oridinary command that can be invoked for processing rather than a directory level. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classProtoNodeCli_af8654cc4c5c9add14dd19cac67db20a2}{ProtoNodeCli}.

\hypertarget{classXrlPimNode_ac3b7dc32f981cc51f25e484b6a274f7a}{
\index{XrlPimNode@{XrlPimNode}!add\_\-dataflow\_\-monitor@{add\_\-dataflow\_\-monitor}}
\index{add\_\-dataflow\_\-monitor@{add\_\-dataflow\_\-monitor}!XrlPimNode@{XrlPimNode}}
\subsubsection[{add\_\-dataflow\_\-monitor}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::add\_\-dataflow\_\-monitor (
\begin{DoxyParamCaption}
\item[{const {\bf IPvX} \&}]{source\_\-addr, }
\item[{const {\bf IPvX} \&}]{group\_\-addr, }
\item[{uint32\_\-t}]{threshold\_\-interval\_\-sec, }
\item[{uint32\_\-t}]{threshold\_\-interval\_\-usec, }
\item[{uint32\_\-t}]{threshold\_\-packets, }
\item[{uint32\_\-t}]{threshold\_\-bytes, }
\item[{bool}]{is\_\-threshold\_\-in\_\-packets, }
\item[{bool}]{is\_\-threshold\_\-in\_\-bytes, }
\item[{bool}]{is\_\-geq\_\-upcall, }
\item[{bool}]{is\_\-leq\_\-upcall}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlPimNode_ac3b7dc32f981cc51f25e484b6a274f7a}


Add a dataflow monitor to \hyperlink{protocolthe-p}{the} MFEA. 

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

Note: either is\_\-threshold\_\-in\_\-packets or is\_\-threshold\_\-in\_\-bytes (or both) must be true. Note: either is\_\-geq\_\-upcall or is\_\-leq\_\-upcall (but not both) must be true.


\begin{DoxyParams}{Parameters}
{\em source} & \hyperlink{protocolthe-p}{the} source address.\\
\hline
{\em group} & \hyperlink{protocolthe-p}{the} group address.\\
\hline
{\em threshold\_\-interval\_\-sec} & \hyperlink{protocolthe-p}{the} dataflow threshold interval (seconds).\\
\hline
{\em threshold\_\-interval\_\-usec} & \hyperlink{protocolthe-p}{the} dataflow threshold interval (microseconds).\\
\hline
{\em threshold\_\-packets} & \hyperlink{protocolthe-p}{the} threshold (in number of packets) to compare against.\\
\hline
{\em threshold\_\-bytes} & \hyperlink{protocolthe-p}{the} threshold (in number of bytes) to compare against.\\
\hline
{\em is\_\-threshold\_\-in\_\-packets} & if true, threshold\_\-packets is valid.\\
\hline
{\em is\_\-threshold\_\-in\_\-bytes} & if true, threshold\_\-bytes is valid.\\
\hline
{\em is\_\-geq\_\-upcall} & if true, \hyperlink{protocolthe-p}{the} operation for comparison is \char`\"{}$>$=\char`\"{}.\\
\hline
{\em is\_\-leq\_\-upcall} & if true, \hyperlink{protocolthe-p}{the} operation for comparison is \char`\"{}$<$=\char`\"{}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classPimNode_ae15d4b9ef2c793b9f9bdaeaf3779e26d}{PimNode}.

\hypertarget{classXrlPimNode_a78d9eac34aa57dddb8388909bacecf05}{
\index{XrlPimNode@{XrlPimNode}!add\_\-mfc\_\-to\_\-kernel@{add\_\-mfc\_\-to\_\-kernel}}
\index{add\_\-mfc\_\-to\_\-kernel@{add\_\-mfc\_\-to\_\-kernel}!XrlPimNode@{XrlPimNode}}
\subsubsection[{add\_\-mfc\_\-to\_\-kernel}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::add\_\-mfc\_\-to\_\-kernel (
\begin{DoxyParamCaption}
\item[{const {\bf PimMfc} \&}]{pim\_\-mfc}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlPimNode_a78d9eac34aa57dddb8388909bacecf05}


Add a Multicast Forwarding Cache to \hyperlink{protocolthe-p}{the} kernel. 

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{DoxyParams}{Parameters}
{\em pim\_\-mfc} & \hyperlink{protocolthe-p}{the} \hyperlink{classPimMfc}{PimMfc} entry to add. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classPimNode_abc56320ad85f953faa22db6202cf0769}{PimNode}.

\hypertarget{classXrlPimNode_afb2b9c1bd68484fc6cd467d8e6e43b5c}{
\index{XrlPimNode@{XrlPimNode}!add\_\-protocol\_\-mld6igmp@{add\_\-protocol\_\-mld6igmp}}
\index{add\_\-protocol\_\-mld6igmp@{add\_\-protocol\_\-mld6igmp}!XrlPimNode@{XrlPimNode}}
\subsubsection[{add\_\-protocol\_\-mld6igmp}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::add\_\-protocol\_\-mld6igmp (
\begin{DoxyParamCaption}
\item[{uint32\_\-t}]{vif\_\-index}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlPimNode_afb2b9c1bd68484fc6cd467d8e6e43b5c}


Register this protocol with \hyperlink{protocolthe-p}{the} MLD/IGMP module. 

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

By registering this protocol with \hyperlink{protocolthe-p}{the} MLD/IGMP module, it will be notified about multicast group membership events.


\begin{DoxyParams}{Parameters}
{\em vif\_\-index} & \hyperlink{protocolthe-p}{the} vif index of \hyperlink{protocolthe-p}{the} interface to register with \hyperlink{protocolthe-p}{the} MLD/IGMP module.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classPimNode_a0fc0636ebc875f540bec5f007d8779f5}{PimNode}.

\hypertarget{classXrlPimNode_aa937681162f76db61dbe6d2bb35dd75b}{
\index{XrlPimNode@{XrlPimNode}!cli\_\-processor\_\-0\_\-1\_\-process\_\-command@{cli\_\-processor\_\-0\_\-1\_\-process\_\-command}}
\index{cli\_\-processor\_\-0\_\-1\_\-process\_\-command@{cli\_\-processor\_\-0\_\-1\_\-process\_\-command}!XrlPimNode@{XrlPimNode}}
\subsubsection[{cli\_\-processor\_\-0\_\-1\_\-process\_\-command}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::cli\_\-processor\_\-0\_\-1\_\-process\_\-command (
\begin{DoxyParamCaption}
\item[{const string \&}]{processor\_\-name, }
\item[{const string \&}]{cli\_\-term\_\-name, }
\item[{const uint32\_\-t \&}]{cli\_\-session\_\-id, }
\item[{const string \&}]{command\_\-name, }
\item[{const string \&}]{command\_\-args, }
\item[{string \&}]{ret\_\-processor\_\-name, }
\item[{string \&}]{ret\_\-cli\_\-term\_\-name, }
\item[{uint32\_\-t \&}]{ret\_\-cli\_\-session\_\-id, }
\item[{string \&}]{ret\_\-command\_\-output}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_aa937681162f76db61dbe6d2bb35dd75b}


Process a CLI command. 


\begin{DoxyParams}{Parameters}
{\em processor\_\-name} & \hyperlink{protocolthe-p}{the} processor name for this command.\\
\hline
{\em cli\_\-term\_\-name} & \hyperlink{protocolthe-p}{the} terminal name \hyperlink{protocolthe-p}{the} command was entered from.\\
\hline
{\em cli\_\-session\_\-id} & \hyperlink{protocolthe-p}{the} CLI session ID \hyperlink{protocolthe-p}{the} command was entered from.\\
\hline
{\em command\_\-name} & \hyperlink{protocolthe-p}{the} command name to process.\\
\hline
{\em command\_\-args} & \hyperlink{protocolthe-p}{the} command arguments to process.\\
\hline
{\em ret\_\-processor\_\-name} & \hyperlink{protocolthe-p}{the} processor name to return back to \hyperlink{protocolthe-p}{the} CLI.\\
\hline
{\em ret\_\-cli\_\-term\_\-name} & \hyperlink{protocolthe-p}{the} terminal name to return back.\\
\hline
{\em ret\_\-cli\_\-session\_\-id} & \hyperlink{protocolthe-p}{the} CLI session ID to return back.\\
\hline
{\em ret\_\-command\_\-output} & \hyperlink{protocolthe-p}{the} command output to return back. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_ab03cadabcdbfbdb7620cc087cac9a1b7}{XrlPimTargetBase}.

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


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

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

Implements \hyperlink{structXrlPimTargetBase_abbe372ab3bd0420232a27033fccfd095}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_aa725bd6e786022d213dbbd0d3dc50f04}{
\index{XrlPimNode@{XrlPimNode}!delete\_\-all\_\-dataflow\_\-monitor@{delete\_\-all\_\-dataflow\_\-monitor}}
\index{delete\_\-all\_\-dataflow\_\-monitor@{delete\_\-all\_\-dataflow\_\-monitor}!XrlPimNode@{XrlPimNode}}
\subsubsection[{delete\_\-all\_\-dataflow\_\-monitor}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::delete\_\-all\_\-dataflow\_\-monitor (
\begin{DoxyParamCaption}
\item[{const {\bf IPvX} \&}]{source\_\-addr, }
\item[{const {\bf IPvX} \&}]{group\_\-addr}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlPimNode_aa725bd6e786022d213dbbd0d3dc50f04}


Delete all dataflow monitors for a given source and group address from \hyperlink{protocolthe-p}{the} MFEA. 

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{DoxyParams}{Parameters}
{\em source\_\-addr} & \hyperlink{protocolthe-p}{the} source address. \\
\hline
{\em group\_\-addr} & \hyperlink{protocolthe-p}{the} group address. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classPimNode_a423b3dfbc1989581a869ddde1a6e1de5}{PimNode}.

\hypertarget{classXrlPimNode_a9f3850ebe16e0d5ce43f82e24f66ed48}{
\index{XrlPimNode@{XrlPimNode}!delete\_\-cli\_\-command\_\-from\_\-cli\_\-manager@{delete\_\-cli\_\-command\_\-from\_\-cli\_\-manager}}
\index{delete\_\-cli\_\-command\_\-from\_\-cli\_\-manager@{delete\_\-cli\_\-command\_\-from\_\-cli\_\-manager}!XrlPimNode@{XrlPimNode}}
\subsubsection[{delete\_\-cli\_\-command\_\-from\_\-cli\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::delete\_\-cli\_\-command\_\-from\_\-cli\_\-manager (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{command\_\-name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlPimNode_a9f3850ebe16e0d5ce43f82e24f66ed48}


Delete a CLI command from \hyperlink{protocolthe-p}{the} CLI manager. 

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


\begin{DoxyParams}{Parameters}
{\em command\_\-name} & \hyperlink{protocolthe-p}{the} command name to delete. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classProtoNodeCli_a4ec12bc88a4cac74cbb0bb7e73f344bc}{ProtoNodeCli}.

\hypertarget{classXrlPimNode_a89d5ac669e243c9155fdf2728ea9d81e}{
\index{XrlPimNode@{XrlPimNode}!delete\_\-dataflow\_\-monitor@{delete\_\-dataflow\_\-monitor}}
\index{delete\_\-dataflow\_\-monitor@{delete\_\-dataflow\_\-monitor}!XrlPimNode@{XrlPimNode}}
\subsubsection[{delete\_\-dataflow\_\-monitor}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::delete\_\-dataflow\_\-monitor (
\begin{DoxyParamCaption}
\item[{const {\bf IPvX} \&}]{source\_\-addr, }
\item[{const {\bf IPvX} \&}]{group\_\-addr, }
\item[{uint32\_\-t}]{threshold\_\-interval\_\-sec, }
\item[{uint32\_\-t}]{threshold\_\-interval\_\-usec, }
\item[{uint32\_\-t}]{threshold\_\-packets, }
\item[{uint32\_\-t}]{threshold\_\-bytes, }
\item[{bool}]{is\_\-threshold\_\-in\_\-packets, }
\item[{bool}]{is\_\-threshold\_\-in\_\-bytes, }
\item[{bool}]{is\_\-geq\_\-upcall, }
\item[{bool}]{is\_\-leq\_\-upcall}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlPimNode_a89d5ac669e243c9155fdf2728ea9d81e}


Delete a dataflow monitor from \hyperlink{protocolthe-p}{the} MFEA. 

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

Note: either is\_\-threshold\_\-in\_\-packets or is\_\-threshold\_\-in\_\-bytes (or both) must be true. Note: either is\_\-geq\_\-upcall or is\_\-leq\_\-upcall (but not both) must be true.


\begin{DoxyParams}{Parameters}
{\em source} & \hyperlink{protocolthe-p}{the} source address.\\
\hline
{\em group} & \hyperlink{protocolthe-p}{the} group address.\\
\hline
{\em threshold\_\-interval\_\-sec} & \hyperlink{protocolthe-p}{the} dataflow threshold interval (seconds).\\
\hline
{\em threshold\_\-interval\_\-usec} & \hyperlink{protocolthe-p}{the} dataflow threshold interval (microseconds).\\
\hline
{\em threshold\_\-packets} & \hyperlink{protocolthe-p}{the} threshold (in number of packets) to compare against.\\
\hline
{\em threshold\_\-bytes} & \hyperlink{protocolthe-p}{the} threshold (in number of bytes) to compare against.\\
\hline
{\em is\_\-threshold\_\-in\_\-packets} & if true, threshold\_\-packets is valid.\\
\hline
{\em is\_\-threshold\_\-in\_\-bytes} & if true, threshold\_\-bytes is valid.\\
\hline
{\em is\_\-geq\_\-upcall} & if true, \hyperlink{protocolthe-p}{the} operation for comparison is \char`\"{}$>$=\char`\"{}.\\
\hline
{\em is\_\-leq\_\-upcall} & if true, \hyperlink{protocolthe-p}{the} operation for comparison is \char`\"{}$<$=\char`\"{}.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classPimNode_a37d5c4a37727ecac00d4e83e3c72a313}{PimNode}.

\hypertarget{classXrlPimNode_a3d5567a487b1d128fa108cfe1f2247e0}{
\index{XrlPimNode@{XrlPimNode}!delete\_\-mfc\_\-from\_\-kernel@{delete\_\-mfc\_\-from\_\-kernel}}
\index{delete\_\-mfc\_\-from\_\-kernel@{delete\_\-mfc\_\-from\_\-kernel}!XrlPimNode@{XrlPimNode}}
\subsubsection[{delete\_\-mfc\_\-from\_\-kernel}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::delete\_\-mfc\_\-from\_\-kernel (
\begin{DoxyParamCaption}
\item[{const {\bf PimMfc} \&}]{pim\_\-mfc}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlPimNode_a3d5567a487b1d128fa108cfe1f2247e0}


Delete a Multicast Forwarding Cache to \hyperlink{protocolthe-p}{the} kernel. 

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{DoxyParams}{Parameters}
{\em pim\_\-mfc} & \hyperlink{protocolthe-p}{the} \hyperlink{classPimMfc}{PimMfc} entry to delete. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classPimNode_acd4adf41efbff7dd4df2f921f29745ec}{PimNode}.

\hypertarget{classXrlPimNode_a7e4c2d7e29ad30905ba37f01938a6448}{
\index{XrlPimNode@{XrlPimNode}!delete\_\-protocol\_\-mld6igmp@{delete\_\-protocol\_\-mld6igmp}}
\index{delete\_\-protocol\_\-mld6igmp@{delete\_\-protocol\_\-mld6igmp}!XrlPimNode@{XrlPimNode}}
\subsubsection[{delete\_\-protocol\_\-mld6igmp}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::delete\_\-protocol\_\-mld6igmp (
\begin{DoxyParamCaption}
\item[{uint32\_\-t}]{vif\_\-index}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlPimNode_a7e4c2d7e29ad30905ba37f01938a6448}


Deregister this protocol with \hyperlink{protocolthe-p}{the} MLD/IGMP module. 

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{DoxyParams}{Parameters}
{\em vif\_\-index} & \hyperlink{protocolthe-p}{the} vif index of \hyperlink{protocolthe-p}{the} interface to deregister with \hyperlink{protocolthe-p}{the} MLD/IGMP module.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classPimNode_a890373e9b390876c2116b44e8b35a7bc}{PimNode}.

\hypertarget{classXrlPimNode_a86ce40eb45af319442d5024ea1cb58eb}{
\index{XrlPimNode@{XrlPimNode}!destruct\_\-me@{destruct\_\-me}}
\index{destruct\_\-me@{destruct\_\-me}!XrlPimNode@{XrlPimNode}}
\subsubsection[{destruct\_\-me}]{\setlength{\rightskip}{0pt plus 5cm}void XrlPimNode::destruct\_\-me (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classXrlPimNode_a86ce40eb45af319442d5024ea1cb58eb}


Does real destruction work. 



Reimplemented from \hyperlink{classPimNode_a1ceceb540e747ae99dfef99c63e8e4ab}{PimNode}.

\hypertarget{classXrlPimNode_a8b39e8ef336695684fe24d302e564802}{
\index{XrlPimNode@{XrlPimNode}!family@{family}}
\index{family@{family}!XrlPimNode@{XrlPimNode}}
\subsubsection[{family}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::family (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline, private\mbox{]}}}}
\label{classXrlPimNode_a8b39e8ef336695684fe24d302e564802}


Get \hyperlink{protocolthe-p}{the} address family. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} address family (e.g., AF\_\-INET or AF\_\-INET6 for \hyperlink{classIPv4}{IPv4} and \hyperlink{classIPv6}{IPv6} respectively). 
\end{DoxyReturn}


Reimplemented from \hyperlink{classProtoUnit_a955a2dfb148d0d546c7de9f0f684025c}{ProtoUnit}.

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


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{classPimNode_a4a8625613f73593d807fe6d131625291}{PimNode}.

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


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{classPimNode_a43a2c1bc188f14fce4548b0583c0b1d0}{PimNode}.

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


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{classXrlPimNode_a1a1b5a2d5269f602499da61c9674b8f4}{
\index{XrlPimNode@{XrlPimNode}!finder\_\-disconnect\_\-event@{finder\_\-disconnect\_\-event}}
\index{finder\_\-disconnect\_\-event@{finder\_\-disconnect\_\-event}!XrlPimNode@{XrlPimNode}}
\subsubsection[{finder\_\-disconnect\_\-event}]{\setlength{\rightskip}{0pt plus 5cm}void XrlPimNode::finder\_\-disconnect\_\-event (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlPimNode_a1a1b5a2d5269f602499da61c9674b8f4}


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{classXrlPimNode_a751788a516fb12fec743fb286562b14f}{
\index{XrlPimNode@{XrlPimNode}!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}!XrlPimNode@{XrlPimNode}}
\subsubsection[{finder\_\-event\_\-observer\_\-0\_\-1\_\-xrl\_\-target\_\-birth}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::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{classXrlPimNode_a751788a516fb12fec743fb286562b14f}


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{structXrlPimTargetBase_a35b730bea0294421bbe07e6529940810}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_ad5e5b3537bd3a21acfab921b271e0ea9}{
\index{XrlPimNode@{XrlPimNode}!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}!XrlPimNode@{XrlPimNode}}
\subsubsection[{finder\_\-event\_\-observer\_\-0\_\-1\_\-xrl\_\-target\_\-death}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::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{classXrlPimNode_ad5e5b3537bd3a21acfab921b271e0ea9}


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{structXrlPimTargetBase_a0e7ff8a5d1ceab65d4291528a2043e60}{XrlPimTargetBase}.

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


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{classPimNode_a116e815bc28f7d60581e82d2e64c96ca}{PimNode}.

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


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{classPimNode_ab42599ee2d43f4aa5e98163a7c7906a5}{PimNode}.

\hypertarget{classXrlPimNode_ab8949707b9c2089aa8baa3261bb4042b}{
\index{XrlPimNode@{XrlPimNode}!join\_\-multicast\_\-group@{join\_\-multicast\_\-group}}
\index{join\_\-multicast\_\-group@{join\_\-multicast\_\-group}!XrlPimNode@{XrlPimNode}}
\subsubsection[{join\_\-multicast\_\-group}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::join\_\-multicast\_\-group (
\begin{DoxyParamCaption}
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{uint8\_\-t}]{ip\_\-protocol, }
\item[{const {\bf IPvX} \&}]{group\_\-address}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlPimNode_ab8949707b9c2089aa8baa3261bb4042b}


Join a multicast group on an interface. 

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

TODO: add a source address as well!!


\begin{DoxyParams}{Parameters}
{\em if\_\-name} & \hyperlink{protocolthe-p}{the} interface name to join. \\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} vif name to join. \\
\hline
{\em ip\_\-protocol} & \hyperlink{protocolthe-p}{the} IP protocol number that \hyperlink{protocolthe-p}{the} receiver is interested in. \\
\hline
{\em group\_\-address} & \hyperlink{protocolthe-p}{the} multicast group address to join. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classPimNode_a2d571b7f146e9cd262e4a4cd8bde94a9}{PimNode}.

\hypertarget{classXrlPimNode_a3a7a644238487c1e6c9c6bda5e4981c1}{
\index{XrlPimNode@{XrlPimNode}!leave\_\-multicast\_\-group@{leave\_\-multicast\_\-group}}
\index{leave\_\-multicast\_\-group@{leave\_\-multicast\_\-group}!XrlPimNode@{XrlPimNode}}
\subsubsection[{leave\_\-multicast\_\-group}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::leave\_\-multicast\_\-group (
\begin{DoxyParamCaption}
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{uint8\_\-t}]{ip\_\-protocol, }
\item[{const {\bf IPvX} \&}]{group\_\-address}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlPimNode_a3a7a644238487c1e6c9c6bda5e4981c1}


Leave a multicast group on an interface. 

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

TODO: add a source address as well!!


\begin{DoxyParams}{Parameters}
{\em if\_\-name} & \hyperlink{protocolthe-p}{the} interface name to leave. \\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} vif name to leave. \\
\hline
{\em ip\_\-protocol} & \hyperlink{protocolthe-p}{the} IP protocol number that \hyperlink{protocolthe-p}{the} receiver is not interested in anymore. \\
\hline
{\em group\_\-address} & \hyperlink{protocolthe-p}{the} multicast group address to leave. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classPimNode_a32847bab9d2ab568947adf0373b95259}{PimNode}.

\hypertarget{classXrlPimNode_addfd06d9377897060c3b27952ff325eb}{
\index{XrlPimNode@{XrlPimNode}!mfea\_\-client\_\-0\_\-1\_\-recv\_\-dataflow\_\-signal4@{mfea\_\-client\_\-0\_\-1\_\-recv\_\-dataflow\_\-signal4}}
\index{mfea\_\-client\_\-0\_\-1\_\-recv\_\-dataflow\_\-signal4@{mfea\_\-client\_\-0\_\-1\_\-recv\_\-dataflow\_\-signal4}!XrlPimNode@{XrlPimNode}}
\subsubsection[{mfea\_\-client\_\-0\_\-1\_\-recv\_\-dataflow\_\-signal4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::mfea\_\-client\_\-0\_\-1\_\-recv\_\-dataflow\_\-signal4 (
\begin{DoxyParamCaption}
\item[{const string \&}]{xrl\_\-sender\_\-name, }
\item[{const {\bf IPv4} \&}]{source\_\-address, }
\item[{const {\bf IPv4} \&}]{group\_\-address, }
\item[{const uint32\_\-t \&}]{threshold\_\-interval\_\-sec, }
\item[{const uint32\_\-t \&}]{threshold\_\-interval\_\-usec, }
\item[{const uint32\_\-t \&}]{measured\_\-interval\_\-sec, }
\item[{const uint32\_\-t \&}]{measured\_\-interval\_\-usec, }
\item[{const uint32\_\-t \&}]{threshold\_\-packets, }
\item[{const uint32\_\-t \&}]{threshold\_\-bytes, }
\item[{const uint32\_\-t \&}]{measured\_\-packets, }
\item[{const uint32\_\-t \&}]{measured\_\-bytes, }
\item[{const bool \&}]{is\_\-threshold\_\-in\_\-packets, }
\item[{const bool \&}]{is\_\-threshold\_\-in\_\-bytes, }
\item[{const bool \&}]{is\_\-geq\_\-upcall, }
\item[{const bool \&}]{is\_\-leq\_\-upcall}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_addfd06d9377897060c3b27952ff325eb}


A signal that a dataflow-\/related pre-\/condition is true. 


\begin{DoxyParams}{Parameters}
{\em xrl\_\-sender\_\-name} & \hyperlink{protocolthe-p}{the} XRL name of \hyperlink{protocolthe-p}{the} originator of this XRL.\\
\hline
{\em source\_\-address} & \hyperlink{protocolthe-p}{the} source address of \hyperlink{protocolthe-p}{the} dataflow.\\
\hline
{\em group\_\-address} & \hyperlink{protocolthe-p}{the} group address of \hyperlink{protocolthe-p}{the} dataflow.\\
\hline
{\em threshold\_\-interval\_\-sec} & \hyperlink{protocolthe-p}{the} number of seconds in \hyperlink{protocolthe-p}{the} interval requested for measurement.\\
\hline
{\em threshold\_\-interval\_\-usec} & \hyperlink{protocolthe-p}{the} number of microseconds in \hyperlink{protocolthe-p}{the} interval requested for measurement.\\
\hline
{\em measured\_\-interval\_\-sec} & \hyperlink{protocolthe-p}{the} number of seconds in \hyperlink{protocolthe-p}{the} last measured interval that has triggered \hyperlink{protocolthe-p}{the} signal.\\
\hline
{\em measured\_\-interval\_\-usec} & \hyperlink{protocolthe-p}{the} number of microseconds in \hyperlink{protocolthe-p}{the} last measured interval that has triggered \hyperlink{protocolthe-p}{the} signal.\\
\hline
{\em threshold\_\-packets} & \hyperlink{protocolthe-p}{the} threshold value to trigger a signal (in number of packets).\\
\hline
{\em threshold\_\-bytes} & \hyperlink{protocolthe-p}{the} threshold value to trigger a signal (in bytes).\\
\hline
{\em measured\_\-packets} & \hyperlink{protocolthe-p}{the} number of packets measured within \hyperlink{protocolthe-p}{the} measured interval.\\
\hline
{\em measured\_\-bytes} & \hyperlink{protocolthe-p}{the} number of bytes measured within \hyperlink{protocolthe-p}{the} measured interval.\\
\hline
{\em is\_\-threshold\_\-in\_\-packets} & if true, threshold\_\-packets is valid.\\
\hline
{\em is\_\-threshold\_\-in\_\-bytes} & if true, threshold\_\-bytes is valid.\\
\hline
{\em is\_\-geq\_\-upcall} & if true, \hyperlink{protocolthe-p}{the} operation for comparison is \char`\"{}$>$=\char`\"{}.\\
\hline
{\em is\_\-leq\_\-upcall} & if true, \hyperlink{protocolthe-p}{the} operation for comparison is \char`\"{}$<$=\char`\"{}. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_ae732c986933e5c0f37d2d7db74568d40}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_ae30b3293625bf456f60d73c85093c6d9}{
\index{XrlPimNode@{XrlPimNode}!mfea\_\-client\_\-0\_\-1\_\-recv\_\-kernel\_\-signal\_\-message4@{mfea\_\-client\_\-0\_\-1\_\-recv\_\-kernel\_\-signal\_\-message4}}
\index{mfea\_\-client\_\-0\_\-1\_\-recv\_\-kernel\_\-signal\_\-message4@{mfea\_\-client\_\-0\_\-1\_\-recv\_\-kernel\_\-signal\_\-message4}!XrlPimNode@{XrlPimNode}}
\subsubsection[{mfea\_\-client\_\-0\_\-1\_\-recv\_\-kernel\_\-signal\_\-message4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::mfea\_\-client\_\-0\_\-1\_\-recv\_\-kernel\_\-signal\_\-message4 (
\begin{DoxyParamCaption}
\item[{const string \&}]{xrl\_\-sender\_\-name, }
\item[{const uint32\_\-t \&}]{message\_\-type, }
\item[{const string \&}]{vif\_\-name, }
\item[{const uint32\_\-t \&}]{vif\_\-index, }
\item[{const {\bf IPv4} \&}]{source\_\-address, }
\item[{const {\bf IPv4} \&}]{dest\_\-address, }
\item[{const vector$<$ uint8\_\-t $>$ \&}]{protocol\_\-message}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_ae30b3293625bf456f60d73c85093c6d9}


Receive a kernel signal message from \hyperlink{protocolthe-p}{the} MFEA. 


\begin{DoxyParams}{Parameters}
{\em xrl\_\-sender\_\-name} & \hyperlink{protocolthe-p}{the} XRL name of \hyperlink{protocolthe-p}{the} originator of this XRL.\\
\hline
{\em message\_\-type} & \hyperlink{protocolthe-p}{the} type of \hyperlink{protocolthe-p}{the} kernel signal message (TODO: integer for now: \hyperlink{protocolthe-p}{the} particular types are well-\/known by both sides).\\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif \hyperlink{protocolthe-p}{the} message was received on.\\
\hline
{\em vif\_\-index} & \hyperlink{protocolthe-p}{the} index of \hyperlink{protocolthe-p}{the} vif \hyperlink{protocolthe-p}{the} message was received on.\\
\hline
{\em source\_\-address} & \hyperlink{protocolthe-p}{the} address of \hyperlink{protocolthe-p}{the} sender.\\
\hline
{\em dest\_\-address} & \hyperlink{protocolthe-p}{the} destination address.\\
\hline
{\em protocol\_\-message} & \hyperlink{protocolthe-p}{the} protocol message. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_a2082168d06b18e0f2e1f044f9293dcfe}{XrlPimTargetBase}.

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


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

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{classPimNode_a600cee5cf7f07de75c347ed3946530fc}{PimNode}.

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


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

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{classPimNode_afd8d685e7bf61b19b92ad85613bf4af8}{PimNode}.

\hypertarget{classXrlPimNode_afe0b2e68a16fa36b5ed3d896b40850c7}{
\index{XrlPimNode@{XrlPimNode}!mld6igmp\_\-client\_\-0\_\-1\_\-add\_\-membership4@{mld6igmp\_\-client\_\-0\_\-1\_\-add\_\-membership4}}
\index{mld6igmp\_\-client\_\-0\_\-1\_\-add\_\-membership4@{mld6igmp\_\-client\_\-0\_\-1\_\-add\_\-membership4}!XrlPimNode@{XrlPimNode}}
\subsubsection[{mld6igmp\_\-client\_\-0\_\-1\_\-add\_\-membership4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::mld6igmp\_\-client\_\-0\_\-1\_\-add\_\-membership4 (
\begin{DoxyParamCaption}
\item[{const string \&}]{xrl\_\-sender\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{const uint32\_\-t \&}]{vif\_\-index, }
\item[{const {\bf IPv4} \&}]{source, }
\item[{const {\bf IPv4} \&}]{group}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_afe0b2e68a16fa36b5ed3d896b40850c7}


Add/delete membership information. 


\begin{DoxyParams}{Parameters}
{\em xrl\_\-sender\_\-name} & \hyperlink{protocolthe-p}{the} XRL name of \hyperlink{protocolthe-p}{the} originator of this XRL.\\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} new vif.\\
\hline
{\em vif\_\-index} & \hyperlink{protocolthe-p}{the} index of \hyperlink{protocolthe-p}{the} new vif.\\
\hline
{\em source} & \hyperlink{protocolthe-p}{the} source address that has been joined/left.\\
\hline
{\em group} & \hyperlink{protocolthe-p}{the} group address that has been joined/left. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_a428e7ab12962c84b471e07ae1266f1a3}{XrlPimTargetBase}.

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


Add or delete an alternative subnet on a PIM vif. 

An alternative subnet is used to make incoming traffic with a non-\/local source address appear as it is coming from a local subnet. Note: add alternative subnets with extreme care, only if you know what you are really doing!


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to add or delete an alternative subnet.\\
\hline
{\em subnet} & \hyperlink{protocolthe-p}{the} subnet address to add or delete. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_afb01c2487814f71a3629834806cf801f}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_a9f384b4e87737431676286d0a7376918}{
\index{XrlPimNode@{XrlPimNode}!pim\_\-0\_\-1\_\-add\_\-config\_\-cand\_\-bsr4@{pim\_\-0\_\-1\_\-add\_\-config\_\-cand\_\-bsr4}}
\index{pim\_\-0\_\-1\_\-add\_\-config\_\-cand\_\-bsr4@{pim\_\-0\_\-1\_\-add\_\-config\_\-cand\_\-bsr4}!XrlPimNode@{XrlPimNode}}
\subsubsection[{pim\_\-0\_\-1\_\-add\_\-config\_\-cand\_\-bsr4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::pim\_\-0\_\-1\_\-add\_\-config\_\-cand\_\-bsr4 (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4Net} \&}]{scope\_\-zone\_\-id, }
\item[{const bool \&}]{is\_\-scope\_\-zone, }
\item[{const string \&}]{vif\_\-name, }
\item[{const {\bf IPv4} \&}]{vif\_\-addr, }
\item[{const uint32\_\-t \&}]{bsr\_\-priority, }
\item[{const uint32\_\-t \&}]{hash\_\-mask\_\-len}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_a9f384b4e87737431676286d0a7376918}


Add/delete candidate-\/BSR configuration. 


\begin{DoxyParams}{Parameters}
{\em scope\_\-zone\_\-id} & \hyperlink{protocolthe-p}{the} ID of \hyperlink{protocolthe-p}{the} configured zone.\\
\hline
{\em is\_\-scope\_\-zone} & true if configuring administratively scoped zone.\\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to use its address as a candidate-\/BSR.\\
\hline
{\em vif\_\-addr} & \hyperlink{protocolthe-p}{the} address of \hyperlink{protocolthe-p}{the} vif to use as a candidate-\/BSR.\\
\hline
{\em bsr\_\-priority} & \hyperlink{protocolthe-p}{the} BSR priority (larger is better).\\
\hline
{\em hash\_\-mask\_\-len} & \hyperlink{protocolthe-p}{the} hash mask length. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_afcefed9208268360c2502d4022529693}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_ae4746efca303f61deb5f23dddeca2eaa}{
\index{XrlPimNode@{XrlPimNode}!pim\_\-0\_\-1\_\-add\_\-config\_\-cand\_\-rp4@{pim\_\-0\_\-1\_\-add\_\-config\_\-cand\_\-rp4}}
\index{pim\_\-0\_\-1\_\-add\_\-config\_\-cand\_\-rp4@{pim\_\-0\_\-1\_\-add\_\-config\_\-cand\_\-rp4}!XrlPimNode@{XrlPimNode}}
\subsubsection[{pim\_\-0\_\-1\_\-add\_\-config\_\-cand\_\-rp4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::pim\_\-0\_\-1\_\-add\_\-config\_\-cand\_\-rp4 (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4Net} \&}]{group\_\-prefix, }
\item[{const bool \&}]{is\_\-scope\_\-zone, }
\item[{const string \&}]{vif\_\-name, }
\item[{const {\bf IPv4} \&}]{vif\_\-addr, }
\item[{const uint32\_\-t \&}]{rp\_\-priority, }
\item[{const uint32\_\-t \&}]{rp\_\-holdtime}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_ae4746efca303f61deb5f23dddeca2eaa}


Add/delete Candidate-\/RP configuration. 


\begin{DoxyParams}{Parameters}
{\em group\_\-prefix} & \hyperlink{protocolthe-p}{the} group prefix of \hyperlink{protocolthe-p}{the} configured zone.\\
\hline
{\em is\_\-scope\_\-zone} & true if configuring administratively scoped zone.\\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to use its address as a candidate-\/RP.\\
\hline
{\em vif\_\-addr} & \hyperlink{protocolthe-p}{the} address of \hyperlink{protocolthe-p}{the} vif to use as a candidate-\/RP.\\
\hline
{\em rp\_\-priority} & \hyperlink{protocolthe-p}{the} Cand-\/RP priority (smaller is better).\\
\hline
{\em rp\_\-holdtime} & \hyperlink{protocolthe-p}{the} Cand-\/RP holdtime (in seconds). \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_ae2981c63a603cc00715a2a2069ac377f}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_aa82684697f7e94afa0a2ea27c156dd07}{
\index{XrlPimNode@{XrlPimNode}!pim\_\-0\_\-1\_\-add\_\-config\_\-scope\_\-zone\_\-by\_\-vif\_\-name4@{pim\_\-0\_\-1\_\-add\_\-config\_\-scope\_\-zone\_\-by\_\-vif\_\-name4}}
\index{pim\_\-0\_\-1\_\-add\_\-config\_\-scope\_\-zone\_\-by\_\-vif\_\-name4@{pim\_\-0\_\-1\_\-add\_\-config\_\-scope\_\-zone\_\-by\_\-vif\_\-name4}!XrlPimNode@{XrlPimNode}}
\subsubsection[{pim\_\-0\_\-1\_\-add\_\-config\_\-scope\_\-zone\_\-by\_\-vif\_\-name4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::pim\_\-0\_\-1\_\-add\_\-config\_\-scope\_\-zone\_\-by\_\-vif\_\-name4 (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4Net} \&}]{scope\_\-zone\_\-id, }
\item[{const string \&}]{vif\_\-name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_aa82684697f7e94afa0a2ea27c156dd07}


Add/delete scope zone. 


\begin{DoxyParams}{Parameters}
{\em scope\_\-zone\_\-id} & \hyperlink{protocolthe-p}{the} ID of \hyperlink{protocolthe-p}{the} configured zone.\\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to use as a bondary of \hyperlink{protocolthe-p}{the} scope zone. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_ae13b7ce6940ccb806010182397ede3e7}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_a91efddac87fdad98682dcf8e97afdf66}{
\index{XrlPimNode@{XrlPimNode}!pim\_\-0\_\-1\_\-add\_\-config\_\-static\_\-rp4@{pim\_\-0\_\-1\_\-add\_\-config\_\-static\_\-rp4}}
\index{pim\_\-0\_\-1\_\-add\_\-config\_\-static\_\-rp4@{pim\_\-0\_\-1\_\-add\_\-config\_\-static\_\-rp4}!XrlPimNode@{XrlPimNode}}
\subsubsection[{pim\_\-0\_\-1\_\-add\_\-config\_\-static\_\-rp4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::pim\_\-0\_\-1\_\-add\_\-config\_\-static\_\-rp4 (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4Net} \&}]{group\_\-prefix, }
\item[{const {\bf IPv4} \&}]{rp\_\-addr, }
\item[{const uint32\_\-t \&}]{rp\_\-priority, }
\item[{const uint32\_\-t \&}]{hash\_\-mask\_\-len}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_a91efddac87fdad98682dcf8e97afdf66}


Add/delete/complete static RP configuration. 


\begin{DoxyParams}{Parameters}
{\em group\_\-prefix} & \hyperlink{protocolthe-p}{the} group prefix for \hyperlink{protocolthe-p}{the} RP.\\
\hline
{\em rp\_\-addr} & \hyperlink{protocolthe-p}{the} RP address.\\
\hline
{\em rp\_\-priority} & \hyperlink{protocolthe-p}{the} RP priority (smaller is better).\\
\hline
{\em hash\_\-mask\_\-len} & \hyperlink{protocolthe-p}{the} hash mask length used in computing an RP for a group. It should be same across all RPs. If set to zero, \hyperlink{protocolthe-p}{the} default one will be used. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_af4b9e47ca81bd5909e879478fe50d4bf}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_a04c28adbefc347ce492e0ab7d2f6a8c2}{
\index{XrlPimNode@{XrlPimNode}!pim\_\-0\_\-1\_\-add\_\-test\_\-bsr\_\-zone4@{pim\_\-0\_\-1\_\-add\_\-test\_\-bsr\_\-zone4}}
\index{pim\_\-0\_\-1\_\-add\_\-test\_\-bsr\_\-zone4@{pim\_\-0\_\-1\_\-add\_\-test\_\-bsr\_\-zone4}!XrlPimNode@{XrlPimNode}}
\subsubsection[{pim\_\-0\_\-1\_\-add\_\-test\_\-bsr\_\-zone4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::pim\_\-0\_\-1\_\-add\_\-test\_\-bsr\_\-zone4 (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4Net} \&}]{zone\_\-id\_\-scope\_\-zone\_\-prefix, }
\item[{const bool \&}]{zone\_\-id\_\-is\_\-scope\_\-zone, }
\item[{const {\bf IPv4} \&}]{bsr\_\-addr, }
\item[{const uint32\_\-t \&}]{bsr\_\-priority, }
\item[{const uint32\_\-t \&}]{hash\_\-mask\_\-len, }
\item[{const uint32\_\-t \&}]{fragment\_\-tag}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_a04c28adbefc347ce492e0ab7d2f6a8c2}


Test-\/related methods: send Bootstrap and Cand-\/RP-\/Adv messages. 


\begin{DoxyParams}{Parameters}
{\em zone\_\-id\_\-scope\_\-zone\_\-prefix} & \hyperlink{protocolthe-p}{the} zone prefix of \hyperlink{protocolthe-p}{the} zone ID.\\
\hline
{\em zone\_\-id\_\-is\_\-scope\_\-zone} & true if \hyperlink{protocolthe-p}{the} zone is scoped.\\
\hline
{\em bsr\_\-addr} & \hyperlink{protocolthe-p}{the} address of \hyperlink{protocolthe-p}{the} Bootstrap router.\\
\hline
{\em bsr\_\-priority} & \hyperlink{protocolthe-p}{the} priority of \hyperlink{protocolthe-p}{the} Bootstrap router.\\
\hline
{\em hash\_\-mask\_\-len} & \hyperlink{protocolthe-p}{the} hash mask length inside \hyperlink{protocolthe-p}{the} Bootstrap messages.\\
\hline
{\em fragment\_\-tag} & \hyperlink{protocolthe-p}{the} fragment tag inside \hyperlink{protocolthe-p}{the} Bootstrap messages. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_a353571309f59961fed0b7d8700275da3}{XrlPimTargetBase}.

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


Clear all statistics on a specific interface. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} interface to clear \hyperlink{protocolthe-p}{the} statistics of. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_ad46a5004ee234878f8a498cf0fa01106}{XrlPimTargetBase}.

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


Enable/disable/start/stop all PIM vif interfaces. 


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


Implements \hyperlink{structXrlPimTargetBase_aab46e79eeeaaa5cd634a2c3d69d2b728}{XrlPimTargetBase}.

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


Enable/disable/start/stop BSR. 


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


Implements \hyperlink{structXrlPimTargetBase_ab05df132308a44e4dcc1dd813264b65c}{XrlPimTargetBase}.

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


Enable/disable/start/stop \hyperlink{protocolthe-p}{the} PIM CLI access. 


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


Implements \hyperlink{structXrlPimTargetBase_ab41547bc57ab5953954deb25f84a05dd}{XrlPimTargetBase}.

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


Enable/disable/start/stop \hyperlink{protocolthe-p}{the} PIM protocol. 


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


Implements \hyperlink{structXrlPimTargetBase_abd6828ed55d157894b8bfdbe36335917}{XrlPimTargetBase}.

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


Enable/disable/start/stop a PIM vif interface. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to enable/disable/start/stop.\\
\hline
{\em enable} & if true, then enable \hyperlink{protocolthe-p}{the} vif, otherwise disable it. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_abefda71dd549ab1228e66505bfae5ecd}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_a005c7e22518b175a12dae949ae9f5475}{
\index{XrlPimNode@{XrlPimNode}!pim\_\-0\_\-1\_\-get\_\-switch\_\-to\_\-spt\_\-threshold@{pim\_\-0\_\-1\_\-get\_\-switch\_\-to\_\-spt\_\-threshold}}
\index{pim\_\-0\_\-1\_\-get\_\-switch\_\-to\_\-spt\_\-threshold@{pim\_\-0\_\-1\_\-get\_\-switch\_\-to\_\-spt\_\-threshold}!XrlPimNode@{XrlPimNode}}
\subsubsection[{pim\_\-0\_\-1\_\-get\_\-switch\_\-to\_\-spt\_\-threshold}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::pim\_\-0\_\-1\_\-get\_\-switch\_\-to\_\-spt\_\-threshold (
\begin{DoxyParamCaption}
\item[{bool \&}]{is\_\-enabled, }
\item[{uint32\_\-t \&}]{interval\_\-sec, }
\item[{uint32\_\-t \&}]{bytes}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_a005c7e22518b175a12dae949ae9f5475}


Configure SPT-\/switch threshold. 

The 'set\_\-foo' XRLs set \hyperlink{protocolthe-p}{the} particular values. The 'reset\_\-foo' XRLs reset \hyperlink{protocolthe-p}{the} metrics to their default values.


\begin{DoxyParams}{Parameters}
{\em is\_\-enabled} & if true, enable SPT-\/switch, otherwise disable it.\\
\hline
{\em interval\_\-sec} & if \hyperlink{protocolthe-p}{the} SPT-\/switch is enabled, \hyperlink{protocolthe-p}{the} interval (in number of seconds) to measure \hyperlink{protocolthe-p}{the} bandwidth to consider whether to switch to \hyperlink{protocolthe-p}{the} SPT. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_a63704aba3c5be1104713e92ad5714a32}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_a7e043be8198305c7c841c8f2e99239c1}{
\index{XrlPimNode@{XrlPimNode}!pim\_\-0\_\-1\_\-get\_\-vif\_\-hello\_\-triggered\_\-delay@{pim\_\-0\_\-1\_\-get\_\-vif\_\-hello\_\-triggered\_\-delay}}
\index{pim\_\-0\_\-1\_\-get\_\-vif\_\-hello\_\-triggered\_\-delay@{pim\_\-0\_\-1\_\-get\_\-vif\_\-hello\_\-triggered\_\-delay}!XrlPimNode@{XrlPimNode}}
\subsubsection[{pim\_\-0\_\-1\_\-get\_\-vif\_\-hello\_\-triggered\_\-delay}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::pim\_\-0\_\-1\_\-get\_\-vif\_\-hello\_\-triggered\_\-delay (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{uint32\_\-t \&}]{hello\_\-triggered\_\-delay}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_a7e043be8198305c7c841c8f2e99239c1}


Configure PIM Hello-\/related metrics. 

The 'set\_\-foo' XRLs set \hyperlink{protocolthe-p}{the} particular values. The 'reset\_\-foo' XRLs reset \hyperlink{protocolthe-p}{the} metrics to their default values.


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to configure.\\
\hline
{\em proto\_\-version} & \hyperlink{protocolthe-p}{the} protocol version. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_a4b8d4d1d182a57e0b358d045e4db8771}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_ab6a331027c161806965956f11655ffec}{
\index{XrlPimNode@{XrlPimNode}!pim\_\-0\_\-1\_\-get\_\-vif\_\-join\_\-prune\_\-period@{pim\_\-0\_\-1\_\-get\_\-vif\_\-join\_\-prune\_\-period}}
\index{pim\_\-0\_\-1\_\-get\_\-vif\_\-join\_\-prune\_\-period@{pim\_\-0\_\-1\_\-get\_\-vif\_\-join\_\-prune\_\-period}!XrlPimNode@{XrlPimNode}}
\subsubsection[{pim\_\-0\_\-1\_\-get\_\-vif\_\-join\_\-prune\_\-period}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::pim\_\-0\_\-1\_\-get\_\-vif\_\-join\_\-prune\_\-period (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{uint32\_\-t \&}]{join\_\-prune\_\-period}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_ab6a331027c161806965956f11655ffec}


Configure PIM Join/Prune-\/related metrics. 

The 'set\_\-foo' XRLs set \hyperlink{protocolthe-p}{the} particular values. The 'reset\_\-foo' XRLs reset \hyperlink{protocolthe-p}{the} metrics to their default values.


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to configure.\\
\hline
{\em join\_\-prune\_\-period} & \hyperlink{protocolthe-p}{the} period between Join/Prune messages. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_a1bf0f5a3f03c82aac7a5a188ea1b32da}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_acc57822abae46f9a6a8bf3f7e1119bac}{
\index{XrlPimNode@{XrlPimNode}!pim\_\-0\_\-1\_\-get\_\-vif\_\-proto\_\-version@{pim\_\-0\_\-1\_\-get\_\-vif\_\-proto\_\-version}}
\index{pim\_\-0\_\-1\_\-get\_\-vif\_\-proto\_\-version@{pim\_\-0\_\-1\_\-get\_\-vif\_\-proto\_\-version}!XrlPimNode@{XrlPimNode}}
\subsubsection[{pim\_\-0\_\-1\_\-get\_\-vif\_\-proto\_\-version}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::pim\_\-0\_\-1\_\-get\_\-vif\_\-proto\_\-version (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{uint32\_\-t \&}]{proto\_\-version}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_acc57822abae46f9a6a8bf3f7e1119bac}


Get \hyperlink{protocolthe-p}{the} configured protocol version per interface. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to apply to.\\
\hline
{\em proto\_\-version} & \hyperlink{protocolthe-p}{the} protocol version. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_ad63808e60ba6ed7d0b688845c495ac60}{XrlPimTargetBase}.

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


Enable/disable \hyperlink{protocolthe-p}{the} PIM 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{structXrlPimTargetBase_a13118cc0ecc29ec89393b59f9524e180}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_ae684e45f4e8b72e0cfbf5130bbfcfad9}{
\index{XrlPimNode@{XrlPimNode}!pim\_\-0\_\-1\_\-pimstat\_\-interface4@{pim\_\-0\_\-1\_\-pimstat\_\-interface4}}
\index{pim\_\-0\_\-1\_\-pimstat\_\-interface4@{pim\_\-0\_\-1\_\-pimstat\_\-interface4}!XrlPimNode@{XrlPimNode}}
\subsubsection[{pim\_\-0\_\-1\_\-pimstat\_\-interface4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::pim\_\-0\_\-1\_\-pimstat\_\-interface4 (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{uint32\_\-t \&}]{pim\_\-version, }
\item[{bool \&}]{is\_\-dr, }
\item[{uint32\_\-t \&}]{dr\_\-priority, }
\item[{{\bf IPv4} \&}]{dr\_\-address, }
\item[{uint32\_\-t \&}]{pim\_\-nbrs\_\-number}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_ae684e45f4e8b72e0cfbf5130bbfcfad9}


Retrieve information about PIM interfaces. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to retrieve information about.\\
\hline
{\em pim\_\-version} & \hyperlink{protocolthe-p}{the} PIM protocol version on that vif.\\
\hline
{\em is\_\-dr} & true if this router is \hyperlink{protocolthe-p}{the} DR for \hyperlink{protocolthe-p}{the} subnet \hyperlink{protocolthe-p}{the} vif is connected to.\\
\hline
{\em dr\_\-priority} & \hyperlink{protocolthe-p}{the} DR priority configured on that vif.\\
\hline
{\em dr\_\-address} & \hyperlink{protocolthe-p}{the} address of \hyperlink{protocolthe-p}{the} DR for \hyperlink{protocolthe-p}{the} subnet \hyperlink{protocolthe-p}{the} vif is connected to.\\
\hline
{\em pim\_\-nbrs\_\-number} & \hyperlink{protocolthe-p}{the} number of PIM neighbors on \hyperlink{protocolthe-p}{the} subnet \hyperlink{protocolthe-p}{the} vif is connected to. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_acca9e8c4ecc33339ce1a1995a15d5d51}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_a13e88e8d4495efd7c936eb27afc64f25}{
\index{XrlPimNode@{XrlPimNode}!pim\_\-0\_\-1\_\-pimstat\_\-neighbors4@{pim\_\-0\_\-1\_\-pimstat\_\-neighbors4}}
\index{pim\_\-0\_\-1\_\-pimstat\_\-neighbors4@{pim\_\-0\_\-1\_\-pimstat\_\-neighbors4}!XrlPimNode@{XrlPimNode}}
\subsubsection[{pim\_\-0\_\-1\_\-pimstat\_\-neighbors4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::pim\_\-0\_\-1\_\-pimstat\_\-neighbors4 (
\begin{DoxyParamCaption}
\item[{uint32\_\-t \&}]{nbrs\_\-number, }
\item[{{\bf XrlAtomList} \&}]{vifs, }
\item[{{\bf XrlAtomList} \&}]{addresses, }
\item[{{\bf XrlAtomList} \&}]{pim\_\-versions, }
\item[{{\bf XrlAtomList} \&}]{dr\_\-priorities, }
\item[{{\bf XrlAtomList} \&}]{holdtimes, }
\item[{{\bf XrlAtomList} \&}]{timeouts, }
\item[{{\bf XrlAtomList} \&}]{uptimes}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_a13e88e8d4495efd7c936eb27afc64f25}


Retrieve information about all PIM neighbors. 


\begin{DoxyParams}{Parameters}
{\em nbrs\_\-number} & \hyperlink{protocolthe-p}{the} number of PIM neighbors\\
\hline
{\em vifs} & \hyperlink{protocolthe-p}{the} list of vif names for all neighbors (one vif name per neighbor).\\
\hline
{\em pim\_\-versions} & \hyperlink{protocolthe-p}{the} list of PIM protocol versions for all neighbors (one number per neighbor).\\
\hline
{\em dr\_\-priorities} & \hyperlink{protocolthe-p}{the} list of DR priorities of all neighbors (one number per neighbor).\\
\hline
{\em holdtimes} & \hyperlink{protocolthe-p}{the} list of configured holdtimes (in seconds) of all neighbors (one number per neighbor).\\
\hline
{\em timeouts} & \hyperlink{protocolthe-p}{the} list of timeout values (in seconds) of all neighbors (one number per neighbor).\\
\hline
{\em uptimes} & \hyperlink{protocolthe-p}{the} list of uptime values (in seconds) of all neighbors (one number per neighbor). \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_a327cf67e52821ff638024487a2e5d648}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_a328e7e57b67064e155de7ae67e95588e}{
\index{XrlPimNode@{XrlPimNode}!pim\_\-0\_\-1\_\-pimstat\_\-rps4@{pim\_\-0\_\-1\_\-pimstat\_\-rps4}}
\index{pim\_\-0\_\-1\_\-pimstat\_\-rps4@{pim\_\-0\_\-1\_\-pimstat\_\-rps4}!XrlPimNode@{XrlPimNode}}
\subsubsection[{pim\_\-0\_\-1\_\-pimstat\_\-rps4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::pim\_\-0\_\-1\_\-pimstat\_\-rps4 (
\begin{DoxyParamCaption}
\item[{uint32\_\-t \&}]{rps\_\-number, }
\item[{{\bf XrlAtomList} \&}]{addresses, }
\item[{{\bf XrlAtomList} \&}]{types, }
\item[{{\bf XrlAtomList} \&}]{priorities, }
\item[{{\bf XrlAtomList} \&}]{holdtimes, }
\item[{{\bf XrlAtomList} \&}]{timeouts, }
\item[{{\bf XrlAtomList} \&}]{group\_\-prefixes}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_a328e7e57b67064e155de7ae67e95588e}


Retrieve information about \hyperlink{protocolthe-p}{the} RP-\/Set. 


\begin{DoxyParams}{Parameters}
{\em rps\_\-number} & \hyperlink{protocolthe-p}{the} number of RPs in \hyperlink{protocolthe-p}{the} RP-\/Set.\\
\hline
{\em addresses} & \hyperlink{protocolthe-p}{the} list of addresses of all RPs (one \hyperlink{classIPv4}{IPv4} or \hyperlink{classIPv6}{IPv6} address per RP).\\
\hline
{\em types} & \hyperlink{protocolthe-p}{the} list of textual description about \hyperlink{protocolthe-p}{the} origin of each RP (one keyword per RP: \char`\"{}bootstrap\char`\"{}, \char`\"{}static\char`\"{} or \char`\"{}unknown\char`\"{}).\\
\hline
{\em priorities} & \hyperlink{protocolthe-p}{the} list of RP priorities of all RPs (one number per RP).\\
\hline
{\em holdtimes} & \hyperlink{protocolthe-p}{the} list of configured holdtimes (in seconds) of all RPs (one number per RP).\\
\hline
{\em timeouts} & \hyperlink{protocolthe-p}{the} list of timeout values (in seconds) of all RPs (one number per RP).\\
\hline
{\em group\_\-prefixes} & \hyperlink{protocolthe-p}{the} list of all group prefixes (one network IPv4Net or IPv6Net address per RP). Note that if an RP is configured for more than one group prefixes, there will be a number of entries for that RP: one per group prefix. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_abf04c08a7ed8ab271a7b0b1a8b9bd6c3}{XrlPimTargetBase}.

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


Reset \hyperlink{protocolthe-p}{the} protocol version per interface to its default value. 


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


Implements \hyperlink{structXrlPimTargetBase_a7761eb9b1920eeb34f2366b15250e30b}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_a7869311093ee3607d86105feb0d1add0}{
\index{XrlPimNode@{XrlPimNode}!pim\_\-0\_\-1\_\-send\_\-test\_\-assert4@{pim\_\-0\_\-1\_\-send\_\-test\_\-assert4}}
\index{pim\_\-0\_\-1\_\-send\_\-test\_\-assert4@{pim\_\-0\_\-1\_\-send\_\-test\_\-assert4}!XrlPimNode@{XrlPimNode}}
\subsubsection[{pim\_\-0\_\-1\_\-send\_\-test\_\-assert4}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::pim\_\-0\_\-1\_\-send\_\-test\_\-assert4 (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{const {\bf IPv4} \&}]{source\_\-addr, }
\item[{const {\bf IPv4} \&}]{group\_\-addr, }
\item[{const bool \&}]{rpt\_\-bit, }
\item[{const uint32\_\-t \&}]{metric\_\-preference, }
\item[{const uint32\_\-t \&}]{metric}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_a7869311093ee3607d86105feb0d1add0}


Test-\/related methods: send an Assert message on an interface. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to send \hyperlink{protocolthe-p}{the} Assert on.\\
\hline
{\em source\_\-addr} & \hyperlink{protocolthe-p}{the} source address inside \hyperlink{protocolthe-p}{the} Assert message.\\
\hline
{\em group\_\-addr} & \hyperlink{protocolthe-p}{the} group address inside \hyperlink{protocolthe-p}{the} Assert message.\\
\hline
{\em rpt\_\-bit} & \hyperlink{protocolthe-p}{the} RPT-\/bit inside \hyperlink{protocolthe-p}{the} Assert message.\\
\hline
{\em metric\_\-preference} & \hyperlink{protocolthe-p}{the} metric preference inside \hyperlink{protocolthe-p}{the} Assert message.\\
\hline
{\em metric} & \hyperlink{protocolthe-p}{the} metric inside \hyperlink{protocolthe-p}{the} Assert message. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_a5bc01dea6b5521c0585973019ad788ba}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_aa854bec81b8ff3748ed6d2b2464b5cfe}{
\index{XrlPimNode@{XrlPimNode}!pim\_\-0\_\-1\_\-set\_\-vif\_\-proto\_\-version@{pim\_\-0\_\-1\_\-set\_\-vif\_\-proto\_\-version}}
\index{pim\_\-0\_\-1\_\-set\_\-vif\_\-proto\_\-version@{pim\_\-0\_\-1\_\-set\_\-vif\_\-proto\_\-version}!XrlPimNode@{XrlPimNode}}
\subsubsection[{pim\_\-0\_\-1\_\-set\_\-vif\_\-proto\_\-version}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::pim\_\-0\_\-1\_\-set\_\-vif\_\-proto\_\-version (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{const uint32\_\-t \&}]{proto\_\-version}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_aa854bec81b8ff3748ed6d2b2464b5cfe}


Set \hyperlink{protocolthe-p}{the} protocol version per interface. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to apply to.\\
\hline
{\em proto\_\-version} & \hyperlink{protocolthe-p}{the} protocol version. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_a712d780283e3c3f13a1ccfbb6abf6dc6}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_a7d2b67b6a609b37bca6757a0339825df}{
\index{XrlPimNode@{XrlPimNode}!proto\_\-send@{proto\_\-send}}
\index{proto\_\-send@{proto\_\-send}!XrlPimNode@{XrlPimNode}}
\subsubsection[{proto\_\-send}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::proto\_\-send (
\begin{DoxyParamCaption}
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{const {\bf IPvX} \&}]{src\_\-address, }
\item[{const {\bf IPvX} \&}]{dst\_\-address, }
\item[{uint8\_\-t}]{ip\_\-protocol, }
\item[{int32\_\-t}]{ip\_\-ttl, }
\item[{int32\_\-t}]{ip\_\-tos, }
\item[{bool}]{ip\_\-router\_\-alert, }
\item[{bool}]{ip\_\-internet\_\-control, }
\item[{const uint8\_\-t $\ast$}]{sndbuf, }
\item[{size\_\-t}]{sndlen, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlPimNode_a7d2b67b6a609b37bca6757a0339825df}


\hyperlink{structSend}{Send} a protocol packet. 

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


\begin{DoxyParams}{Parameters}
{\em if\_\-name} & \hyperlink{protocolthe-p}{the} interface to send \hyperlink{protocolthe-p}{the} packet on. It is essential for multicast. In \hyperlink{protocolthe-p}{the} unicast case this field may be empty. \\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} vif to send \hyperlink{protocolthe-p}{the} packet on. It is essential for multicast. In \hyperlink{protocolthe-p}{the} unicast case this field may be empty. \\
\hline
{\em src\_\-address} & \hyperlink{protocolthe-p}{the} IP source address. \\
\hline
{\em dst\_\-address} & \hyperlink{protocolthe-p}{the} IP destination address. \\
\hline
{\em ip\_\-protocol} & \hyperlink{protocolthe-p}{the} IP protocol number. It must be between 1 and 255. \\
\hline
{\em ip\_\-ttl} & \hyperlink{protocolthe-p}{the} IP TTL (hop-\/limit). If it has a negative value, \hyperlink{protocolthe-p}{the} TTL will be set internally before transmission. \\
\hline
{\em ip\_\-tos} & \hyperlink{protocolthe-p}{the} Type Of Service (Diffserv/ECN bits for \hyperlink{classIPv4}{IPv4}). If it has a negative value, \hyperlink{protocolthe-p}{the} TOS will be set internally before transmission. \\
\hline
{\em ip\_\-router\_\-alert} & if true, then add \hyperlink{protocolthe-p}{the} IP Router Alert option to \hyperlink{protocolthe-p}{the} IP packet. \\
\hline
{\em ip\_\-internet\_\-control} & if true, then this is IP control traffic. \\
\hline
{\em sndbuf} & \hyperlink{protocolthe-p}{the} data buffer with \hyperlink{protocolthe-p}{the} outgoing packet. \\
\hline
{\em sndlen} & \hyperlink{protocolthe-p}{the} data length in sndbuf. \\
\hline
{\em error\_\-msg} & \hyperlink{protocolthe-p}{the} error message (if error). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classProtoNode_a71efa0229785013a79e9a5ee025d553f}{ProtoNode$<$ PimVif $>$}.

\hypertarget{classXrlPimNode_a89f73fc797736bd4a759214b21d60792}{
\index{XrlPimNode@{XrlPimNode}!raw\_\-packet4\_\-client\_\-0\_\-1\_\-recv@{raw\_\-packet4\_\-client\_\-0\_\-1\_\-recv}}
\index{raw\_\-packet4\_\-client\_\-0\_\-1\_\-recv@{raw\_\-packet4\_\-client\_\-0\_\-1\_\-recv}!XrlPimNode@{XrlPimNode}}
\subsubsection[{raw\_\-packet4\_\-client\_\-0\_\-1\_\-recv}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::raw\_\-packet4\_\-client\_\-0\_\-1\_\-recv (
\begin{DoxyParamCaption}
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{const {\bf IPv4} \&}]{src\_\-address, }
\item[{const {\bf IPv4} \&}]{dst\_\-address, }
\item[{const uint32\_\-t \&}]{ip\_\-protocol, }
\item[{const int32\_\-t \&}]{ip\_\-ttl, }
\item[{const int32\_\-t \&}]{ip\_\-tos, }
\item[{const bool \&}]{ip\_\-router\_\-alert, }
\item[{const bool \&}]{ip\_\-internet\_\-control, }
\item[{const vector$<$ uint8\_\-t $>$ \&}]{payload}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_a89f73fc797736bd4a759214b21d60792}


Receive an \hyperlink{classIPv4}{IPv4} packet from a raw socket. 


\begin{DoxyParams}{Parameters}
{\em if\_\-name} & \hyperlink{protocolthe-p}{the} interface name \hyperlink{protocolthe-p}{the} packet arrived on.\\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} vif name \hyperlink{protocolthe-p}{the} packet arrived on.\\
\hline
{\em src\_\-address} & \hyperlink{protocolthe-p}{the} IP source address.\\
\hline
{\em dst\_\-address} & \hyperlink{protocolthe-p}{the} IP destination address.\\
\hline
{\em ip\_\-protocol} & \hyperlink{protocolthe-p}{the} IP protocol number.\\
\hline
{\em ip\_\-ttl} & \hyperlink{protocolthe-p}{the} IP TTL (hop-\/limit). If it has a negative value, then \hyperlink{protocolthe-p}{the} received value is unknown.\\
\hline
{\em ip\_\-tos} & \hyperlink{protocolthe-p}{the} Type of Service (Diffserv/ECN bits for \hyperlink{classIPv4}{IPv4}). If it has a negative value, then \hyperlink{protocolthe-p}{the} received value is unknown.\\
\hline
{\em ip\_\-router\_\-alert} & if true, \hyperlink{protocolthe-p}{the} IP Router Alert option was included in \hyperlink{protocolthe-p}{the} IP packet.\\
\hline
{\em ip\_\-internet\_\-control} & if true, then this is IP control traffic. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_afd7ce80eacf75d9ff81b6d41efaeebf3}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_abc9718be00d94c04859b40892076ef62}{
\index{XrlPimNode@{XrlPimNode}!redist\_\-transaction4\_\-0\_\-1\_\-abort\_\-transaction@{redist\_\-transaction4\_\-0\_\-1\_\-abort\_\-transaction}}
\index{redist\_\-transaction4\_\-0\_\-1\_\-abort\_\-transaction@{redist\_\-transaction4\_\-0\_\-1\_\-abort\_\-transaction}!XrlPimNode@{XrlPimNode}}
\subsubsection[{redist\_\-transaction4\_\-0\_\-1\_\-abort\_\-transaction}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::redist\_\-transaction4\_\-0\_\-1\_\-abort\_\-transaction (
\begin{DoxyParamCaption}
\item[{const uint32\_\-t \&}]{tid}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_abc9718be00d94c04859b40892076ef62}


Abort transaction. 


\begin{DoxyParams}{Parameters}
{\em tid} & \hyperlink{protocolthe-p}{the} transaction ID of this transaction. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_ac15092f9fbbdf95a73e2451a9a53de6c}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_a814cd011e1d5ed2eb42b418059d8bd21}{
\index{XrlPimNode@{XrlPimNode}!redist\_\-transaction4\_\-0\_\-1\_\-add\_\-route@{redist\_\-transaction4\_\-0\_\-1\_\-add\_\-route}}
\index{redist\_\-transaction4\_\-0\_\-1\_\-add\_\-route@{redist\_\-transaction4\_\-0\_\-1\_\-add\_\-route}!XrlPimNode@{XrlPimNode}}
\subsubsection[{redist\_\-transaction4\_\-0\_\-1\_\-add\_\-route}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::redist\_\-transaction4\_\-0\_\-1\_\-add\_\-route (
\begin{DoxyParamCaption}
\item[{const uint32\_\-t \&}]{tid, }
\item[{const {\bf IPv4Net} \&}]{dst, }
\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 \&}]{cookie, }
\item[{const string \&}]{protocol\_\-origin}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_a814cd011e1d5ed2eb42b418059d8bd21}


Add/delete a routing entry. 


\begin{DoxyParams}{Parameters}
{\em tid} & \hyperlink{protocolthe-p}{the} transaction ID of this transaction.\\
\hline
{\em dst} & destination network.\\
\hline
{\em nexthop} & nexthop router address.\\
\hline
{\em ifname} & interface name associated with nexthop.\\
\hline
{\em vifname} & virtual interface name with nexthop.\\
\hline
{\em metric} & origin routing protocol metric for route.\\
\hline
{\em admin\_\-distance} & administrative distance of origin routing protocol.\\
\hline
{\em cookie} & value set by \hyperlink{protocolthe-p}{the} requestor to identify redistribution source. Typical value is \hyperlink{protocolthe-p}{the} originating protocol name.\\
\hline
{\em protocol\_\-origin} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} protocol that originated this routing entry. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_ae88ee577f06cf434c5743e21d4d336ea}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_a68479510e1d3d5e14ce60f8285d3916b}{
\index{XrlPimNode@{XrlPimNode}!redist\_\-transaction4\_\-0\_\-1\_\-commit\_\-transaction@{redist\_\-transaction4\_\-0\_\-1\_\-commit\_\-transaction}}
\index{redist\_\-transaction4\_\-0\_\-1\_\-commit\_\-transaction@{redist\_\-transaction4\_\-0\_\-1\_\-commit\_\-transaction}!XrlPimNode@{XrlPimNode}}
\subsubsection[{redist\_\-transaction4\_\-0\_\-1\_\-commit\_\-transaction}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::redist\_\-transaction4\_\-0\_\-1\_\-commit\_\-transaction (
\begin{DoxyParamCaption}
\item[{const uint32\_\-t \&}]{tid}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_a68479510e1d3d5e14ce60f8285d3916b}


Commit transaction. 


\begin{DoxyParams}{Parameters}
{\em tid} & \hyperlink{protocolthe-p}{the} transaction ID of this transaction. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_a83fc82bb2221bb50fd5b517ff8c1bb7e}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_a4f6702143ef06191a01a381eccb0cbb3}{
\index{XrlPimNode@{XrlPimNode}!redist\_\-transaction4\_\-0\_\-1\_\-delete\_\-all\_\-routes@{redist\_\-transaction4\_\-0\_\-1\_\-delete\_\-all\_\-routes}}
\index{redist\_\-transaction4\_\-0\_\-1\_\-delete\_\-all\_\-routes@{redist\_\-transaction4\_\-0\_\-1\_\-delete\_\-all\_\-routes}!XrlPimNode@{XrlPimNode}}
\subsubsection[{redist\_\-transaction4\_\-0\_\-1\_\-delete\_\-all\_\-routes}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::redist\_\-transaction4\_\-0\_\-1\_\-delete\_\-all\_\-routes (
\begin{DoxyParamCaption}
\item[{const uint32\_\-t \&}]{tid, }
\item[{const string \&}]{cookie}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_a4f6702143ef06191a01a381eccb0cbb3}


Delete all routing entries. 


\begin{DoxyParams}{Parameters}
{\em tid} & \hyperlink{protocolthe-p}{the} transaction ID of this transaction.\\
\hline
{\em cookie} & value set by \hyperlink{protocolthe-p}{the} requestor to identify redistribution source. Typical value is \hyperlink{protocolthe-p}{the} originating protocol name. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_a608cab90076be1f9a714a2c3d9a182b8}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_a128fab575160cc0ea0ce0fa5bc7a881c}{
\index{XrlPimNode@{XrlPimNode}!redist\_\-transaction4\_\-0\_\-1\_\-start\_\-transaction@{redist\_\-transaction4\_\-0\_\-1\_\-start\_\-transaction}}
\index{redist\_\-transaction4\_\-0\_\-1\_\-start\_\-transaction@{redist\_\-transaction4\_\-0\_\-1\_\-start\_\-transaction}!XrlPimNode@{XrlPimNode}}
\subsubsection[{redist\_\-transaction4\_\-0\_\-1\_\-start\_\-transaction}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::redist\_\-transaction4\_\-0\_\-1\_\-start\_\-transaction (
\begin{DoxyParamCaption}
\item[{uint32\_\-t \&}]{tid}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_a128fab575160cc0ea0ce0fa5bc7a881c}


Start transaction. 


\begin{DoxyParams}{Parameters}
{\em tid} & \hyperlink{protocolthe-p}{the} transaction ID to use for this transaction. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_af1de4a7687a0c9aeef081dc4d8dd0d94}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_aeecec9e1be58e2c62fcfff911121b85a}{
\index{XrlPimNode@{XrlPimNode}!redist\_\-transaction6\_\-0\_\-1\_\-abort\_\-transaction@{redist\_\-transaction6\_\-0\_\-1\_\-abort\_\-transaction}}
\index{redist\_\-transaction6\_\-0\_\-1\_\-abort\_\-transaction@{redist\_\-transaction6\_\-0\_\-1\_\-abort\_\-transaction}!XrlPimNode@{XrlPimNode}}
\subsubsection[{redist\_\-transaction6\_\-0\_\-1\_\-abort\_\-transaction}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::redist\_\-transaction6\_\-0\_\-1\_\-abort\_\-transaction (
\begin{DoxyParamCaption}
\item[{const uint32\_\-t \&}]{tid}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_aeecec9e1be58e2c62fcfff911121b85a}


Abort transaction. 


\begin{DoxyParams}{Parameters}
{\em tid} & \hyperlink{protocolthe-p}{the} transaction ID of this transaction. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_a589ef4245e8e457481346d4249d43317}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_a3529a6c4fe1d915a93438ab46142e1e1}{
\index{XrlPimNode@{XrlPimNode}!redist\_\-transaction6\_\-0\_\-1\_\-add\_\-route@{redist\_\-transaction6\_\-0\_\-1\_\-add\_\-route}}
\index{redist\_\-transaction6\_\-0\_\-1\_\-add\_\-route@{redist\_\-transaction6\_\-0\_\-1\_\-add\_\-route}!XrlPimNode@{XrlPimNode}}
\subsubsection[{redist\_\-transaction6\_\-0\_\-1\_\-add\_\-route}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::redist\_\-transaction6\_\-0\_\-1\_\-add\_\-route (
\begin{DoxyParamCaption}
\item[{const uint32\_\-t \&}]{tid, }
\item[{const {\bf IPv6Net} \&}]{dst, }
\item[{const {\bf IPv6} \&}]{nexthop, }
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname, }
\item[{const uint32\_\-t \&}]{metric, }
\item[{const uint32\_\-t \&}]{admin\_\-distance, }
\item[{const string \&}]{cookie, }
\item[{const string \&}]{protocol\_\-origin}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_a3529a6c4fe1d915a93438ab46142e1e1}


Add/delete a routing entry. 


\begin{DoxyParams}{Parameters}
{\em tid} & \hyperlink{protocolthe-p}{the} transaction ID of this transaction.\\
\hline
{\em dst} & destination network.\\
\hline
{\em nexthop} & nexthop router address.\\
\hline
{\em ifname} & interface name associated with nexthop.\\
\hline
{\em vifname} & virtual interface name with nexthop.\\
\hline
{\em metric} & origin routing protocol metric for route.\\
\hline
{\em admin\_\-distance} & administrative distance of origin routing protocol.\\
\hline
{\em cookie} & value set by \hyperlink{protocolthe-p}{the} requestor to identify redistribution source. Typical value is \hyperlink{protocolthe-p}{the} originating protocol name.\\
\hline
{\em protocol\_\-origin} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} protocol that originated this routing entry. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_a26eb9b56881b9bab061d193523362067}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_a7b83d885eb5d4fa7a043bd6c409e5836}{
\index{XrlPimNode@{XrlPimNode}!redist\_\-transaction6\_\-0\_\-1\_\-commit\_\-transaction@{redist\_\-transaction6\_\-0\_\-1\_\-commit\_\-transaction}}
\index{redist\_\-transaction6\_\-0\_\-1\_\-commit\_\-transaction@{redist\_\-transaction6\_\-0\_\-1\_\-commit\_\-transaction}!XrlPimNode@{XrlPimNode}}
\subsubsection[{redist\_\-transaction6\_\-0\_\-1\_\-commit\_\-transaction}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::redist\_\-transaction6\_\-0\_\-1\_\-commit\_\-transaction (
\begin{DoxyParamCaption}
\item[{const uint32\_\-t \&}]{tid}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_a7b83d885eb5d4fa7a043bd6c409e5836}


Commit transaction. 


\begin{DoxyParams}{Parameters}
{\em tid} & \hyperlink{protocolthe-p}{the} transaction ID of this transaction. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_a39b405e4bb1767637cdb2b4a496c7fd1}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_a98f4220e6412800b068028afbff171ba}{
\index{XrlPimNode@{XrlPimNode}!redist\_\-transaction6\_\-0\_\-1\_\-delete\_\-all\_\-routes@{redist\_\-transaction6\_\-0\_\-1\_\-delete\_\-all\_\-routes}}
\index{redist\_\-transaction6\_\-0\_\-1\_\-delete\_\-all\_\-routes@{redist\_\-transaction6\_\-0\_\-1\_\-delete\_\-all\_\-routes}!XrlPimNode@{XrlPimNode}}
\subsubsection[{redist\_\-transaction6\_\-0\_\-1\_\-delete\_\-all\_\-routes}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlPimNode::redist\_\-transaction6\_\-0\_\-1\_\-delete\_\-all\_\-routes (
\begin{DoxyParamCaption}
\item[{const uint32\_\-t \&}]{tid, }
\item[{const string \&}]{cookie}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlPimNode_a98f4220e6412800b068028afbff171ba}


Delete all routing entries. 


\begin{DoxyParams}{Parameters}
{\em tid} & \hyperlink{protocolthe-p}{the} transaction ID of this transaction.\\
\hline
{\em cookie} & value set by \hyperlink{protocolthe-p}{the} requestor to identify redistribution source. Typical value is \hyperlink{protocolthe-p}{the} originating protocol name. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlPimTargetBase_afd045ceb48729ed8a5522da8aec0a516}{XrlPimTargetBase}.

\hypertarget{classXrlPimNode_a0a492ae65a7ec06220364262dc1c4618}{
\index{XrlPimNode@{XrlPimNode}!register\_\-protocol@{register\_\-protocol}}
\index{register\_\-protocol@{register\_\-protocol}!XrlPimNode@{XrlPimNode}}
\subsubsection[{register\_\-protocol}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::register\_\-protocol (
\begin{DoxyParamCaption}
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{uint8\_\-t}]{ip\_\-protocol}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlPimNode_a0a492ae65a7ec06220364262dc1c4618}


Register a protocol on an interface in \hyperlink{protocolthe-p}{the} Multicast FEA. 


\begin{DoxyParams}{Parameters}
{\em if\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} interface to register for \hyperlink{protocolthe-p}{the} particular protocol. \\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to register for \hyperlink{protocolthe-p}{the} particular protocol. \\
\hline
{\em ip\_\-protocol} & \hyperlink{protocolthe-p}{the} IP protocol number. It must be between 1 and 255. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classPimNode_ae0873c04d4b1d3ebb8e6fec7e15f2baf}{PimNode}.

\hypertarget{classXrlPimNode_a8dec86fbfe68b1299f850534575cc4e6}{
\index{XrlPimNode@{XrlPimNode}!register\_\-receiver@{register\_\-receiver}}
\index{register\_\-receiver@{register\_\-receiver}!XrlPimNode@{XrlPimNode}}
\subsubsection[{register\_\-receiver}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::register\_\-receiver (
\begin{DoxyParamCaption}
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{uint8\_\-t}]{ip\_\-protocol, }
\item[{bool}]{enable\_\-multicast\_\-loopback}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlPimNode_a8dec86fbfe68b1299f850534575cc4e6}


Register as a receiver to receive packets. 

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{DoxyParams}{Parameters}
{\em if\_\-name} & \hyperlink{protocolthe-p}{the} interface through which packets should be accepted. \\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} vif through which packets should be accepted. \\
\hline
{\em ip\_\-protocol} & \hyperlink{protocolthe-p}{the} IP protocol number that \hyperlink{protocolthe-p}{the} receiver is interested in. It must be between 0 and 255. A protocol number of 0 is used to specify all protocols. \\
\hline
{\em enable\_\-multicast\_\-loopback} & if true then enable delivering of multicast datagrams back to this host (assuming \hyperlink{protocolthe-p}{the} host is a member of \hyperlink{protocolthe-p}{the} same multicast group). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classPimNode_a3b8e1d1b54cf188a2157e3fc8290ab26}{PimNode}.

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


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{classPimNode_a5155a18e94bac9e77882d688aeeae5f9}{PimNode}.

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


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{classPimNode_afe6b8a98defe4627acc5c630fec42acb}{PimNode}.

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


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

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


Reimplemented from \hyperlink{classProtoState_a125aaf4996706748d991679b61508bc7}{ProtoState}.

\hypertarget{classXrlPimNode_a447cb705b68643e8c7740751d86ebc24}{
\index{XrlPimNode@{XrlPimNode}!start\_\-bsr@{start\_\-bsr}}
\index{start\_\-bsr@{start\_\-bsr}!XrlPimNode@{XrlPimNode}}
\subsubsection[{start\_\-bsr}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::start\_\-bsr (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classXrlPimNode_a447cb705b68643e8c7740751d86ebc24}


Start \hyperlink{protocolthe-p}{the} Bootstrap mechanism. 

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


Reimplemented from \hyperlink{classPimNode_a1983f3cc0f29d02779f3e5e386c086e4}{PimNode}.

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


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

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


Reimplemented from \hyperlink{classProtoState_acd5b3d7a1b37e45893012210943926df}{ProtoState}.

\hypertarget{classXrlPimNode_aa1c25847bec3de5ab282a7c9f0e2b6e9}{
\index{XrlPimNode@{XrlPimNode}!stop\_\-bsr@{stop\_\-bsr}}
\index{stop\_\-bsr@{stop\_\-bsr}!XrlPimNode@{XrlPimNode}}
\subsubsection[{stop\_\-bsr}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::stop\_\-bsr (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classXrlPimNode_aa1c25847bec3de5ab282a7c9f0e2b6e9}


Stop \hyperlink{protocolthe-p}{the} Bootstrap mechanism. 

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


Reimplemented from \hyperlink{classPimNode_a0469e3cbf123f41d9d28a9dae7bd5a19}{PimNode}.

\hypertarget{classXrlPimNode_ae329725981b093222fa18f5c412e4bd7}{
\index{XrlPimNode@{XrlPimNode}!unregister\_\-protocol@{unregister\_\-protocol}}
\index{unregister\_\-protocol@{unregister\_\-protocol}!XrlPimNode@{XrlPimNode}}
\subsubsection[{unregister\_\-protocol}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::unregister\_\-protocol (
\begin{DoxyParamCaption}
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlPimNode_ae329725981b093222fa18f5c412e4bd7}


Unregister a protocol on an interface in \hyperlink{protocolthe-p}{the} Multicast FEA. 


\begin{DoxyParams}{Parameters}
{\em if\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} interface to unregister for \hyperlink{protocolthe-p}{the} particular protocol. \\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to unregister for \hyperlink{protocolthe-p}{the} particular protocol. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classPimNode_a353bb60dab3ea193fe80a4b11dd6d219}{PimNode}.

\hypertarget{classXrlPimNode_ab651d7e27f7e37683a64bea576f4e809}{
\index{XrlPimNode@{XrlPimNode}!unregister\_\-receiver@{unregister\_\-receiver}}
\index{unregister\_\-receiver@{unregister\_\-receiver}!XrlPimNode@{XrlPimNode}}
\subsubsection[{unregister\_\-receiver}]{\setlength{\rightskip}{0pt plus 5cm}int XrlPimNode::unregister\_\-receiver (
\begin{DoxyParamCaption}
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{uint8\_\-t}]{ip\_\-protocol}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlPimNode_ab651d7e27f7e37683a64bea576f4e809}


Unregister as a receiver to receive packets. 

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{DoxyParams}{Parameters}
{\em if\_\-name} & \hyperlink{protocolthe-p}{the} interface through which packets should not be accepted. \\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} vif through which packets should not be accepted. \\
\hline
{\em ip\_\-protocol} & \hyperlink{protocolthe-p}{the} IP \hyperlink{classProtocol}{Protocol} number that \hyperlink{protocolthe-p}{the} receiver is not interested in anymore. It must be between 0 and 255. A protocol number of 0 is used to specify all protocols. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classPimNode_a4a029cbf20ade79a2cbee9c4c0af2234}{PimNode}.

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


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}
\hypertarget{classXrlPimNode_a34b0d7105069c60955a34e17cb8c5eb2}{
\index{XrlPimNode@{XrlPimNode}!xrl\_\-router@{xrl\_\-router}}
\index{xrl\_\-router@{xrl\_\-router}!XrlPimNode@{XrlPimNode}}
\subsubsection[{xrl\_\-router}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf XrlRouter}\& XrlPimNode::xrl\_\-router (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classXrlPimNode_a34b0d7105069c60955a34e17cb8c5eb2}


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

\begin{DoxyReturn}{Returns}
a const 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/pim/xrl\_\-pim\_\-node.hh\item 
/home/greearb/git/xorp.ct.github/xorp/pim/xrl\_\-pim\_\-node.cc\end{DoxyCompactItemize}
