\hypertarget{classIpVifInputFilter}{
\section{IpVifInputFilter Class Reference}
\label{classIpVifInputFilter}\index{IpVifInputFilter@{IpVifInputFilter}}
}
Inheritance diagram for IpVifInputFilter:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classIpVifInputFilter}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classIpVifInputFilter_ae84bfa3ad804658eae7587da10080f99}{
{\bfseries IpVifInputFilter} (\hyperlink{classIoIpManager}{IoIpManager} \&io\_\-ip\_\-manager, \hyperlink{classIoIpComm}{IoIpComm} \&io\_\-ip\_\-comm, const string \&receiver\_\-name, const string \&if\_\-name, const string \&vif\_\-name, uint8\_\-t ip\_\-protocol)}
\label{classIpVifInputFilter_ae84bfa3ad804658eae7587da10080f99}

\item 
\hypertarget{classIpVifInputFilter_ab564cafa75372a038d31d13a1c512566}{
void {\bfseries set\_\-enable\_\-multicast\_\-loopback} (bool v)}
\label{classIpVifInputFilter_ab564cafa75372a038d31d13a1c512566}

\item 
\hypertarget{classIpVifInputFilter_a01e7233543a912cffa3ba63b3b9e5549}{
void \hyperlink{classIpVifInputFilter_a01e7233543a912cffa3ba63b3b9e5549}{recv} (const struct \hyperlink{structIPvXHeaderInfo}{IPvXHeaderInfo} \&header, const vector$<$ uint8\_\-t $>$ \&payload)}
\label{classIpVifInputFilter_a01e7233543a912cffa3ba63b3b9e5549}

\begin{DoxyCompactList}\small\item\em Method invoked when data arrives on associated \hyperlink{classIoIpComm}{IoIpComm} instance. \item\end{DoxyCompactList}\item 
\hypertarget{classIpVifInputFilter_ade106258c9423d4b8f855f5e287be541}{
void \hyperlink{classIpVifInputFilter_ade106258c9423d4b8f855f5e287be541}{recv\_\-system\_\-multicast\_\-upcall} (const vector$<$ uint8\_\-t $>$ \&payload)}
\label{classIpVifInputFilter_ade106258c9423d4b8f855f5e287be541}

\begin{DoxyCompactList}\small\item\em Method invoked when a multicast forwarding related upcall is received from \hyperlink{protocolthe-p}{the} system. \item\end{DoxyCompactList}\item 
void \hyperlink{classIpVifInputFilter_a41cf2bd782d499b6c38ac6095c1243a1}{bye} ()
\begin{DoxyCompactList}\small\item\em Method invoked by \hyperlink{protocolthe-p}{the} destructor of \hyperlink{protocolthe-p}{the} associated \hyperlink{classIoIpComm}{IoIpComm} instance. \item\end{DoxyCompactList}\item 
\hypertarget{classIpVifInputFilter_a61c67fc221d3fd27b7083ac6cb870dee}{
const string \& {\bfseries if\_\-name} () const }
\label{classIpVifInputFilter_a61c67fc221d3fd27b7083ac6cb870dee}

\item 
\hypertarget{classIpVifInputFilter_ab5ad07011d541a793af5e007dd91efcf}{
const string \& {\bfseries vif\_\-name} () const }
\label{classIpVifInputFilter_ab5ad07011d541a793af5e007dd91efcf}

\item 
\hypertarget{classIpVifInputFilter_a9beb52144451d47775d470dcd60ce83c}{
int {\bfseries join\_\-multicast\_\-group} (const \hyperlink{classIPvX}{IPvX} \&group\_\-address, string \&error\_\-msg)}
\label{classIpVifInputFilter_a9beb52144451d47775d470dcd60ce83c}

\item 
\hypertarget{classIpVifInputFilter_ae07d133b32018efc48ff7ce18f457ecf}{
int {\bfseries leave\_\-multicast\_\-group} (const \hyperlink{classIPvX}{IPvX} \&group\_\-address, string \&error\_\-msg)}
\label{classIpVifInputFilter_ae07d133b32018efc48ff7ce18f457ecf}

\item 
\hypertarget{classIpVifInputFilter_a2b81c8f3eda140a67a73876425265de7}{
void {\bfseries leave\_\-all\_\-multicast\_\-groups} ()}
\label{classIpVifInputFilter_a2b81c8f3eda140a67a73876425265de7}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classIpVifInputFilter_afad3d9fbe902a0efa9fffc39fabc2dfa}{
bool {\bfseries is\_\-my\_\-address} (const \hyperlink{classIPvX}{IPvX} \&addr) const }
\label{classIpVifInputFilter_afad3d9fbe902a0efa9fffc39fabc2dfa}

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classIpVifInputFilter_a0442c689275cec59c609f716107729ea}{
\hyperlink{classIoIpComm}{IoIpComm} \& {\bfseries \_\-io\_\-ip\_\-comm}}
\label{classIpVifInputFilter_a0442c689275cec59c609f716107729ea}

\item 
\hypertarget{classIpVifInputFilter_adf1ab502196c1bd174e8b79f27496371}{
const string {\bfseries \_\-if\_\-name}}
\label{classIpVifInputFilter_adf1ab502196c1bd174e8b79f27496371}

\item 
\hypertarget{classIpVifInputFilter_af6424cac66741231e0bd2c306a4a016c}{
const string {\bfseries \_\-vif\_\-name}}
\label{classIpVifInputFilter_af6424cac66741231e0bd2c306a4a016c}

\item 
\hypertarget{classIpVifInputFilter_a9a56c19de6481ced3c29c487cda451c9}{
set$<$ \hyperlink{classIPvX}{IPvX} $>$ {\bfseries \_\-joined\_\-multicast\_\-groups}}
\label{classIpVifInputFilter_a9a56c19de6481ced3c29c487cda451c9}

\item 
\hypertarget{classIpVifInputFilter_a8a17c1937d84d2a6f28f60e1f230b711}{
bool {\bfseries \_\-enable\_\-multicast\_\-loopback}}
\label{classIpVifInputFilter_a8a17c1937d84d2a6f28f60e1f230b711}

\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\hypertarget{classIpVifInputFilter_a41cf2bd782d499b6c38ac6095c1243a1}{
\index{IpVifInputFilter@{IpVifInputFilter}!bye@{bye}}
\index{bye@{bye}!IpVifInputFilter@{IpVifInputFilter}}
\subsubsection[{bye}]{\setlength{\rightskip}{0pt plus 5cm}void IpVifInputFilter::bye (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline, virtual\mbox{]}}}}
\label{classIpVifInputFilter_a41cf2bd782d499b6c38ac6095c1243a1}


Method invoked by \hyperlink{protocolthe-p}{the} destructor of \hyperlink{protocolthe-p}{the} associated \hyperlink{classIoIpComm}{IoIpComm} instance. 

This method provides \hyperlink{protocolthe-p}{the} InputFilter with \hyperlink{protocolthe-p}{the} opportunity to delete itself or update its state. The input filter does not need to call \hyperlink{classIoIpComm_a43dae51a61a95bae731e9b8153e9f634}{IoIpComm::remove\_\-filter()} since filter removal is automatically conducted. 

Implements \hyperlink{classIoIpComm_1_1InputFilter_af0ed271362a140936281cc01e6e77396}{IoIpComm::InputFilter}.



The documentation for this class was generated from the following file:\begin{DoxyCompactItemize}
\item 
/home/greearb/git/xorp.ct.github/xorp/fea/io\_\-ip\_\-manager.cc\end{DoxyCompactItemize}
