\hypertarget{classXrlMld6igmpNode}{
\section{XrlMld6igmpNode Class Reference}
\label{classXrlMld6igmpNode}\index{XrlMld6igmpNode@{XrlMld6igmpNode}}
}
Inheritance diagram for XrlMld6igmpNode:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=9.000000cm]{classXrlMld6igmpNode}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classXrlMld6igmpNode_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{classXrlMld6igmpNode_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{classXrlMld6igmpNode_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{classXrlMld6igmpNode_1_1SendAddDeleteMembership}{SendAddDeleteMembership}
\begin{DoxyCompactList}\small\item\em Class for handling \hyperlink{protocolthe-p}{the} queue of sending Add/Delete membership requests. \item\end{DoxyCompactList}\item 
class \hyperlink{classXrlMld6igmpNode_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{classXrlMld6igmpNode_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{classXrlMld6igmpNode_a9006d8fc9d6f8521c152bc92be27639d}{
{\bfseries XrlMld6igmpNode} (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)}
\label{classXrlMld6igmpNode_a9006d8fc9d6f8521c152bc92be27639d}

\item 
int \hyperlink{classXrlMld6igmpNode_a9566a40efbdf79965025f29e9dde77bf}{startup} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{classStartup}{Startup} \hyperlink{protocolthe-p}{the} node operation. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlMld6igmpNode_af69a7c7cb84ff9d379fd5721679d8ae5}{shutdown} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{classShutdown}{Shutdown} \hyperlink{protocolthe-p}{the} node operation. \item\end{DoxyCompactList}\item 
\hyperlink{classXrlRouter}{XrlRouter} \& \hyperlink{classXrlMld6igmpNode_a2ea1ed3c94e156c92027791e21684be8}{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{classXrlMld6igmpNode_a742fa9c69de0ebd7869ce58c3d3b9931}{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{classXrlMld6igmpNode_ac2c7707f76311b9425526e6cf05d94a1}{
int {\bfseries enable\_\-cli} ()}
\label{classXrlMld6igmpNode_ac2c7707f76311b9425526e6cf05d94a1}

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

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

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

\item 
\hypertarget{classXrlMld6igmpNode_a43886d0eb3e70ed0346475412fd80a01}{
int {\bfseries enable\_\-mld6igmp} ()}
\label{classXrlMld6igmpNode_a43886d0eb3e70ed0346475412fd80a01}

\item 
\hypertarget{classXrlMld6igmpNode_a9ef5a8cce3265af370ae7727f81d7a02}{
int {\bfseries disable\_\-mld6igmp} ()}
\label{classXrlMld6igmpNode_a9ef5a8cce3265af370ae7727f81d7a02}

\item 
\hypertarget{classXrlMld6igmpNode_aa3936f0996e20d7395fdf9998c321bcd}{
int {\bfseries start\_\-mld6igmp} ()}
\label{classXrlMld6igmpNode_aa3936f0996e20d7395fdf9998c321bcd}

\item 
\hypertarget{classXrlMld6igmpNode_a22e5452f6496503d9e26476f560161a8}{
int {\bfseries stop\_\-mld6igmp} ()}
\label{classXrlMld6igmpNode_a22e5452f6496503d9e26476f560161a8}

\item 
\hypertarget{classXrlMld6igmpNode_aa75c2f86580c987627afe93e34c30dbe}{
void {\bfseries send\_\-register\_\-unregister\_\-interest} ()}
\label{classXrlMld6igmpNode_aa75c2f86580c987627afe93e34c30dbe}

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

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

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

\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} a protocol message through \hyperlink{protocolthe-p}{the} FEA. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlMld6igmpNode_a9006d8fc9d6f8521c152bc92be27639d}{
{\bfseries XrlMld6igmpNode} (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)}
\label{classXrlMld6igmpNode_a9006d8fc9d6f8521c152bc92be27639d}

\item 
int \hyperlink{classXrlMld6igmpNode_a9566a40efbdf79965025f29e9dde77bf}{startup} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{classStartup}{Startup} \hyperlink{protocolthe-p}{the} node operation. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlMld6igmpNode_af69a7c7cb84ff9d379fd5721679d8ae5}{shutdown} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{classShutdown}{Shutdown} \hyperlink{protocolthe-p}{the} node operation. \item\end{DoxyCompactList}\item 
\hyperlink{classXrlRouter}{XrlRouter} \& \hyperlink{classXrlMld6igmpNode_a2ea1ed3c94e156c92027791e21684be8}{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{classXrlMld6igmpNode_a742fa9c69de0ebd7869ce58c3d3b9931}{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{classXrlMld6igmpNode_ac2c7707f76311b9425526e6cf05d94a1}{
int {\bfseries enable\_\-cli} ()}
\label{classXrlMld6igmpNode_ac2c7707f76311b9425526e6cf05d94a1}

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

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

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

\item 
\hypertarget{classXrlMld6igmpNode_a43886d0eb3e70ed0346475412fd80a01}{
int {\bfseries enable\_\-mld6igmp} ()}
\label{classXrlMld6igmpNode_a43886d0eb3e70ed0346475412fd80a01}

\item 
\hypertarget{classXrlMld6igmpNode_a9ef5a8cce3265af370ae7727f81d7a02}{
int {\bfseries disable\_\-mld6igmp} ()}
\label{classXrlMld6igmpNode_a9ef5a8cce3265af370ae7727f81d7a02}

\item 
\hypertarget{classXrlMld6igmpNode_aa3936f0996e20d7395fdf9998c321bcd}{
int {\bfseries start\_\-mld6igmp} ()}
\label{classXrlMld6igmpNode_aa3936f0996e20d7395fdf9998c321bcd}

\item 
\hypertarget{classXrlMld6igmpNode_a22e5452f6496503d9e26476f560161a8}{
int {\bfseries stop\_\-mld6igmp} ()}
\label{classXrlMld6igmpNode_a22e5452f6496503d9e26476f560161a8}

\item 
\hypertarget{classXrlMld6igmpNode_aa75c2f86580c987627afe93e34c30dbe}{
void {\bfseries send\_\-register\_\-unregister\_\-interest} ()}
\label{classXrlMld6igmpNode_aa75c2f86580c987627afe93e34c30dbe}

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

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

\item 
\hypertarget{classXrlMld6igmpNode_af0f2546adb344efee18dac93b3d9f773}{
void {\bfseries send\_\-protocol\_\-message} ()}
\label{classXrlMld6igmpNode_af0f2546adb344efee18dac93b3d9f773}

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

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

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

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

\begin{DoxyCompactList}\small\item\em \hyperlink{classShutdown}{Shutdown} cleanly. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_ab18c4e6b25de8417e2f475861cf10625}{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{classXrlMld6igmpNode_a87f5b7040d0c74ed7d08c7b99cd4c241}{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{classXrlMld6igmpNode_a4288a8ea6729a91e5c435296a0b00c03}{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{classXrlMld6igmpNode_a7931e6a15b559e9fd3e78089c5342aff}{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{classXrlMld6igmpNode_ae6a38c5298cbabf07861fc599c57fdca}{raw\_\-packet6\_\-client\_\-0\_\-1\_\-recv} (const string \&if\_\-name, const string \&vif\_\-name, const \hyperlink{classIPv6}{IPv6} \&src\_\-address, const \hyperlink{classIPv6}{IPv6} \&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 \hyperlink{classXrlAtomList}{XrlAtomList} \&ext\_\-headers\_\-type, const \hyperlink{classXrlAtomList}{XrlAtomList} \&ext\_\-headers\_\-payload, const vector$<$ uint8\_\-t $>$ \&payload)
\begin{DoxyCompactList}\small\item\em Receive an \hyperlink{classIPv6}{IPv6} packet from a raw socket. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_ab9fe56e22251fdcde95f0aedab9d3267}{mld6igmp\_\-0\_\-1\_\-enable\_\-vif} (const string \&vif\_\-name, const bool \&enable)
\begin{DoxyCompactList}\small\item\em Enable/disable/start/stop a MLD6IGMP vif interface. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlMld6igmpNode_a46bf79cec212d7c84d939789b440aafa}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries mld6igmp\_\-0\_\-1\_\-start\_\-vif} (const string \&vif\_\-name)}
\label{classXrlMld6igmpNode_a46bf79cec212d7c84d939789b440aafa}

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

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

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

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

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

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

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

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a569db207b200285dca2c9678d9a7569f}{mld6igmp\_\-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{classXrlMld6igmpNode_ac20f731a03396ed3316953d0e46ab235}{mld6igmp\_\-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{classXrlMld6igmpNode_ae1ca5e35e659b8e43d529b03b6eaf06e}{mld6igmp\_\-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{classXrlMld6igmpNode_ada9de616f93bccd1bd1cd234e0753d4f}{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check} (const string \&vif\_\-name, bool \&enabled)
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} IP Router Alert option check per interface for received packets. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a555023488731bf23cb5ab28616217c16}{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check} (const string \&vif\_\-name, const bool \&enable)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} IP Router Alert option check per interface for received packets. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a4d80a85b02601abac29772f7f88538b7}{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check} (const string \&vif\_\-name)
\begin{DoxyCompactList}\small\item\em Reset \hyperlink{protocolthe-p}{the} IP Router Alert option check per interface for received packets to its default value. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a6548ec1f0408e1e76a9fa22a1de65450}{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-interval} (const string \&vif\_\-name, uint32\_\-t \&interval\_\-sec, uint32\_\-t \&interval\_\-usec)
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} Query Interval per interface. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a0ecdf72689611df7a80d825fbc02357b}{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-interval} (const string \&vif\_\-name, const uint32\_\-t \&interval\_\-sec, const uint32\_\-t \&interval\_\-usec)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} Query Interval per interface. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a0f670e3401bb4f8f6eef24c6ceec246e}{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-interval} (const string \&vif\_\-name)
\begin{DoxyCompactList}\small\item\em Reset \hyperlink{protocolthe-p}{the} Query Interval per interface to its default value. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_abda8a15dcde97e3315bc9ad2d77c95f0}{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-last\_\-member\_\-interval} (const string \&vif\_\-name, uint32\_\-t \&interval\_\-sec, uint32\_\-t \&interval\_\-usec)
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} Last Member Query Interval per interface. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a9aadf77f339321386f9515a2ccb55bc2}{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-last\_\-member\_\-interval} (const string \&vif\_\-name, const uint32\_\-t \&interval\_\-sec, const uint32\_\-t \&interval\_\-usec)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} Last Member Query Interval per interface. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a8167cd701bb98df4af1e5fe737e1d754}{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-last\_\-member\_\-interval} (const string \&vif\_\-name)
\begin{DoxyCompactList}\small\item\em Reset \hyperlink{protocolthe-p}{the} Last Member Query Interval per interface to its default value. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_aa893929a9af0056c97e54c3aba4ef1b7}{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-response\_\-interval} (const string \&vif\_\-name, uint32\_\-t \&interval\_\-sec, uint32\_\-t \&interval\_\-usec)
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} Query Response Interval per interface. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a6f5731582049901927a4266267fb8373}{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-response\_\-interval} (const string \&vif\_\-name, const uint32\_\-t \&interval\_\-sec, const uint32\_\-t \&interval\_\-usec)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} Query Response Interval per interface. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a45a087b7c374a3ba3c34328339b8da1a}{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-response\_\-interval} (const string \&vif\_\-name)
\begin{DoxyCompactList}\small\item\em Reset \hyperlink{protocolthe-p}{the} Query Response Interval per interface to its default value. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a87eb8eb6fa1403a3eb571fa1a5f001a5}{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-robust\_\-count} (const string \&vif\_\-name, uint32\_\-t \&robust\_\-count)
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} Robustness Variable count per interface. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_acbc64ba7da5f8b10629cc5d946b5867a}{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-robust\_\-count} (const string \&vif\_\-name, const uint32\_\-t \&robust\_\-count)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} Robustness Variable count per interface. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_ac0d47d016b94cea3d4915d1710880f68}{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-robust\_\-count} (const string \&vif\_\-name)
\begin{DoxyCompactList}\small\item\em Reset \hyperlink{protocolthe-p}{the} Robustness Variable count per interface to its default value. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a62c7bed132614284ae0277feb38e126d}{mld6igmp\_\-0\_\-1\_\-log\_\-trace\_\-all} (const bool \&enable)
\begin{DoxyCompactList}\small\item\em Enable/disable \hyperlink{protocolthe-p}{the} MLD6IGMP trace log for all operations. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a75489439d79c72342d3e4622d42eec61}{mld6igmp\_\-0\_\-1\_\-add\_\-protocol4} (const string \&xrl\_\-sender\_\-name, const string \&protocol\_\-name, const uint32\_\-t \&protocol\_\-id, const string \&vif\_\-name, const uint32\_\-t \&vif\_\-index)
\begin{DoxyCompactList}\small\item\em Add/delete a client protocol in \hyperlink{protocolthe-p}{the} MLD/IGMP protocol. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlMld6igmpNode_a3cc05050dfd0ea951a97f8511898da62}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries mld6igmp\_\-0\_\-1\_\-add\_\-protocol6} (const string \&xrl\_\-sender\_\-name, const string \&protocol\_\-name, const uint32\_\-t \&protocol\_\-id, const string \&vif\_\-name, const uint32\_\-t \&vif\_\-index)}
\label{classXrlMld6igmpNode_a3cc05050dfd0ea951a97f8511898da62}

