\hypertarget{classLinkVifInputFilter}{
\section{LinkVifInputFilter Class Reference}
\label{classLinkVifInputFilter}\index{LinkVifInputFilter@{LinkVifInputFilter}}
}
Inheritance diagram for LinkVifInputFilter:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classLinkVifInputFilter}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classLinkVifInputFilter_abc117048bddce94a352c67a683deea01}{
{\bfseries LinkVifInputFilter} (\hyperlink{classIoLinkManager}{IoLinkManager} \&io\_\-link\_\-manager, \hyperlink{classIoLinkComm}{IoLinkComm} \&io\_\-link\_\-comm, const string \&receiver\_\-name, const string \&if\_\-name, const string \&vif\_\-name, uint16\_\-t ether\_\-type, const string \&filter\_\-program)}
\label{classLinkVifInputFilter_abc117048bddce94a352c67a683deea01}

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

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

\begin{DoxyCompactList}\small\item\em Method invoked when data arrives on associated \hyperlink{classIoLinkComm}{IoLinkComm} instance. \item\end{DoxyCompactList}\item 
void \hyperlink{classLinkVifInputFilter_a82f3bf74787fce0652d1d71ce24bb102}{bye} ()
\begin{DoxyCompactList}\small\item\em Method invoked by \hyperlink{protocolthe-p}{the} destructor of \hyperlink{protocolthe-p}{the} associated \hyperlink{classIoLinkComm}{IoLinkComm} instance. \item\end{DoxyCompactList}\item 
\hypertarget{classLinkVifInputFilter_a78db32958d81c1a57c8925dc79867856}{
int {\bfseries join\_\-multicast\_\-group} (const \hyperlink{classMac}{Mac} \&group\_\-address, string \&error\_\-msg)}
\label{classLinkVifInputFilter_a78db32958d81c1a57c8925dc79867856}

\item 
\hypertarget{classLinkVifInputFilter_a10b5f36cb6aa6adcd6eafdc8ebbb4f3a}{
int {\bfseries leave\_\-multicast\_\-group} (const \hyperlink{classMac}{Mac} \&group\_\-address, string \&error\_\-msg)}
\label{classLinkVifInputFilter_a10b5f36cb6aa6adcd6eafdc8ebbb4f3a}

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

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

\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classLinkVifInputFilter_a82bbbb38d39d94cd912ff97677875734}{
\hyperlink{classIoLinkComm}{IoLinkComm} \& {\bfseries \_\-io\_\-link\_\-comm}}
\label{classLinkVifInputFilter_a82bbbb38d39d94cd912ff97677875734}

\item 
\hypertarget{classLinkVifInputFilter_ae7c2684598a68cb4be977a167993e267}{
set$<$ \hyperlink{classMac}{Mac} $>$ {\bfseries \_\-joined\_\-multicast\_\-groups}}
\label{classLinkVifInputFilter_ae7c2684598a68cb4be977a167993e267}

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

\end{DoxyCompactItemize}


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


Method invoked by \hyperlink{protocolthe-p}{the} destructor of \hyperlink{protocolthe-p}{the} associated \hyperlink{classIoLinkComm}{IoLinkComm} 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{classIoLinkComm_a4590856ea6d9711bb9a4433c5b366185}{IoLinkComm::remove\_\-filter()} since filter removal is automatically conducted. 

Implements \hyperlink{classIoLinkComm_1_1InputFilter_adfab7785bdbefcfb249c733e17cce6ca}{IoLinkComm::InputFilter}.



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