\hypertarget{classXrlRawPacket4V0p1Client}{
\section{XrlRawPacket4V0p1Client Class Reference}
\label{classXrlRawPacket4V0p1Client}\index{XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}}
}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlRawPacket4V0p1Client_abb07194f3887a4bc597e91963244c32b}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries SendCB}}
\label{classXrlRawPacket4V0p1Client_abb07194f3887a4bc597e91963244c32b}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_aee6df2e61f32c367612b6f6237c227fe}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries RegisterReceiverCB}}
\label{classXrlRawPacket4V0p1Client_aee6df2e61f32c367612b6f6237c227fe}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_ae0c14aeb99a96631c470a03e47568635}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries UnregisterReceiverCB}}
\label{classXrlRawPacket4V0p1Client_ae0c14aeb99a96631c470a03e47568635}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_af0b097844c9b8ada428ed189ba0ea516}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries JoinMulticastGroupCB}}
\label{classXrlRawPacket4V0p1Client_af0b097844c9b8ada428ed189ba0ea516}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_af25a1475eb21bfb2a819913916712fa0}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries LeaveMulticastGroupCB}}
\label{classXrlRawPacket4V0p1Client_af25a1475eb21bfb2a819913916712fa0}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_abb07194f3887a4bc597e91963244c32b}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries SendCB}}
\label{classXrlRawPacket4V0p1Client_abb07194f3887a4bc597e91963244c32b}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_aee6df2e61f32c367612b6f6237c227fe}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries RegisterReceiverCB}}
\label{classXrlRawPacket4V0p1Client_aee6df2e61f32c367612b6f6237c227fe}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_ae0c14aeb99a96631c470a03e47568635}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries UnregisterReceiverCB}}
\label{classXrlRawPacket4V0p1Client_ae0c14aeb99a96631c470a03e47568635}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_af0b097844c9b8ada428ed189ba0ea516}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries JoinMulticastGroupCB}}
\label{classXrlRawPacket4V0p1Client_af0b097844c9b8ada428ed189ba0ea516}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_af25a1475eb21bfb2a819913916712fa0}{
typedef XorpCallback1$<$ void, const \hyperlink{classXrlError}{XrlError} \& $>$::RefPtr {\bfseries LeaveMulticastGroupCB}}
\label{classXrlRawPacket4V0p1Client_af25a1475eb21bfb2a819913916712fa0}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlRawPacket4V0p1Client_aa81d5cf314b79eb4010919d4c47a6686}{
{\bfseries XrlRawPacket4V0p1Client} (\hyperlink{classXrlSender}{XrlSender} $\ast$s)}
\label{classXrlRawPacket4V0p1Client_aa81d5cf314b79eb4010919d4c47a6686}

\item 
bool \hyperlink{classXrlRawPacket4V0p1Client_a9ab85212f430bb9ec0ec67e1605cc500}{send\_\-send} (const char $\ast$dst\_\-xrl\_\-target\_\-name, 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, const SendCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlRawPacket4V0p1Client_a89d05cf2b91c0d15f28e14a5634aead0}{send\_\-register\_\-receiver} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&xrl\_\-target\_\-instance\_\-name, const string \&if\_\-name, const string \&vif\_\-name, const uint32\_\-t \&ip\_\-protocol, const bool \&enable\_\-multicast\_\-loopback, const RegisterReceiverCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlRawPacket4V0p1Client_a55ba1c2164406bfb761e8f6a43bed00c}{send\_\-unregister\_\-receiver} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&xrl\_\-target\_\-instance\_\-name, const string \&if\_\-name, const string \&vif\_\-name, const uint32\_\-t \&ip\_\-protocol, const UnregisterReceiverCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlRawPacket4V0p1Client_af09a1488bc1667ec14a8da520779ff88}{send\_\-join\_\-multicast\_\-group} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&xrl\_\-target\_\-instance\_\-name, const string \&if\_\-name, const string \&vif\_\-name, const uint32\_\-t \&ip\_\-protocol, const \hyperlink{classIPv4}{IPv4} \&group\_\-address, const JoinMulticastGroupCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlRawPacket4V0p1Client_a38ba995e6a930057df81cfa408d5ddf6}{send\_\-leave\_\-multicast\_\-group} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&xrl\_\-target\_\-instance\_\-name, const string \&if\_\-name, const string \&vif\_\-name, const uint32\_\-t \&ip\_\-protocol, const \hyperlink{classIPv4}{IPv4} \&group\_\-address, const LeaveMulticastGroupCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
\hypertarget{classXrlRawPacket4V0p1Client_aa81d5cf314b79eb4010919d4c47a6686}{
{\bfseries XrlRawPacket4V0p1Client} (\hyperlink{classXrlSender}{XrlSender} $\ast$s)}
\label{classXrlRawPacket4V0p1Client_aa81d5cf314b79eb4010919d4c47a6686}