\item 
\hypertarget{classXrlMld6igmpNode_a07dc42c60e26a0ffb507f76f459656c5}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries mld6igmp\_\-0\_\-1\_\-delete\_\-protocol4} (const string \&xrl\_\-sender\_\-name, const string \&protocol\_\-name, const uint32\_\-t \&protocol\_\-id, const string \&vif\_\-name, const uint32\_\-t \&vif\_\-index)}
\label{classXrlMld6igmpNode_a07dc42c60e26a0ffb507f76f459656c5}

\item 
\hypertarget{classXrlMld6igmpNode_ac9f3c9b7009e356bc9bf24e1eb788772}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries mld6igmp\_\-0\_\-1\_\-delete\_\-protocol6} (const string \&xrl\_\-sender\_\-name, const string \&protocol\_\-name, const uint32\_\-t \&protocol\_\-id, const string \&vif\_\-name, const uint32\_\-t \&vif\_\-index)}
\label{classXrlMld6igmpNode_ac9f3c9b7009e356bc9bf24e1eb788772}

\item 
\hypertarget{classXrlMld6igmpNode_a257bcb903b71687ba087b9402b595bd8}{
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a257bcb903b71687ba087b9402b595bd8}{common\_\-0\_\-1\_\-get\_\-target\_\-name} (string \&name)}
\label{classXrlMld6igmpNode_a257bcb903b71687ba087b9402b595bd8}

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

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

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

\begin{DoxyCompactList}\small\item\em \hyperlink{classShutdown}{Shutdown} cleanly. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_ae29ef36a945f30bd21f1fd5635a53382}{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{classXrlMld6igmpNode_ab18c4e6b25de8417e2f475861cf10625}{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{classXrlMld6igmpNode_a87f5b7040d0c74ed7d08c7b99cd4c241}{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{classXrlMld6igmpNode_a4288a8ea6729a91e5c435296a0b00c03}{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{classXrlMld6igmpNode_a7931e6a15b559e9fd3e78089c5342aff}{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{classXrlMld6igmpNode_ae6a38c5298cbabf07861fc599c57fdca}{raw\_\-packet6\_\-client\_\-0\_\-1\_\-recv} (const string \&if\_\-name, const string \&vif\_\-name, const \hyperlink{classIPv6}{IPv6} \&src\_\-address, const \hyperlink{classIPv6}{IPv6} \&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 \hyperlink{classXrlAtomList}{XrlAtomList} \&ext\_\-headers\_\-type, const \hyperlink{classXrlAtomList}{XrlAtomList} \&ext\_\-headers\_\-payload, const vector$<$ uint8\_\-t $>$ \&payload)
\begin{DoxyCompactList}\small\item\em Receive an \hyperlink{classIPv6}{IPv6} packet from a raw socket. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_ab9fe56e22251fdcde95f0aedab9d3267}{mld6igmp\_\-0\_\-1\_\-enable\_\-vif} (const string \&vif\_\-name, const bool \&enable)
\begin{DoxyCompactList}\small\item\em Enable/disable/start/stop a MLD6IGMP vif interface. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlMld6igmpNode_a46bf79cec212d7c84d939789b440aafa}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries mld6igmp\_\-0\_\-1\_\-start\_\-vif} (const string \&vif\_\-name)}
\label{classXrlMld6igmpNode_a46bf79cec212d7c84d939789b440aafa}

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

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

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

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

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

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

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

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a569db207b200285dca2c9678d9a7569f}{mld6igmp\_\-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{classXrlMld6igmpNode_ac20f731a03396ed3316953d0e46ab235}{mld6igmp\_\-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{classXrlMld6igmpNode_ae1ca5e35e659b8e43d529b03b6eaf06e}{mld6igmp\_\-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{classXrlMld6igmpNode_ada9de616f93bccd1bd1cd234e0753d4f}{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check} (const string \&vif\_\-name, bool \&enabled)
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} IP Router Alert option check per interface for received packets. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a555023488731bf23cb5ab28616217c16}{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check} (const string \&vif\_\-name, const bool \&enable)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} IP Router Alert option check per interface for received packets. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a4d80a85b02601abac29772f7f88538b7}{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check} (const string \&vif\_\-name)
\begin{DoxyCompactList}\small\item\em Reset \hyperlink{protocolthe-p}{the} IP Router Alert option check per interface for received packets to its default value. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a6548ec1f0408e1e76a9fa22a1de65450}{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-interval} (const string \&vif\_\-name, uint32\_\-t \&interval\_\-sec, uint32\_\-t \&interval\_\-usec)
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} Query Interval per interface. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a0ecdf72689611df7a80d825fbc02357b}{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-interval} (const string \&vif\_\-name, const uint32\_\-t \&interval\_\-sec, const uint32\_\-t \&interval\_\-usec)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} Query Interval per interface. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a0f670e3401bb4f8f6eef24c6ceec246e}{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-interval} (const string \&vif\_\-name)
\begin{DoxyCompactList}\small\item\em Reset \hyperlink{protocolthe-p}{the} Query Interval per interface to its default value. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_abda8a15dcde97e3315bc9ad2d77c95f0}{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-last\_\-member\_\-interval} (const string \&vif\_\-name, uint32\_\-t \&interval\_\-sec, uint32\_\-t \&interval\_\-usec)
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} Last Member Query Interval per interface. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a9aadf77f339321386f9515a2ccb55bc2}{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-last\_\-member\_\-interval} (const string \&vif\_\-name, const uint32\_\-t \&interval\_\-sec, const uint32\_\-t \&interval\_\-usec)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} Last Member Query Interval per interface. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a8167cd701bb98df4af1e5fe737e1d754}{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-last\_\-member\_\-interval} (const string \&vif\_\-name)
\begin{DoxyCompactList}\small\item\em Reset \hyperlink{protocolthe-p}{the} Last Member Query Interval per interface to its default value. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_aa893929a9af0056c97e54c3aba4ef1b7}{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-response\_\-interval} (const string \&vif\_\-name, uint32\_\-t \&interval\_\-sec, uint32\_\-t \&interval\_\-usec)
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} Query Response Interval per interface. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a6f5731582049901927a4266267fb8373}{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-response\_\-interval} (const string \&vif\_\-name, const uint32\_\-t \&interval\_\-sec, const uint32\_\-t \&interval\_\-usec)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} Query Response Interval per interface. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a45a087b7c374a3ba3c34328339b8da1a}{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-response\_\-interval} (const string \&vif\_\-name)
\begin{DoxyCompactList}\small\item\em Reset \hyperlink{protocolthe-p}{the} Query Response Interval per interface to its default value. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a87eb8eb6fa1403a3eb571fa1a5f001a5}{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-robust\_\-count} (const string \&vif\_\-name, uint32\_\-t \&robust\_\-count)
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} Robustness Variable count per interface. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_acbc64ba7da5f8b10629cc5d946b5867a}{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-robust\_\-count} (const string \&vif\_\-name, const uint32\_\-t \&robust\_\-count)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} Robustness Variable count per interface. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_ac0d47d016b94cea3d4915d1710880f68}{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-robust\_\-count} (const string \&vif\_\-name)
\begin{DoxyCompactList}\small\item\em Reset \hyperlink{protocolthe-p}{the} Robustness Variable count per interface to its default value. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a62c7bed132614284ae0277feb38e126d}{mld6igmp\_\-0\_\-1\_\-log\_\-trace\_\-all} (const bool \&enable)
\begin{DoxyCompactList}\small\item\em Enable/disable \hyperlink{protocolthe-p}{the} MLD6IGMP trace log for all operations. \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classXrlMld6igmpNode_a75489439d79c72342d3e4622d42eec61}{mld6igmp\_\-0\_\-1\_\-add\_\-protocol4} (const string \&xrl\_\-sender\_\-name, const string \&protocol\_\-name, const uint32\_\-t \&protocol\_\-id, const string \&vif\_\-name, const uint32\_\-t \&vif\_\-index)
\begin{DoxyCompactList}\small\item\em Add/delete a client protocol in \hyperlink{protocolthe-p}{the} MLD/IGMP protocol. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlMld6igmpNode_a3cc05050dfd0ea951a97f8511898da62}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries mld6igmp\_\-0\_\-1\_\-add\_\-protocol6} (const string \&xrl\_\-sender\_\-name, const string \&protocol\_\-name, const uint32\_\-t \&protocol\_\-id, const string \&vif\_\-name, const uint32\_\-t \&vif\_\-index)}
\label{classXrlMld6igmpNode_a3cc05050dfd0ea951a97f8511898da62}

\item 
\hypertarget{classXrlMld6igmpNode_a07dc42c60e26a0ffb507f76f459656c5}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries mld6igmp\_\-0\_\-1\_\-delete\_\-protocol4} (const string \&xrl\_\-sender\_\-name, const string \&protocol\_\-name, const uint32\_\-t \&protocol\_\-id, const string \&vif\_\-name, const uint32\_\-t \&vif\_\-index)}
\label{classXrlMld6igmpNode_a07dc42c60e26a0ffb507f76f459656c5}

\item 
\hypertarget{classXrlMld6igmpNode_ac9f3c9b7009e356bc9bf24e1eb788772}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries mld6igmp\_\-0\_\-1\_\-delete\_\-protocol6} (const string \&xrl\_\-sender\_\-name, const string \&protocol\_\-name, const uint32\_\-t \&protocol\_\-id, const string \&vif\_\-name, const uint32\_\-t \&vif\_\-index)}
\label{classXrlMld6igmpNode_ac9f3c9b7009e356bc9bf24e1eb788772}

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

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

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

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

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

\item 
int \hyperlink{classXrlMld6igmpNode_aa23f6f95eceb981970ce79f07dcdf4d9}{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{classXrlMld6igmpNode_a6eb5e62b1c92802cb27d44a328c6b427}{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{classXrlMld6igmpNode_a92eb76f356495c475cb5336774ee28ea}{
void {\bfseries fea\_\-client\_\-send\_\-register\_\-unregister\_\-receiver\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlMld6igmpNode_a92eb76f356495c475cb5336774ee28ea}

\item 
int \hyperlink{classXrlMld6igmpNode_ac083c50abc536d94d9cac915fabf313c}{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{classXrlMld6igmpNode_a25f6397f7406a12f607ff01e2b50ce46}{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{classXrlMld6igmpNode_a9d7dc4c0ae553e7789b867d3ef53e2d5}{
void {\bfseries fea\_\-client\_\-send\_\-join\_\-leave\_\-multicast\_\-group\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlMld6igmpNode_a9d7dc4c0ae553e7789b867d3ef53e2d5}

\item 
int \hyperlink{classXrlMld6igmpNode_a3c7cbcb6a45f6d10e35bd600a1b9b739}{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{classXrlMld6igmpNode_a0feede5366f1aef934cde9295613f286}{
void {\bfseries fea\_\-client\_\-send\_\-protocol\_\-message\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlMld6igmpNode_a0feede5366f1aef934cde9295613f286}

\item 
int \hyperlink{classXrlMld6igmpNode_a5cad9274b06b0d7718f15902c4c12b66}{send\_\-add\_\-membership} (const string \&dst\_\-module\_\-instance\_\-name, xorp\_\-module\_\-id dst\_\-module\_\-id, uint32\_\-t vif\_\-index, const \hyperlink{classIPvX}{IPvX} \&source, const \hyperlink{classIPvX}{IPvX} \&group)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \char`\"{}add membership\char`\"{} to a protocol that needs to be notified about multicast membership changes. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlMld6igmpNode_a0edab3816d722684d035d8459c393b6c}{send\_\-delete\_\-membership} (const string \&dst\_\-module\_\-instance\_\-name, xorp\_\-module\_\-id dst\_\-module\_\-id, uint32\_\-t vif\_\-index, const \hyperlink{classIPvX}{IPvX} \&source, const \hyperlink{classIPvX}{IPvX} \&group)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \char`\"{}delete membership\char`\"{} to a protocol that needs to be notified about multicast membership changes. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlMld6igmpNode_a22a41ed7c7d783fae70ede6780068780}{
void {\bfseries send\_\-add\_\-delete\_\-membership} ()}
\label{classXrlMld6igmpNode_a22a41ed7c7d783fae70ede6780068780}

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

\item 
int \hyperlink{classXrlMld6igmpNode_a934c186e19fa30675f1f1a0fed3d6309}{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{classXrlMld6igmpNode_aa4e5f34184b58f14711131b5aa04d450}{
void {\bfseries cli\_\-manager\_\-client\_\-send\_\-add\_\-cli\_\-command\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlMld6igmpNode_aa4e5f34184b58f14711131b5aa04d450}

\item 
int \hyperlink{classXrlMld6igmpNode_a344f5bc07eaae234d42c145145ff16f9}{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{classXrlMld6igmpNode_af170703db113f621227e7ce6d8d267af}{
void {\bfseries cli\_\-manager\_\-client\_\-send\_\-delete\_\-cli\_\-command\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlMld6igmpNode_af170703db113f621227e7ce6d8d267af}

\item 
int \hyperlink{classXrlMld6igmpNode_a0af81704402f452373c631360138ade8}{family} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} address family. \item\end{DoxyCompactList}\item 
const \hyperlink{classServiceBase}{ServiceBase} $\ast$ \hyperlink{classXrlMld6igmpNode_a0739918b54ff95f4fceb81aa12258586}{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{classXrlMld6igmpNode_a2949536de97912b34bf2405a655a73c8}{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{classXrlMld6igmpNode_a497e796b9ba91700985dfcd737e00e35}{finder\_\-connect\_\-event} ()
\begin{DoxyCompactList}\small\item\em Called when \hyperlink{classFinder}{Finder} connection is established. \item\end{DoxyCompactList}\item 
virtual void \hyperlink{classXrlMld6igmpNode_a9563d2692ed2eac3cbecb44a7728e550}{finder\_\-disconnect\_\-event} ()
\begin{DoxyCompactList}\small\item\em Called when \hyperlink{classFinder}{Finder} disconnect occurs. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlMld6igmpNode_af3e2d2aabb1ac0c539b5907de002ee31}{
void {\bfseries add\_\-task} (\hyperlink{classXrlMld6igmpNode_1_1XrlTaskBase}{XrlTaskBase} $\ast$xrl\_\-task)}
\label{classXrlMld6igmpNode_af3e2d2aabb1ac0c539b5907de002ee31}

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

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

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

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

\item 
int \hyperlink{classXrlMld6igmpNode_aa23f6f95eceb981970ce79f07dcdf4d9}{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{classXrlMld6igmpNode_a6eb5e62b1c92802cb27d44a328c6b427}{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{classXrlMld6igmpNode_a92eb76f356495c475cb5336774ee28ea}{
void {\bfseries fea\_\-client\_\-send\_\-register\_\-unregister\_\-receiver\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlMld6igmpNode_a92eb76f356495c475cb5336774ee28ea}

\item 
int \hyperlink{classXrlMld6igmpNode_ac083c50abc536d94d9cac915fabf313c}{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{classXrlMld6igmpNode_a25f6397f7406a12f607ff01e2b50ce46}{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{classXrlMld6igmpNode_a9d7dc4c0ae553e7789b867d3ef53e2d5}{
void {\bfseries fea\_\-client\_\-send\_\-join\_\-leave\_\-multicast\_\-group\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlMld6igmpNode_a9d7dc4c0ae553e7789b867d3ef53e2d5}

\item 
int \hyperlink{classXrlMld6igmpNode_a3c7cbcb6a45f6d10e35bd600a1b9b739}{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{classXrlMld6igmpNode_a0feede5366f1aef934cde9295613f286}{
void {\bfseries fea\_\-client\_\-send\_\-protocol\_\-message\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlMld6igmpNode_a0feede5366f1aef934cde9295613f286}

\item 
int \hyperlink{classXrlMld6igmpNode_a5cad9274b06b0d7718f15902c4c12b66}{send\_\-add\_\-membership} (const string \&dst\_\-module\_\-instance\_\-name, xorp\_\-module\_\-id dst\_\-module\_\-id, uint32\_\-t vif\_\-index, const \hyperlink{classIPvX}{IPvX} \&source, const \hyperlink{classIPvX}{IPvX} \&group)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \char`\"{}add membership\char`\"{} to a protocol that needs to be notified about multicast membership changes. \item\end{DoxyCompactList}\item 
int \hyperlink{classXrlMld6igmpNode_a0edab3816d722684d035d8459c393b6c}{send\_\-delete\_\-membership} (const string \&dst\_\-module\_\-instance\_\-name, xorp\_\-module\_\-id dst\_\-module\_\-id, uint32\_\-t vif\_\-index, const \hyperlink{classIPvX}{IPvX} \&source, const \hyperlink{classIPvX}{IPvX} \&group)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \char`\"{}delete membership\char`\"{} to a protocol that needs to be notified about multicast membership changes. \item\end{DoxyCompactList}\item 
\hypertarget{classXrlMld6igmpNode_a22a41ed7c7d783fae70ede6780068780}{
void {\bfseries send\_\-add\_\-delete\_\-membership} ()}
\label{classXrlMld6igmpNode_a22a41ed7c7d783fae70ede6780068780}

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

\item 
int \hyperlink{classXrlMld6igmpNode_a934c186e19fa30675f1f1a0fed3d6309}{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{classXrlMld6igmpNode_aa4e5f34184b58f14711131b5aa04d450}{
void {\bfseries cli\_\-manager\_\-client\_\-send\_\-add\_\-cli\_\-command\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlMld6igmpNode_aa4e5f34184b58f14711131b5aa04d450}

\item 
int \hyperlink{classXrlMld6igmpNode_a344f5bc07eaae234d42c145145ff16f9}{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{classXrlMld6igmpNode_af170703db113f621227e7ce6d8d267af}{
void {\bfseries cli\_\-manager\_\-client\_\-send\_\-delete\_\-cli\_\-command\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)}
\label{classXrlMld6igmpNode_af170703db113f621227e7ce6d8d267af}

\item 
int \hyperlink{classXrlMld6igmpNode_a0af81704402f452373c631360138ade8}{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{classXrlMld6igmpNode_aa33f935738fcac23731e369dc5b1b3c9}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries \_\-eventloop}}
\label{classXrlMld6igmpNode_aa33f935738fcac23731e369dc5b1b3c9}

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

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

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

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

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

\item 
\hypertarget{classXrlMld6igmpNode_a459137666943ddd9d22805228a4498be}{
\hyperlink{classXrlRawPacket6V0p1Client}{XrlRawPacket6V0p1Client} {\bfseries \_\-xrl\_\-fea\_\-client6}}
\label{classXrlMld6igmpNode_a459137666943ddd9d22805228a4498be}

\item 
\hypertarget{classXrlMld6igmpNode_a68e3f02138c26fe76acb6c6b3191a651}{
\hyperlink{classXrlMld6igmpClientV0p1Client}{XrlMld6igmpClientV0p1Client} {\bfseries \_\-xrl\_\-mld6igmp\_\-client\_\-client}}
\label{classXrlMld6igmpNode_a68e3f02138c26fe76acb6c6b3191a651}

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

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

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

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

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

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

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

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

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

\item 
\hypertarget{classXrlMld6igmpNode_ad5fa059aba6631545dd745f17d59a234}{
list$<$ \hyperlink{classXrlMld6igmpNode_1_1SendAddDeleteMembership}{SendAddDeleteMembership} $>$ {\bfseries \_\-send\_\-add\_\-delete\_\-membership\_\-queue}}
\label{classXrlMld6igmpNode_ad5fa059aba6631545dd745f17d59a234}

\item 
\hypertarget{classXrlMld6igmpNode_ad0b387bd6670d77ceccf82244f0db669}{
\hyperlink{classXorpTimer}{XorpTimer} {\bfseries \_\-send\_\-add\_\-delete\_\-membership\_\-queue\_\-timer}}
\label{classXrlMld6igmpNode_ad0b387bd6670d77ceccf82244f0db669}

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

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\hypertarget{classXrlMld6igmpNode_a934c186e19fa30675f1f1a0fed3d6309}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!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}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{add\_\-cli\_\-command\_\-to\_\-cli\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::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{classXrlMld6igmpNode_a934c186e19fa30675f1f1a0fed3d6309}


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{classXrlMld6igmpNode_a934c186e19fa30675f1f1a0fed3d6309}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!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}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{add\_\-cli\_\-command\_\-to\_\-cli\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::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{classXrlMld6igmpNode_a934c186e19fa30675f1f1a0fed3d6309}


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{classXrlMld6igmpNode_a4288a8ea6729a91e5c435296a0b00c03}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!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}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{cli\_\-processor\_\-0\_\-1\_\-process\_\-command}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::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{classXrlMld6igmpNode_a4288a8ea6729a91e5c435296a0b00c03}


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{structXrlMld6igmpTargetBase_af4a5bd65cf5b36368e84f67b7d614c77}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a4288a8ea6729a91e5c435296a0b00c03}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!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}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{cli\_\-processor\_\-0\_\-1\_\-process\_\-command}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::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{classXrlMld6igmpNode_a4288a8ea6729a91e5c435296a0b00c03}


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{structXrlMld6igmpTargetBase_af4a5bd65cf5b36368e84f67b7d614c77}{XrlMld6igmpTargetBase}.

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


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

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

Implements \hyperlink{structXrlMld6igmpTargetBase_a030c5687c1e71184f55eceb2fa876575}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a344f5bc07eaae234d42c145145ff16f9}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!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}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{delete\_\-cli\_\-command\_\-from\_\-cli\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::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{classXrlMld6igmpNode_a344f5bc07eaae234d42c145145ff16f9}


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{classXrlMld6igmpNode_a344f5bc07eaae234d42c145145ff16f9}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!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}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{delete\_\-cli\_\-command\_\-from\_\-cli\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::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{classXrlMld6igmpNode_a344f5bc07eaae234d42c145145ff16f9}


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{classXrlMld6igmpNode_a0af81704402f452373c631360138ade8}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!family@{family}}
\index{family@{family}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{family}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::family (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline, private\mbox{]}}}}
\label{classXrlMld6igmpNode_a0af81704402f452373c631360138ade8}


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{classXrlMld6igmpNode_a0af81704402f452373c631360138ade8}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!family@{family}}
\index{family@{family}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{family}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::family (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline, private\mbox{]}}}}
\label{classXrlMld6igmpNode_a0af81704402f452373c631360138ade8}


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


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{classMld6igmpNode_abbcef813523f82065bca50e23f9b34a0}{Mld6igmpNode}.

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


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{classMld6igmpNode_abbcef813523f82065bca50e23f9b34a0}{Mld6igmpNode}.

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


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{classMld6igmpNode_a6a25e1c655b154c7c2213141c1e13ff1}{Mld6igmpNode}.

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


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{classMld6igmpNode_a6a25e1c655b154c7c2213141c1e13ff1}{Mld6igmpNode}.

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


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


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


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


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


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{structXrlMld6igmpTargetBase_ab1b8c6ddd4afa1fa9ac302b3ed91de3a}{XrlMld6igmpTargetBase}.

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


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{structXrlMld6igmpTargetBase_ab1b8c6ddd4afa1fa9ac302b3ed91de3a}{XrlMld6igmpTargetBase}.

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


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{structXrlMld6igmpTargetBase_a1cc2d940d436b2fb80d51548bddc44e7}{XrlMld6igmpTargetBase}.

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


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{structXrlMld6igmpTargetBase_a1cc2d940d436b2fb80d51548bddc44e7}{XrlMld6igmpTargetBase}.

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


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{classMld6igmpNode_ac53375e64061c452d7dc3f1a268cff3a}{Mld6igmpNode}.

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


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{classMld6igmpNode_ac53375e64061c452d7dc3f1a268cff3a}{Mld6igmpNode}.

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


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{classMld6igmpNode_ac571deadca8e8ee3751c651ed11d5db6}{Mld6igmpNode}.

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


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{classMld6igmpNode_ac571deadca8e8ee3751c651ed11d5db6}{Mld6igmpNode}.

\hypertarget{classXrlMld6igmpNode_ac083c50abc536d94d9cac915fabf313c}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!join\_\-multicast\_\-group@{join\_\-multicast\_\-group}}
\index{join\_\-multicast\_\-group@{join\_\-multicast\_\-group}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{join\_\-multicast\_\-group}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::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{classXrlMld6igmpNode_ac083c50abc536d94d9cac915fabf313c}


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{classMld6igmpNode_ac24bda860d4c55fb11003f9271c818db}{Mld6igmpNode}.

\hypertarget{classXrlMld6igmpNode_ac083c50abc536d94d9cac915fabf313c}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!join\_\-multicast\_\-group@{join\_\-multicast\_\-group}}
\index{join\_\-multicast\_\-group@{join\_\-multicast\_\-group}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{join\_\-multicast\_\-group}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::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{classXrlMld6igmpNode_ac083c50abc536d94d9cac915fabf313c}


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{classMld6igmpNode_ac24bda860d4c55fb11003f9271c818db}{Mld6igmpNode}.

\hypertarget{classXrlMld6igmpNode_a25f6397f7406a12f607ff01e2b50ce46}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!leave\_\-multicast\_\-group@{leave\_\-multicast\_\-group}}
\index{leave\_\-multicast\_\-group@{leave\_\-multicast\_\-group}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{leave\_\-multicast\_\-group}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::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{classXrlMld6igmpNode_a25f6397f7406a12f607ff01e2b50ce46}


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{classMld6igmpNode_abb3999ae152751bbde579755339fae0c}{Mld6igmpNode}.

\hypertarget{classXrlMld6igmpNode_a25f6397f7406a12f607ff01e2b50ce46}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!leave\_\-multicast\_\-group@{leave\_\-multicast\_\-group}}
\index{leave\_\-multicast\_\-group@{leave\_\-multicast\_\-group}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{leave\_\-multicast\_\-group}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::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{classXrlMld6igmpNode_a25f6397f7406a12f607ff01e2b50ce46}


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{classMld6igmpNode_abb3999ae152751bbde579755339fae0c}{Mld6igmpNode}.

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


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{classMld6igmpNode_a97de2373c7a8f7a444aef706327d301b}{Mld6igmpNode}.

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


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{classMld6igmpNode_a97de2373c7a8f7a444aef706327d301b}{Mld6igmpNode}.

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


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{classMld6igmpNode_aac359927f2bf2da683b2f3ab18b78d6e}{Mld6igmpNode}.

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


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{classMld6igmpNode_aac359927f2bf2da683b2f3ab18b78d6e}{Mld6igmpNode}.

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


Add/delete a client protocol in \hyperlink{protocolthe-p}{the} MLD/IGMP protocol. 


\begin{DoxyParams}{Parameters}
{\em xrl\_\-sender\_\-name} & \hyperlink{protocolthe-p}{the} XRL name of \hyperlink{protocolthe-p}{the} originator of this XRL.\\
\hline
{\em protocol\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} protocol to add/delete.\\
\hline
{\em protocol\_\-id} & \hyperlink{protocolthe-p}{the} ID of \hyperlink{protocolthe-p}{the} protocol to add/delete (both sides must agree on \hyperlink{protocolthe-p}{the} particular values).\\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif \hyperlink{protocolthe-p}{the} protocol add/delete to apply to.\\
\hline
{\em vif\_\-index} & \hyperlink{protocolthe-p}{the} index of \hyperlink{protocolthe-p}{the} vif \hyperlink{protocolthe-p}{the} protocol add/delete to apply to. The added protocol will receive Join/Leave membership information about same-\/LAN members for \hyperlink{protocolthe-p}{the} particular vif. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_a6aaf473febed12284ffb8087b6fe566d}{XrlMld6igmpTargetBase}.

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


Add/delete a client protocol in \hyperlink{protocolthe-p}{the} MLD/IGMP protocol. 


\begin{DoxyParams}{Parameters}
{\em xrl\_\-sender\_\-name} & \hyperlink{protocolthe-p}{the} XRL name of \hyperlink{protocolthe-p}{the} originator of this XRL.\\
\hline
{\em protocol\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} protocol to add/delete.\\
\hline
{\em protocol\_\-id} & \hyperlink{protocolthe-p}{the} ID of \hyperlink{protocolthe-p}{the} protocol to add/delete (both sides must agree on \hyperlink{protocolthe-p}{the} particular values).\\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif \hyperlink{protocolthe-p}{the} protocol add/delete to apply to.\\
\hline
{\em vif\_\-index} & \hyperlink{protocolthe-p}{the} index of \hyperlink{protocolthe-p}{the} vif \hyperlink{protocolthe-p}{the} protocol add/delete to apply to. The added protocol will receive Join/Leave membership information about same-\/LAN members for \hyperlink{protocolthe-p}{the} particular vif. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_a6aaf473febed12284ffb8087b6fe566d}{XrlMld6igmpTargetBase}.

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


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


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


Implements \hyperlink{structXrlMld6igmpTargetBase_ac64b063183c607eb72baacea4472254d}{XrlMld6igmpTargetBase}.

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


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


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


Implements \hyperlink{structXrlMld6igmpTargetBase_ac64b063183c607eb72baacea4472254d}{XrlMld6igmpTargetBase}.

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


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


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


Implements \hyperlink{structXrlMld6igmpTargetBase_a1973059cdc69b3f936b68ae564a6240f}{XrlMld6igmpTargetBase}.

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


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


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


Implements \hyperlink{structXrlMld6igmpTargetBase_a1973059cdc69b3f936b68ae564a6240f}{XrlMld6igmpTargetBase}.

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


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


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


Implements \hyperlink{structXrlMld6igmpTargetBase_a5bfb259d1eaa9ab07857a7dbc7c2c9a3}{XrlMld6igmpTargetBase}.

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


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


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


Implements \hyperlink{structXrlMld6igmpTargetBase_a5bfb259d1eaa9ab07857a7dbc7c2c9a3}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_ab9fe56e22251fdcde95f0aedab9d3267}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-enable\_\-vif@{mld6igmp\_\-0\_\-1\_\-enable\_\-vif}}
\index{mld6igmp\_\-0\_\-1\_\-enable\_\-vif@{mld6igmp\_\-0\_\-1\_\-enable\_\-vif}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-enable\_\-vif}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-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{classXrlMld6igmpNode_ab9fe56e22251fdcde95f0aedab9d3267}


Enable/disable/start/stop a MLD6IGMP 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{structXrlMld6igmpTargetBase_a44d62a7d14b51480ca4374c40b8a103d}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_ab9fe56e22251fdcde95f0aedab9d3267}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-enable\_\-vif@{mld6igmp\_\-0\_\-1\_\-enable\_\-vif}}
\index{mld6igmp\_\-0\_\-1\_\-enable\_\-vif@{mld6igmp\_\-0\_\-1\_\-enable\_\-vif}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-enable\_\-vif}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-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{classXrlMld6igmpNode_ab9fe56e22251fdcde95f0aedab9d3267}


Enable/disable/start/stop a MLD6IGMP 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{structXrlMld6igmpTargetBase_a44d62a7d14b51480ca4374c40b8a103d}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_ada9de616f93bccd1bd1cd234e0753d4f}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check}}
\index{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{bool \&}]{enabled}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_ada9de616f93bccd1bd1cd234e0753d4f}


Get \hyperlink{protocolthe-p}{the} IP Router Alert option check per interface for received packets. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to apply to.\\
\hline
{\em enabled} & if true, then \hyperlink{protocolthe-p}{the} IP Router Alert option check was enabled, otherwise it was disabled. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_a0ed412619a28719aa65ca35203467e32}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_ada9de616f93bccd1bd1cd234e0753d4f}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check}}
\index{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{bool \&}]{enabled}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_ada9de616f93bccd1bd1cd234e0753d4f}