\item 
bool \hyperlink{classXrlRawPacket4V0p1Client_a9ab85212f430bb9ec0ec67e1605cc500}{send\_\-send} (const char $\ast$dst\_\-xrl\_\-target\_\-name, 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, const SendCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlRawPacket4V0p1Client_a89d05cf2b91c0d15f28e14a5634aead0}{send\_\-register\_\-receiver} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&xrl\_\-target\_\-instance\_\-name, const string \&if\_\-name, const string \&vif\_\-name, const uint32\_\-t \&ip\_\-protocol, const bool \&enable\_\-multicast\_\-loopback, const RegisterReceiverCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlRawPacket4V0p1Client_a55ba1c2164406bfb761e8f6a43bed00c}{send\_\-unregister\_\-receiver} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&xrl\_\-target\_\-instance\_\-name, const string \&if\_\-name, const string \&vif\_\-name, const uint32\_\-t \&ip\_\-protocol, const UnregisterReceiverCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlRawPacket4V0p1Client_af09a1488bc1667ec14a8da520779ff88}{send\_\-join\_\-multicast\_\-group} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&xrl\_\-target\_\-instance\_\-name, const string \&if\_\-name, const string \&vif\_\-name, const uint32\_\-t \&ip\_\-protocol, const \hyperlink{classIPv4}{IPv4} \&group\_\-address, const JoinMulticastGroupCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\item 
bool \hyperlink{classXrlRawPacket4V0p1Client_a38ba995e6a930057df81cfa408d5ddf6}{send\_\-leave\_\-multicast\_\-group} (const char $\ast$dst\_\-xrl\_\-target\_\-name, const string \&xrl\_\-target\_\-instance\_\-name, const string \&if\_\-name, const string \&vif\_\-name, const uint32\_\-t \&ip\_\-protocol, const \hyperlink{classIPv4}{IPv4} \&group\_\-address, const LeaveMulticastGroupCB \&cb)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlRawPacket4V0p1Client_a3f9680d6ad03ba048f4e0256a2a47e38}{
\hyperlink{classXrlSender}{XrlSender} $\ast$ {\bfseries \_\-sender}}
\label{classXrlRawPacket4V0p1Client_a3f9680d6ad03ba048f4e0256a2a47e38}