Get \hyperlink{protocolthe-p}{the} IP Router Alert option check per interface for received packets. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to apply to.\\
\hline
{\em enabled} & if true, then \hyperlink{protocolthe-p}{the} IP Router Alert option check was enabled, otherwise it was disabled. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_a0ed412619a28719aa65ca35203467e32}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a569db207b200285dca2c9678d9a7569f}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-proto\_\-version@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-proto\_\-version}}
\index{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-proto\_\-version@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-proto\_\-version}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-proto\_\-version}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-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{classXrlMld6igmpNode_a569db207b200285dca2c9678d9a7569f}


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{structXrlMld6igmpTargetBase_adbbc5e3a12d9d312d7d5f2a1cdd08d95}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a569db207b200285dca2c9678d9a7569f}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-proto\_\-version@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-proto\_\-version}}
\index{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-proto\_\-version@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-proto\_\-version}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-proto\_\-version}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-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{classXrlMld6igmpNode_a569db207b200285dca2c9678d9a7569f}


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{structXrlMld6igmpTargetBase_adbbc5e3a12d9d312d7d5f2a1cdd08d95}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a6548ec1f0408e1e76a9fa22a1de65450}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-interval@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-interval}}
\index{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-interval@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-interval}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-interval (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{uint32\_\-t \&}]{interval\_\-sec, }
\item[{uint32\_\-t \&}]{interval\_\-usec}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a6548ec1f0408e1e76a9fa22a1de65450}


Get \hyperlink{protocolthe-p}{the} Query Interval per interface. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to apply to.\\
\hline
{\em interval\_\-sec} & \hyperlink{protocolthe-p}{the} number of seconds in \hyperlink{protocolthe-p}{the} interval.\\
\hline
{\em interval\_\-usec} & \hyperlink{protocolthe-p}{the} number of microseconds (in addition to interval\_\-sec) in \hyperlink{protocolthe-p}{the} interval. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_a3b7aab23acd75bb5f8028c59ab94ba06}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a6548ec1f0408e1e76a9fa22a1de65450}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-interval@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-interval}}
\index{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-interval@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-interval}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-interval (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{uint32\_\-t \&}]{interval\_\-sec, }
\item[{uint32\_\-t \&}]{interval\_\-usec}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a6548ec1f0408e1e76a9fa22a1de65450}


Get \hyperlink{protocolthe-p}{the} Query Interval per interface. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to apply to.\\
\hline
{\em interval\_\-sec} & \hyperlink{protocolthe-p}{the} number of seconds in \hyperlink{protocolthe-p}{the} interval.\\
\hline
{\em interval\_\-usec} & \hyperlink{protocolthe-p}{the} number of microseconds (in addition to interval\_\-sec) in \hyperlink{protocolthe-p}{the} interval. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_a3b7aab23acd75bb5f8028c59ab94ba06}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_abda8a15dcde97e3315bc9ad2d77c95f0}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-last\_\-member\_\-interval@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-last\_\-member\_\-interval}}
\index{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-last\_\-member\_\-interval@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-last\_\-member\_\-interval}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-last\_\-member\_\-interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-last\_\-member\_\-interval (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{uint32\_\-t \&}]{interval\_\-sec, }
\item[{uint32\_\-t \&}]{interval\_\-usec}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_abda8a15dcde97e3315bc9ad2d77c95f0}


Get \hyperlink{protocolthe-p}{the} Last Member Query Interval per interface. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to apply to.\\
\hline
{\em interval\_\-sec} & \hyperlink{protocolthe-p}{the} number of seconds in \hyperlink{protocolthe-p}{the} interval.\\
\hline
{\em interval\_\-usec} & \hyperlink{protocolthe-p}{the} number of microseconds (in addition to interval\_\-sec) in \hyperlink{protocolthe-p}{the} interval. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_a2f2d1325d43fca48ab5e7a24b4d63c61}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_abda8a15dcde97e3315bc9ad2d77c95f0}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-last\_\-member\_\-interval@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-last\_\-member\_\-interval}}
\index{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-last\_\-member\_\-interval@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-last\_\-member\_\-interval}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-last\_\-member\_\-interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-last\_\-member\_\-interval (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{uint32\_\-t \&}]{interval\_\-sec, }
\item[{uint32\_\-t \&}]{interval\_\-usec}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_abda8a15dcde97e3315bc9ad2d77c95f0}


Get \hyperlink{protocolthe-p}{the} Last Member Query Interval per interface. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to apply to.\\
\hline
{\em interval\_\-sec} & \hyperlink{protocolthe-p}{the} number of seconds in \hyperlink{protocolthe-p}{the} interval.\\
\hline
{\em interval\_\-usec} & \hyperlink{protocolthe-p}{the} number of microseconds (in addition to interval\_\-sec) in \hyperlink{protocolthe-p}{the} interval. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_a2f2d1325d43fca48ab5e7a24b4d63c61}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_aa893929a9af0056c97e54c3aba4ef1b7}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-response\_\-interval@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-response\_\-interval}}
\index{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-response\_\-interval@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-response\_\-interval}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-response\_\-interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-response\_\-interval (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{uint32\_\-t \&}]{interval\_\-sec, }
\item[{uint32\_\-t \&}]{interval\_\-usec}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_aa893929a9af0056c97e54c3aba4ef1b7}