\end{DoxyCompactItemize}
\subsection*{Static Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlRawPacket4V0p1Client_a33588c709a7f9fac46668ae5660971fa}{
static void {\bfseries unmarshall\_\-send} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, SendCB cb)}
\label{classXrlRawPacket4V0p1Client_a33588c709a7f9fac46668ae5660971fa}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_a5af81513cb44e39e4629d0eb655c5f3a}{
static void {\bfseries unmarshall\_\-register\_\-receiver} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, RegisterReceiverCB cb)}
\label{classXrlRawPacket4V0p1Client_a5af81513cb44e39e4629d0eb655c5f3a}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_a32c825bdba833f813980d98160246964}{
static void {\bfseries unmarshall\_\-unregister\_\-receiver} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, UnregisterReceiverCB cb)}
\label{classXrlRawPacket4V0p1Client_a32c825bdba833f813980d98160246964}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_adf8de92caef7d47a1458245d36336f34}{
static void {\bfseries unmarshall\_\-join\_\-multicast\_\-group} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, JoinMulticastGroupCB cb)}
\label{classXrlRawPacket4V0p1Client_adf8de92caef7d47a1458245d36336f34}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_ae06de4cff385acfab573017cbd80cd7d}{
static void {\bfseries unmarshall\_\-leave\_\-multicast\_\-group} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, LeaveMulticastGroupCB cb)}
\label{classXrlRawPacket4V0p1Client_ae06de4cff385acfab573017cbd80cd7d}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_a9c3c4cc00e433c27cbc3d3d1b8379b6a}{
static void {\bfseries unmarshall\_\-send} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, SendCB cb)}
\label{classXrlRawPacket4V0p1Client_a9c3c4cc00e433c27cbc3d3d1b8379b6a}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_a36224d79421eed6a56b62dd7a20f22ac}{
static void {\bfseries unmarshall\_\-register\_\-receiver} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, RegisterReceiverCB cb)}
\label{classXrlRawPacket4V0p1Client_a36224d79421eed6a56b62dd7a20f22ac}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_a79b4836bf3b443ba175334645fb89c73}{
static void {\bfseries unmarshall\_\-unregister\_\-receiver} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, UnregisterReceiverCB cb)}
\label{classXrlRawPacket4V0p1Client_a79b4836bf3b443ba175334645fb89c73}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_a1dbcdad330b12212fde2c1c378edcb50}{
static void {\bfseries unmarshall\_\-join\_\-multicast\_\-group} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, JoinMulticastGroupCB cb)}
\label{classXrlRawPacket4V0p1Client_a1dbcdad330b12212fde2c1c378edcb50}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_a8404ea282d1e901794be58d59ffdd2a5}{
static void {\bfseries unmarshall\_\-leave\_\-multicast\_\-group} (const \hyperlink{classXrlError}{XrlError} \&e, \hyperlink{classXrlArgs}{XrlArgs} $\ast$a, LeaveMulticastGroupCB cb)}
\label{classXrlRawPacket4V0p1Client_a8404ea282d1e901794be58d59ffdd2a5}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classXrlRawPacket4V0p1Client_ab796a62319fad841a86965be333e9ac0}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-send}}
\label{classXrlRawPacket4V0p1Client_ab796a62319fad841a86965be333e9ac0}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_a7f5211aa02a636b66252d5fc631a83f9}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-register\_\-receiver}}
\label{classXrlRawPacket4V0p1Client_a7f5211aa02a636b66252d5fc631a83f9}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_aa3b3d6f053f80ea89e12b8b0af768831}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-unregister\_\-receiver}}
\label{classXrlRawPacket4V0p1Client_aa3b3d6f053f80ea89e12b8b0af768831}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_a62c18f29c9879b0d14a8773854b13624}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-join\_\-multicast\_\-group}}
\label{classXrlRawPacket4V0p1Client_a62c18f29c9879b0d14a8773854b13624}