Get \hyperlink{protocolthe-p}{the} Query Response Interval per interface. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to apply to.\\
\hline
{\em interval\_\-sec} & \hyperlink{protocolthe-p}{the} number of seconds in \hyperlink{protocolthe-p}{the} interval.\\
\hline
{\em interval\_\-usec} & \hyperlink{protocolthe-p}{the} number of microseconds (in addition to interval\_\-sec) in \hyperlink{protocolthe-p}{the} interval. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_ae6c7d8ca210a8b79086393360e8f5a3a}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_aa893929a9af0056c97e54c3aba4ef1b7}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-response\_\-interval@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-response\_\-interval}}
\index{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-response\_\-interval@{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-response\_\-interval}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-response\_\-interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-get\_\-vif\_\-query\_\-response\_\-interval (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{uint32\_\-t \&}]{interval\_\-sec, }
\item[{uint32\_\-t \&}]{interval\_\-usec}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_aa893929a9af0056c97e54c3aba4ef1b7}


Get \hyperlink{protocolthe-p}{the} Query Response Interval per interface. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to apply to.\\
\hline
{\em interval\_\-sec} & \hyperlink{protocolthe-p}{the} number of seconds in \hyperlink{protocolthe-p}{the} interval.\\
\hline
{\em interval\_\-usec} & \hyperlink{protocolthe-p}{the} number of microseconds (in addition to interval\_\-sec) in \hyperlink{protocolthe-p}{the} interval. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_ae6c7d8ca210a8b79086393360e8f5a3a}{XrlMld6igmpTargetBase}.

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


Get \hyperlink{protocolthe-p}{the} Robustness Variable count per interface. 


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


Implements \hyperlink{structXrlMld6igmpTargetBase_a666ad72a2c13618de3da8951ef3ebf0e}{XrlMld6igmpTargetBase}.

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


Get \hyperlink{protocolthe-p}{the} Robustness Variable count per interface. 


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


Implements \hyperlink{structXrlMld6igmpTargetBase_a666ad72a2c13618de3da8951ef3ebf0e}{XrlMld6igmpTargetBase}.

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


Enable/disable \hyperlink{protocolthe-p}{the} MLD6IGMP 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{structXrlMld6igmpTargetBase_a86f529216e17f8cfc667ccf8da12c0a2}{XrlMld6igmpTargetBase}.

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


Enable/disable \hyperlink{protocolthe-p}{the} MLD6IGMP 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{structXrlMld6igmpTargetBase_a86f529216e17f8cfc667ccf8da12c0a2}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a4d80a85b02601abac29772f7f88538b7}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check@{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check}}
\index{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check@{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a4d80a85b02601abac29772f7f88538b7}


Reset \hyperlink{protocolthe-p}{the} IP Router Alert option check per interface for received packets 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{structXrlMld6igmpTargetBase_a44f903b13c3f5e9f00497924446af4db}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a4d80a85b02601abac29772f7f88538b7}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check@{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check}}
\index{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check@{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a4d80a85b02601abac29772f7f88538b7}


Reset \hyperlink{protocolthe-p}{the} IP Router Alert option check per interface for received packets 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{structXrlMld6igmpTargetBase_a44f903b13c3f5e9f00497924446af4db}{XrlMld6igmpTargetBase}.

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


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{structXrlMld6igmpTargetBase_a4a354058fb30dd0176c10c913c231d80}{XrlMld6igmpTargetBase}.

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


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{structXrlMld6igmpTargetBase_a4a354058fb30dd0176c10c913c231d80}{XrlMld6igmpTargetBase}.

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


Reset \hyperlink{protocolthe-p}{the} Query Interval 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{structXrlMld6igmpTargetBase_a94ec6d342f0a9a23d695ab218a7ad1d2}{XrlMld6igmpTargetBase}.

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


Reset \hyperlink{protocolthe-p}{the} Query Interval 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{structXrlMld6igmpTargetBase_a94ec6d342f0a9a23d695ab218a7ad1d2}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a8167cd701bb98df4af1e5fe737e1d754}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-last\_\-member\_\-interval@{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-last\_\-member\_\-interval}}
\index{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-last\_\-member\_\-interval@{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-last\_\-member\_\-interval}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-last\_\-member\_\-interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-last\_\-member\_\-interval (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a8167cd701bb98df4af1e5fe737e1d754}


Reset \hyperlink{protocolthe-p}{the} Last Member Query Interval 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{structXrlMld6igmpTargetBase_a683996870e658952bec724bbe0d7f62a}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a8167cd701bb98df4af1e5fe737e1d754}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-last\_\-member\_\-interval@{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-last\_\-member\_\-interval}}
\index{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-last\_\-member\_\-interval@{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-last\_\-member\_\-interval}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-last\_\-member\_\-interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-last\_\-member\_\-interval (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a8167cd701bb98df4af1e5fe737e1d754}


Reset \hyperlink{protocolthe-p}{the} Last Member Query Interval 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{structXrlMld6igmpTargetBase_a683996870e658952bec724bbe0d7f62a}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a45a087b7c374a3ba3c34328339b8da1a}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-response\_\-interval@{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-response\_\-interval}}
\index{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-response\_\-interval@{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-response\_\-interval}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-response\_\-interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-response\_\-interval (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a45a087b7c374a3ba3c34328339b8da1a}


Reset \hyperlink{protocolthe-p}{the} Query Response Interval 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{structXrlMld6igmpTargetBase_afbd17a5aa6b90b40495f68005b16f010}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a45a087b7c374a3ba3c34328339b8da1a}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-response\_\-interval@{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-response\_\-interval}}
\index{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-response\_\-interval@{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-response\_\-interval}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-response\_\-interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-reset\_\-vif\_\-query\_\-response\_\-interval (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a45a087b7c374a3ba3c34328339b8da1a}


Reset \hyperlink{protocolthe-p}{the} Query Response Interval 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{structXrlMld6igmpTargetBase_afbd17a5aa6b90b40495f68005b16f010}{XrlMld6igmpTargetBase}.

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


Reset \hyperlink{protocolthe-p}{the} Robustness Variable count 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{structXrlMld6igmpTargetBase_a861ce57973091bc5fdcc50868d41e0d8}{XrlMld6igmpTargetBase}.

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


Reset \hyperlink{protocolthe-p}{the} Robustness Variable count 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{structXrlMld6igmpTargetBase_a861ce57973091bc5fdcc50868d41e0d8}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a555023488731bf23cb5ab28616217c16}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check}}
\index{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{const bool \&}]{enable}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a555023488731bf23cb5ab28616217c16}


Set \hyperlink{protocolthe-p}{the} IP Router Alert option check per interface for received packets. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to apply to.\\
\hline
{\em enable} & if true, then enable \hyperlink{protocolthe-p}{the} IP Router Alert option check, otherwise disable it. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_a8e6c1ea34dc2b10594692ffa2e764ae1}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a555023488731bf23cb5ab28616217c16}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check}}
\index{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-ip\_\-router\_\-alert\_\-option\_\-check (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{const bool \&}]{enable}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a555023488731bf23cb5ab28616217c16}


Set \hyperlink{protocolthe-p}{the} IP Router Alert option check per interface for received packets. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to apply to.\\
\hline
{\em enable} & if true, then enable \hyperlink{protocolthe-p}{the} IP Router Alert option check, otherwise disable it. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_a8e6c1ea34dc2b10594692ffa2e764ae1}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_ac20f731a03396ed3316953d0e46ab235}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-proto\_\-version@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-proto\_\-version}}
\index{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-proto\_\-version@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-proto\_\-version}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-proto\_\-version}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-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{classXrlMld6igmpNode_ac20f731a03396ed3316953d0e46ab235}


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{structXrlMld6igmpTargetBase_a682225a13cc6e0750fda786ff84518bb}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_ac20f731a03396ed3316953d0e46ab235}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-proto\_\-version@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-proto\_\-version}}
\index{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-proto\_\-version@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-proto\_\-version}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-proto\_\-version}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-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{classXrlMld6igmpNode_ac20f731a03396ed3316953d0e46ab235}


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{structXrlMld6igmpTargetBase_a682225a13cc6e0750fda786ff84518bb}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a0ecdf72689611df7a80d825fbc02357b}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-interval@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-interval}}
\index{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-interval@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-interval}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-interval (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{const uint32\_\-t \&}]{interval\_\-sec, }
\item[{const uint32\_\-t \&}]{interval\_\-usec}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a0ecdf72689611df7a80d825fbc02357b}


Set \hyperlink{protocolthe-p}{the} Query Interval per interface. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to apply to.\\
\hline
{\em interval\_\-sec} & \hyperlink{protocolthe-p}{the} number of seconds in \hyperlink{protocolthe-p}{the} interval.\\
\hline
{\em interval\_\-usec} & \hyperlink{protocolthe-p}{the} number of microseconds (in addition to interval\_\-sec) in \hyperlink{protocolthe-p}{the} interval. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_a37c8d02c5a0a0029cb310975b41c3b04}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a0ecdf72689611df7a80d825fbc02357b}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-interval@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-interval}}
\index{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-interval@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-interval}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-interval (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{const uint32\_\-t \&}]{interval\_\-sec, }
\item[{const uint32\_\-t \&}]{interval\_\-usec}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a0ecdf72689611df7a80d825fbc02357b}


Set \hyperlink{protocolthe-p}{the} Query Interval per interface. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to apply to.\\
\hline
{\em interval\_\-sec} & \hyperlink{protocolthe-p}{the} number of seconds in \hyperlink{protocolthe-p}{the} interval.\\
\hline
{\em interval\_\-usec} & \hyperlink{protocolthe-p}{the} number of microseconds (in addition to interval\_\-sec) in \hyperlink{protocolthe-p}{the} interval. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_a37c8d02c5a0a0029cb310975b41c3b04}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a9aadf77f339321386f9515a2ccb55bc2}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-last\_\-member\_\-interval@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-last\_\-member\_\-interval}}
\index{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-last\_\-member\_\-interval@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-last\_\-member\_\-interval}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-last\_\-member\_\-interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-last\_\-member\_\-interval (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{const uint32\_\-t \&}]{interval\_\-sec, }
\item[{const uint32\_\-t \&}]{interval\_\-usec}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a9aadf77f339321386f9515a2ccb55bc2}