\item 
\hypertarget{classXrlRawPacket4V0p1Client_a89093e9cc7dcf26a9dc8c0cd55ced01b}{
auto\_\-ptr$<$ \hyperlink{classXrl}{Xrl} $>$ {\bfseries ap\_\-xrl\_\-leave\_\-multicast\_\-group}}
\label{classXrlRawPacket4V0p1Client_a89093e9cc7dcf26a9dc8c0cd55ced01b}

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\hypertarget{classXrlRawPacket4V0p1Client_af09a1488bc1667ec14a8da520779ff88}{
\index{XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}!send\_\-join\_\-multicast\_\-group@{send\_\-join\_\-multicast\_\-group}}
\index{send\_\-join\_\-multicast\_\-group@{send\_\-join\_\-multicast\_\-group}!XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}}
\subsubsection[{send\_\-join\_\-multicast\_\-group}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlRawPacket4V0p1Client::send\_\-join\_\-multicast\_\-group (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{xrl\_\-target\_\-instance\_\-name, }
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{const uint32\_\-t \&}]{ip\_\-protocol, }
\item[{const {\bf IPv4} \&}]{group\_\-address, }
\item[{const JoinMulticastGroupCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlRawPacket4V0p1Client_af09a1488bc1667ec14a8da520779ff88}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Join an \hyperlink{classIPv4}{IPv4} multicast group.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em xrl\_\-target\_\-instance\_\-name} & \hyperlink{protocolthe-p}{the} receiver's XRL target instance name.\\
\hline
{\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 group\_\-address} & \hyperlink{protocolthe-p}{the} multicast group address to join. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlRawPacket4V0p1Client_af09a1488bc1667ec14a8da520779ff88}{
\index{XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}!send\_\-join\_\-multicast\_\-group@{send\_\-join\_\-multicast\_\-group}}
\index{send\_\-join\_\-multicast\_\-group@{send\_\-join\_\-multicast\_\-group}!XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}}
\subsubsection[{send\_\-join\_\-multicast\_\-group}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlRawPacket4V0p1Client::send\_\-join\_\-multicast\_\-group (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{xrl\_\-target\_\-instance\_\-name, }
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{const uint32\_\-t \&}]{ip\_\-protocol, }
\item[{const {\bf IPv4} \&}]{group\_\-address, }
\item[{const JoinMulticastGroupCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlRawPacket4V0p1Client_af09a1488bc1667ec14a8da520779ff88}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Join an \hyperlink{classIPv4}{IPv4} multicast group.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em xrl\_\-target\_\-instance\_\-name} & \hyperlink{protocolthe-p}{the} receiver's XRL target instance name.\\
\hline
{\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 group\_\-address} & \hyperlink{protocolthe-p}{the} multicast group address to join. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlRawPacket4V0p1Client_a38ba995e6a930057df81cfa408d5ddf6}{
\index{XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}!send\_\-leave\_\-multicast\_\-group@{send\_\-leave\_\-multicast\_\-group}}
\index{send\_\-leave\_\-multicast\_\-group@{send\_\-leave\_\-multicast\_\-group}!XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}}
\subsubsection[{send\_\-leave\_\-multicast\_\-group}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlRawPacket4V0p1Client::send\_\-leave\_\-multicast\_\-group (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{xrl\_\-target\_\-instance\_\-name, }
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{const uint32\_\-t \&}]{ip\_\-protocol, }
\item[{const {\bf IPv4} \&}]{group\_\-address, }
\item[{const LeaveMulticastGroupCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlRawPacket4V0p1Client_a38ba995e6a930057df81cfa408d5ddf6}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Leave an \hyperlink{classIPv4}{IPv4} multicast group.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em xrl\_\-target\_\-instance\_\-name} & \hyperlink{protocolthe-p}{the} receiver's XRL target instance name.\\
\hline
{\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 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
{\em group\_\-address} & \hyperlink{protocolthe-p}{the} multicast group address to leave. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlRawPacket4V0p1Client_a38ba995e6a930057df81cfa408d5ddf6}{
\index{XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}!send\_\-leave\_\-multicast\_\-group@{send\_\-leave\_\-multicast\_\-group}}
\index{send\_\-leave\_\-multicast\_\-group@{send\_\-leave\_\-multicast\_\-group}!XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}}
\subsubsection[{send\_\-leave\_\-multicast\_\-group}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlRawPacket4V0p1Client::send\_\-leave\_\-multicast\_\-group (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{xrl\_\-target\_\-instance\_\-name, }
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{const uint32\_\-t \&}]{ip\_\-protocol, }
\item[{const {\bf IPv4} \&}]{group\_\-address, }
\item[{const LeaveMulticastGroupCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlRawPacket4V0p1Client_a38ba995e6a930057df81cfa408d5ddf6}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Leave an \hyperlink{classIPv4}{IPv4} multicast group.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em xrl\_\-target\_\-instance\_\-name} & \hyperlink{protocolthe-p}{the} receiver's XRL target instance name.\\
\hline
{\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 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
{\em group\_\-address} & \hyperlink{protocolthe-p}{the} multicast group address to leave. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlRawPacket4V0p1Client_a89d05cf2b91c0d15f28e14a5634aead0}{
\index{XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}!send\_\-register\_\-receiver@{send\_\-register\_\-receiver}}
\index{send\_\-register\_\-receiver@{send\_\-register\_\-receiver}!XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}}
\subsubsection[{send\_\-register\_\-receiver}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlRawPacket4V0p1Client::send\_\-register\_\-receiver (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{xrl\_\-target\_\-instance\_\-name, }
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{const uint32\_\-t \&}]{ip\_\-protocol, }
\item[{const bool \&}]{enable\_\-multicast\_\-loopback, }
\item[{const RegisterReceiverCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlRawPacket4V0p1Client_a89d05cf2b91c0d15f28e14a5634aead0}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Register to receive \hyperlink{classIPv4}{IPv4} packets. The receiver is expected to support raw\_\-packet4\_\-client/0.1 interface.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em xrl\_\-target\_\-instance\_\-name} & \hyperlink{protocolthe-p}{the} receiver's XRL target instance name.\\
\hline
{\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}
\hypertarget{classXrlRawPacket4V0p1Client_a89d05cf2b91c0d15f28e14a5634aead0}{
\index{XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}!send\_\-register\_\-receiver@{send\_\-register\_\-receiver}}
\index{send\_\-register\_\-receiver@{send\_\-register\_\-receiver}!XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}}
\subsubsection[{send\_\-register\_\-receiver}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlRawPacket4V0p1Client::send\_\-register\_\-receiver (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{xrl\_\-target\_\-instance\_\-name, }
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{const uint32\_\-t \&}]{ip\_\-protocol, }
\item[{const bool \&}]{enable\_\-multicast\_\-loopback, }
\item[{const RegisterReceiverCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlRawPacket4V0p1Client_a89d05cf2b91c0d15f28e14a5634aead0}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Register to receive \hyperlink{classIPv4}{IPv4} packets. The receiver is expected to support raw\_\-packet4\_\-client/0.1 interface.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em xrl\_\-target\_\-instance\_\-name} & \hyperlink{protocolthe-p}{the} receiver's XRL target instance name.\\
\hline
{\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}
\hypertarget{classXrlRawPacket4V0p1Client_a9ab85212f430bb9ec0ec67e1605cc500}{
\index{XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}!send\_\-send@{send\_\-send}}
\index{send\_\-send@{send\_\-send}!XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}}
\subsubsection[{send\_\-send}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlRawPacket4V0p1Client::send\_\-send (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\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, }
\item[{const SendCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlRawPacket4V0p1Client_a9ab85212f430bb9ec0ec67e1605cc500}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

\hyperlink{structSend}{Send} an \hyperlink{classIPv4}{IPv4} packet on a raw socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\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 payload} & \hyperlink{protocolthe-p}{the} payload, everything after \hyperlink{protocolthe-p}{the} IP header and options. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlRawPacket4V0p1Client_a9ab85212f430bb9ec0ec67e1605cc500}{
\index{XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}!send\_\-send@{send\_\-send}}
\index{send\_\-send@{send\_\-send}!XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}}
\subsubsection[{send\_\-send}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlRawPacket4V0p1Client::send\_\-send (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\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, }
\item[{const SendCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlRawPacket4V0p1Client_a9ab85212f430bb9ec0ec67e1605cc500}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

\hyperlink{structSend}{Send} an \hyperlink{classIPv4}{IPv4} packet on a raw socket.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\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 payload} & \hyperlink{protocolthe-p}{the} payload, everything after \hyperlink{protocolthe-p}{the} IP header and options. \\
\hline
\end{DoxyParams}
\hypertarget{classXrlRawPacket4V0p1Client_a55ba1c2164406bfb761e8f6a43bed00c}{
\index{XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}!send\_\-unregister\_\-receiver@{send\_\-unregister\_\-receiver}}
\index{send\_\-unregister\_\-receiver@{send\_\-unregister\_\-receiver}!XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}}
\subsubsection[{send\_\-unregister\_\-receiver}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlRawPacket4V0p1Client::send\_\-unregister\_\-receiver (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{xrl\_\-target\_\-instance\_\-name, }
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{const uint32\_\-t \&}]{ip\_\-protocol, }
\item[{const UnregisterReceiverCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlRawPacket4V0p1Client_a55ba1c2164406bfb761e8f6a43bed00c}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Unregister to receive \hyperlink{classIPv4}{IPv4} packets.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em xrl\_\-target\_\-instance\_\-name} & \hyperlink{protocolthe-p}{the} receiver's XRL target instance name.\\
\hline
{\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}
\hypertarget{classXrlRawPacket4V0p1Client_a55ba1c2164406bfb761e8f6a43bed00c}{
\index{XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}!send\_\-unregister\_\-receiver@{send\_\-unregister\_\-receiver}}
\index{send\_\-unregister\_\-receiver@{send\_\-unregister\_\-receiver}!XrlRawPacket4V0p1Client@{XrlRawPacket4V0p1Client}}
\subsubsection[{send\_\-unregister\_\-receiver}]{\setlength{\rightskip}{0pt plus 5cm}bool XrlRawPacket4V0p1Client::send\_\-unregister\_\-receiver (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{dst\_\-xrl\_\-target\_\-name, }
\item[{const string \&}]{xrl\_\-target\_\-instance\_\-name, }
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{const uint32\_\-t \&}]{ip\_\-protocol, }
\item[{const UnregisterReceiverCB \&}]{cb}
\end{DoxyParamCaption}
)}}
\label{classXrlRawPacket4V0p1Client_a55ba1c2164406bfb761e8f6a43bed00c}


\hyperlink{structSend}{Send} \hyperlink{classXrl}{Xrl} intended to: 

Unregister to receive \hyperlink{classIPv4}{IPv4} packets.


\begin{DoxyParams}{Parameters}
{\em dst\_\-xrl\_\-target\_\-name} & \hyperlink{protocolthe-p}{the} \hyperlink{classXrl}{Xrl} target name of \hyperlink{protocolthe-p}{the} destination.\\
\hline
{\em xrl\_\-target\_\-instance\_\-name} & \hyperlink{protocolthe-p}{the} receiver's XRL target instance name.\\
\hline
{\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}


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