Set \hyperlink{protocolthe-p}{the} Last Member Query Interval per interface. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to apply to.\\
\hline
{\em interval\_\-sec} & \hyperlink{protocolthe-p}{the} number of seconds in \hyperlink{protocolthe-p}{the} interval.\\
\hline
{\em interval\_\-usec} & \hyperlink{protocolthe-p}{the} number of microseconds (in addition to interval\_\-sec) in \hyperlink{protocolthe-p}{the} interval. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_a4354a3135a1c2cc8f19da7e59bae1da3}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a9aadf77f339321386f9515a2ccb55bc2}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-last\_\-member\_\-interval@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-last\_\-member\_\-interval}}
\index{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-last\_\-member\_\-interval@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-last\_\-member\_\-interval}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-last\_\-member\_\-interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-last\_\-member\_\-interval (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{const uint32\_\-t \&}]{interval\_\-sec, }
\item[{const uint32\_\-t \&}]{interval\_\-usec}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a9aadf77f339321386f9515a2ccb55bc2}


Set \hyperlink{protocolthe-p}{the} Last Member Query Interval per interface. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to apply to.\\
\hline
{\em interval\_\-sec} & \hyperlink{protocolthe-p}{the} number of seconds in \hyperlink{protocolthe-p}{the} interval.\\
\hline
{\em interval\_\-usec} & \hyperlink{protocolthe-p}{the} number of microseconds (in addition to interval\_\-sec) in \hyperlink{protocolthe-p}{the} interval. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_a4354a3135a1c2cc8f19da7e59bae1da3}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a6f5731582049901927a4266267fb8373}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-response\_\-interval@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-response\_\-interval}}
\index{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-response\_\-interval@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-response\_\-interval}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-response\_\-interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-response\_\-interval (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{const uint32\_\-t \&}]{interval\_\-sec, }
\item[{const uint32\_\-t \&}]{interval\_\-usec}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a6f5731582049901927a4266267fb8373}


Set \hyperlink{protocolthe-p}{the} Query Response Interval per interface. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to apply to.\\
\hline
{\em interval\_\-sec} & \hyperlink{protocolthe-p}{the} number of seconds in \hyperlink{protocolthe-p}{the} interval.\\
\hline
{\em interval\_\-usec} & \hyperlink{protocolthe-p}{the} number of microseconds (in addition to interval\_\-sec) in \hyperlink{protocolthe-p}{the} interval. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_a1a087fcbf6ed449bd3ca95919a349edb}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a6f5731582049901927a4266267fb8373}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-response\_\-interval@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-response\_\-interval}}
\index{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-response\_\-interval@{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-response\_\-interval}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-response\_\-interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::mld6igmp\_\-0\_\-1\_\-set\_\-vif\_\-query\_\-response\_\-interval (
\begin{DoxyParamCaption}
\item[{const string \&}]{vif\_\-name, }
\item[{const uint32\_\-t \&}]{interval\_\-sec, }
\item[{const uint32\_\-t \&}]{interval\_\-usec}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a6f5731582049901927a4266267fb8373}


Set \hyperlink{protocolthe-p}{the} Query Response Interval per interface. 


\begin{DoxyParams}{Parameters}
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif to apply to.\\
\hline
{\em interval\_\-sec} & \hyperlink{protocolthe-p}{the} number of seconds in \hyperlink{protocolthe-p}{the} interval.\\
\hline
{\em interval\_\-usec} & \hyperlink{protocolthe-p}{the} number of microseconds (in addition to interval\_\-sec) in \hyperlink{protocolthe-p}{the} interval. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_a1a087fcbf6ed449bd3ca95919a349edb}{XrlMld6igmpTargetBase}.

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


Set \hyperlink{protocolthe-p}{the} Robustness Variable count per interface. 


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


Implements \hyperlink{structXrlMld6igmpTargetBase_a4c261dd479c8a3c0b4d1d389f6ae71c1}{XrlMld6igmpTargetBase}.

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


Set \hyperlink{protocolthe-p}{the} Robustness Variable count per interface. 


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


Implements \hyperlink{structXrlMld6igmpTargetBase_a4c261dd479c8a3c0b4d1d389f6ae71c1}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a3c7cbcb6a45f6d10e35bd600a1b9b739}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!proto\_\-send@{proto\_\-send}}
\index{proto\_\-send@{proto\_\-send}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{proto\_\-send}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::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{classXrlMld6igmpNode_a3c7cbcb6a45f6d10e35bd600a1b9b739}


\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$<$ Mld6igmpVif $>$}.

\hypertarget{classXrlMld6igmpNode_a3c7cbcb6a45f6d10e35bd600a1b9b739}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!proto\_\-send@{proto\_\-send}}
\index{proto\_\-send@{proto\_\-send}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{proto\_\-send}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::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{classXrlMld6igmpNode_a3c7cbcb6a45f6d10e35bd600a1b9b739}


\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$<$ Mld6igmpVif $>$}.

\hypertarget{classXrlMld6igmpNode_a7931e6a15b559e9fd3e78089c5342aff}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!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}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{raw\_\-packet4\_\-client\_\-0\_\-1\_\-recv}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::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{classXrlMld6igmpNode_a7931e6a15b559e9fd3e78089c5342aff}


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{structXrlMld6igmpTargetBase_a57127e6d88f6339959782da90938e0a4}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_a7931e6a15b559e9fd3e78089c5342aff}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!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}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{raw\_\-packet4\_\-client\_\-0\_\-1\_\-recv}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::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{classXrlMld6igmpNode_a7931e6a15b559e9fd3e78089c5342aff}


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{structXrlMld6igmpTargetBase_a57127e6d88f6339959782da90938e0a4}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_ae6a38c5298cbabf07861fc599c57fdca}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!raw\_\-packet6\_\-client\_\-0\_\-1\_\-recv@{raw\_\-packet6\_\-client\_\-0\_\-1\_\-recv}}
\index{raw\_\-packet6\_\-client\_\-0\_\-1\_\-recv@{raw\_\-packet6\_\-client\_\-0\_\-1\_\-recv}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{raw\_\-packet6\_\-client\_\-0\_\-1\_\-recv}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::raw\_\-packet6\_\-client\_\-0\_\-1\_\-recv (
\begin{DoxyParamCaption}
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{const {\bf IPv6} \&}]{src\_\-address, }
\item[{const {\bf IPv6} \&}]{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 {\bf XrlAtomList} \&}]{ext\_\-headers\_\-type, }
\item[{const {\bf XrlAtomList} \&}]{ext\_\-headers\_\-payload, }
\item[{const vector$<$ uint8\_\-t $>$ \&}]{payload}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_ae6a38c5298cbabf07861fc599c57fdca}


Receive an \hyperlink{classIPv6}{IPv6} 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 (IP traffic class 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
{\em ext\_\-headers\_\-type} & a list of u32 integers with \hyperlink{protocolthe-p}{the} types of \hyperlink{protocolthe-p}{the} optional extention headers.\\
\hline
{\em ext\_\-headers\_\-payload} & a list of payload data, one for each optional extention header. The number of entries must match ext\_\-headers\_\-type. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_a3e2b3008872c9a67c16eea2e3b50d804}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_ae6a38c5298cbabf07861fc599c57fdca}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!raw\_\-packet6\_\-client\_\-0\_\-1\_\-recv@{raw\_\-packet6\_\-client\_\-0\_\-1\_\-recv}}
\index{raw\_\-packet6\_\-client\_\-0\_\-1\_\-recv@{raw\_\-packet6\_\-client\_\-0\_\-1\_\-recv}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{raw\_\-packet6\_\-client\_\-0\_\-1\_\-recv}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} XrlMld6igmpNode::raw\_\-packet6\_\-client\_\-0\_\-1\_\-recv (
\begin{DoxyParamCaption}
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{const {\bf IPv6} \&}]{src\_\-address, }
\item[{const {\bf IPv6} \&}]{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 {\bf XrlAtomList} \&}]{ext\_\-headers\_\-type, }
\item[{const {\bf XrlAtomList} \&}]{ext\_\-headers\_\-payload, }
\item[{const vector$<$ uint8\_\-t $>$ \&}]{payload}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_ae6a38c5298cbabf07861fc599c57fdca}


Receive an \hyperlink{classIPv6}{IPv6} 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 (IP traffic class 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
{\em ext\_\-headers\_\-type} & a list of u32 integers with \hyperlink{protocolthe-p}{the} types of \hyperlink{protocolthe-p}{the} optional extention headers.\\
\hline
{\em ext\_\-headers\_\-payload} & a list of payload data, one for each optional extention header. The number of entries must match ext\_\-headers\_\-type. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlMld6igmpTargetBase_a3e2b3008872c9a67c16eea2e3b50d804}{XrlMld6igmpTargetBase}.

\hypertarget{classXrlMld6igmpNode_aa23f6f95eceb981970ce79f07dcdf4d9}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!register\_\-receiver@{register\_\-receiver}}
\index{register\_\-receiver@{register\_\-receiver}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{register\_\-receiver}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::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{classXrlMld6igmpNode_aa23f6f95eceb981970ce79f07dcdf4d9}


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{classMld6igmpNode_ae59563e6318c2aa22c30c69d43f60880}{Mld6igmpNode}.

\hypertarget{classXrlMld6igmpNode_aa23f6f95eceb981970ce79f07dcdf4d9}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!register\_\-receiver@{register\_\-receiver}}
\index{register\_\-receiver@{register\_\-receiver}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{register\_\-receiver}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::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{classXrlMld6igmpNode_aa23f6f95eceb981970ce79f07dcdf4d9}


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{classMld6igmpNode_ae59563e6318c2aa22c30c69d43f60880}{Mld6igmpNode}.

\hypertarget{classXrlMld6igmpNode_a5cad9274b06b0d7718f15902c4c12b66}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!send\_\-add\_\-membership@{send\_\-add\_\-membership}}
\index{send\_\-add\_\-membership@{send\_\-add\_\-membership}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{send\_\-add\_\-membership}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::send\_\-add\_\-membership (
\begin{DoxyParamCaption}
\item[{const string \&}]{dst\_\-module\_\-instance\_\-name, }
\item[{xorp\_\-module\_\-id}]{dst\_\-module\_\-id, }
\item[{uint32\_\-t}]{vif\_\-index, }
\item[{const {\bf IPvX} \&}]{source, }
\item[{const {\bf IPvX} \&}]{group}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a5cad9274b06b0d7718f15902c4c12b66}


\hyperlink{structSend}{Send} \char`\"{}add membership\char`\"{} to a protocol that needs to be notified about multicast membership changes. 

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 dst\_\-module\_\-instance\_\-name} & \hyperlink{protocolthe-p}{the} module instance name of \hyperlink{protocolthe-p}{the} protocol to notify. \\
\hline
{\em dst\_\-module\_\-id} & \hyperlink{protocolthe-p}{the} module ID (xorp\_\-module\_\-id) of \hyperlink{protocolthe-p}{the} protocol to notify. \\
\hline
{\em vif\_\-index} & \hyperlink{protocolthe-p}{the} vif index of \hyperlink{protocolthe-p}{the} interface with membership change. \\
\hline
{\em source} & \hyperlink{protocolthe-p}{the} source address of \hyperlink{protocolthe-p}{the} (S,G) or ($\ast$,G) entry that has changed membership. In case of Any-\/Source Multicast, it is \hyperlink{classIPvX_aba7dce7144be6617538811e770c26cbd}{IPvX::ZERO()}. \\
\hline
{\em group} & \hyperlink{protocolthe-p}{the} group address. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classMld6igmpNode_a7b72582d29a6e21f3c5eee15d99f454c}{Mld6igmpNode}.

\hypertarget{classXrlMld6igmpNode_a5cad9274b06b0d7718f15902c4c12b66}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!send\_\-add\_\-membership@{send\_\-add\_\-membership}}
\index{send\_\-add\_\-membership@{send\_\-add\_\-membership}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{send\_\-add\_\-membership}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::send\_\-add\_\-membership (
\begin{DoxyParamCaption}
\item[{const string \&}]{dst\_\-module\_\-instance\_\-name, }
\item[{xorp\_\-module\_\-id}]{dst\_\-module\_\-id, }
\item[{uint32\_\-t}]{vif\_\-index, }
\item[{const {\bf IPvX} \&}]{source, }
\item[{const {\bf IPvX} \&}]{group}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a5cad9274b06b0d7718f15902c4c12b66}


\hyperlink{structSend}{Send} \char`\"{}add membership\char`\"{} to a protocol that needs to be notified about multicast membership changes. 

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 dst\_\-module\_\-instance\_\-name} & \hyperlink{protocolthe-p}{the} module instance name of \hyperlink{protocolthe-p}{the} protocol to notify. \\
\hline
{\em dst\_\-module\_\-id} & \hyperlink{protocolthe-p}{the} module ID (xorp\_\-module\_\-id) of \hyperlink{protocolthe-p}{the} protocol to notify. \\
\hline
{\em vif\_\-index} & \hyperlink{protocolthe-p}{the} vif index of \hyperlink{protocolthe-p}{the} interface with membership change. \\
\hline
{\em source} & \hyperlink{protocolthe-p}{the} source address of \hyperlink{protocolthe-p}{the} (S,G) or ($\ast$,G) entry that has changed membership. In case of Any-\/Source Multicast, it is \hyperlink{classIPvX_aba7dce7144be6617538811e770c26cbd}{IPvX::ZERO()}. \\
\hline
{\em group} & \hyperlink{protocolthe-p}{the} group address. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classMld6igmpNode_a7b72582d29a6e21f3c5eee15d99f454c}{Mld6igmpNode}.

\hypertarget{classXrlMld6igmpNode_a0edab3816d722684d035d8459c393b6c}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!send\_\-delete\_\-membership@{send\_\-delete\_\-membership}}
\index{send\_\-delete\_\-membership@{send\_\-delete\_\-membership}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{send\_\-delete\_\-membership}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::send\_\-delete\_\-membership (
\begin{DoxyParamCaption}
\item[{const string \&}]{dst\_\-module\_\-instance\_\-name, }
\item[{xorp\_\-module\_\-id}]{dst\_\-module\_\-id, }
\item[{uint32\_\-t}]{vif\_\-index, }
\item[{const {\bf IPvX} \&}]{source, }
\item[{const {\bf IPvX} \&}]{group}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a0edab3816d722684d035d8459c393b6c}


\hyperlink{structSend}{Send} \char`\"{}delete membership\char`\"{} to a protocol that needs to be notified about multicast membership changes. 

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 dst\_\-module\_\-instance\_\-name} & \hyperlink{protocolthe-p}{the} module instance name of \hyperlink{protocolthe-p}{the} protocol to notify. \\
\hline
{\em dst\_\-module\_\-id} & \hyperlink{protocolthe-p}{the} module ID (xorp\_\-module\_\-id) of \hyperlink{protocolthe-p}{the} protocol to notify. \\
\hline
{\em vif\_\-index} & \hyperlink{protocolthe-p}{the} vif index of \hyperlink{protocolthe-p}{the} interface with membership change. \\
\hline
{\em source} & \hyperlink{protocolthe-p}{the} source address of \hyperlink{protocolthe-p}{the} (S,G) or ($\ast$,G) entry that has changed membership. In case of Any-\/Source Multicast, it is \hyperlink{classIPvX_aba7dce7144be6617538811e770c26cbd}{IPvX::ZERO()}. \\
\hline
{\em group} & \hyperlink{protocolthe-p}{the} group address of \hyperlink{protocolthe-p}{the} (S,G) or ($\ast$,G) entry that has changed. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classMld6igmpNode_a5a783a551dedf17013c4808ae8906573}{Mld6igmpNode}.

\hypertarget{classXrlMld6igmpNode_a0edab3816d722684d035d8459c393b6c}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!send\_\-delete\_\-membership@{send\_\-delete\_\-membership}}
\index{send\_\-delete\_\-membership@{send\_\-delete\_\-membership}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{send\_\-delete\_\-membership}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::send\_\-delete\_\-membership (
\begin{DoxyParamCaption}
\item[{const string \&}]{dst\_\-module\_\-instance\_\-name, }
\item[{xorp\_\-module\_\-id}]{dst\_\-module\_\-id, }
\item[{uint32\_\-t}]{vif\_\-index, }
\item[{const {\bf IPvX} \&}]{source, }
\item[{const {\bf IPvX} \&}]{group}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a0edab3816d722684d035d8459c393b6c}


\hyperlink{structSend}{Send} \char`\"{}delete membership\char`\"{} to a protocol that needs to be notified about multicast membership changes. 

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 dst\_\-module\_\-instance\_\-name} & \hyperlink{protocolthe-p}{the} module instance name of \hyperlink{protocolthe-p}{the} protocol to notify. \\
\hline
{\em dst\_\-module\_\-id} & \hyperlink{protocolthe-p}{the} module ID (xorp\_\-module\_\-id) of \hyperlink{protocolthe-p}{the} protocol to notify. \\
\hline
{\em vif\_\-index} & \hyperlink{protocolthe-p}{the} vif index of \hyperlink{protocolthe-p}{the} interface with membership change. \\
\hline
{\em source} & \hyperlink{protocolthe-p}{the} source address of \hyperlink{protocolthe-p}{the} (S,G) or ($\ast$,G) entry that has changed membership. In case of Any-\/Source Multicast, it is \hyperlink{classIPvX_aba7dce7144be6617538811e770c26cbd}{IPvX::ZERO()}. \\
\hline
{\em group} & \hyperlink{protocolthe-p}{the} group address of \hyperlink{protocolthe-p}{the} (S,G) or ($\ast$,G) entry that has changed. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classMld6igmpNode_a5a783a551dedf17013c4808ae8906573}{Mld6igmpNode}.

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


\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{classXrlMld6igmpNode_af69a7c7cb84ff9d379fd5721679d8ae5}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!shutdown@{shutdown}}
\index{shutdown@{shutdown}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{shutdown}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::shutdown (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_af69a7c7cb84ff9d379fd5721679d8ae5}


\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{classXrlMld6igmpNode_a9566a40efbdf79965025f29e9dde77bf}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!startup@{startup}}
\index{startup@{startup}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{startup}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::startup (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a9566a40efbdf79965025f29e9dde77bf}


\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{classXrlMld6igmpNode_a9566a40efbdf79965025f29e9dde77bf}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!startup@{startup}}
\index{startup@{startup}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{startup}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::startup (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classXrlMld6igmpNode_a9566a40efbdf79965025f29e9dde77bf}


\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{classXrlMld6igmpNode_a6eb5e62b1c92802cb27d44a328c6b427}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!unregister\_\-receiver@{unregister\_\-receiver}}
\index{unregister\_\-receiver@{unregister\_\-receiver}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{unregister\_\-receiver}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::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{classXrlMld6igmpNode_a6eb5e62b1c92802cb27d44a328c6b427}


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{classMld6igmpNode_a64e5e41ce8e5bb9e1180311b37dca439}{Mld6igmpNode}.

\hypertarget{classXrlMld6igmpNode_a6eb5e62b1c92802cb27d44a328c6b427}{
\index{XrlMld6igmpNode@{XrlMld6igmpNode}!unregister\_\-receiver@{unregister\_\-receiver}}
\index{unregister\_\-receiver@{unregister\_\-receiver}!XrlMld6igmpNode@{XrlMld6igmpNode}}
\subsubsection[{unregister\_\-receiver}]{\setlength{\rightskip}{0pt plus 5cm}int XrlMld6igmpNode::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{classXrlMld6igmpNode_a6eb5e62b1c92802cb27d44a328c6b427}


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{classMld6igmpNode_a64e5e41ce8e5bb9e1180311b37dca439}{Mld6igmpNode}.

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


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


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


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


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/contrib/mld6igmp\_\-lite/xrl\_\-mld6igmp\_\-node.hh\item 
/home/greearb/git/xorp.ct.github/xorp/mld6igmp/xrl\_\-mld6igmp\_\-node.hh\item 
/home/greearb/git/xorp.ct.github/xorp/contrib/mld6igmp\_\-lite/xrl\_\-mld6igmp\_\-node.cc\item 
/home/greearb/git/xorp.ct.github/xorp/mld6igmp/xrl\_\-mld6igmp\_\-node.cc\end{DoxyCompactItemize}
