\hypertarget{classMfeaVif}{
\section{MfeaVif Class Reference}
\label{classMfeaVif}\index{MfeaVif@{MfeaVif}}
}


A class for MFEA-\/specific virtual interface.  




{\ttfamily \#include $<$mfea\_\-vif.hh$>$}

Inheritance diagram for MfeaVif:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5.000000cm]{classMfeaVif}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classMfeaVif_a463b4807758da14ee957add59f83bc75}{MfeaVif} (\hyperlink{classMfeaNode}{MfeaNode} \&mfea\_\-node, const \hyperlink{classVif}{Vif} \&vif)
\begin{DoxyCompactList}\small\item\em Constructor for a given MFEA node and a generic virtual interface. \item\end{DoxyCompactList}\item 
\hyperlink{classMfeaVif_a60705f32e42480a4e5335a133d17d291}{MfeaVif} (\hyperlink{classMfeaNode}{MfeaNode} \&mfea\_\-node, const \hyperlink{classMfeaVif}{MfeaVif} \&mfea\_\-vif)
\begin{DoxyCompactList}\small\item\em Copy Constructor for a given MFEA node and MFEA-\/specific virtual interface. \item\end{DoxyCompactList}\item 
virtual \hyperlink{classMfeaVif_a2a548c93fd34ba7abe41fa2516b6d548}{$\sim$MfeaVif} ()
\begin{DoxyCompactList}\small\item\em Destructor. \item\end{DoxyCompactList}\item 
int \hyperlink{classMfeaVif_a3fb93f200f35911476430dc20084d615}{start} (string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Start MFEA on a single virtual interface. \item\end{DoxyCompactList}\item 
int \hyperlink{classMfeaVif_a2d6f6d670881cf9b0ea73a1c0eda9487}{stop} (string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Stop MFEA on a single virtual interface. \item\end{DoxyCompactList}\item 
void \hyperlink{classMfeaVif_a2a9c37fc37f1447576036285cbd23081}{enable} ()
\begin{DoxyCompactList}\small\item\em Enable MFEA on a single virtual interface. \item\end{DoxyCompactList}\item 
void \hyperlink{classMfeaVif_aa135c26793c198f4a631f82ab2d36d44}{disable} ()
\begin{DoxyCompactList}\small\item\em Disable MFEA on a single virtual interface. \item\end{DoxyCompactList}\item 
void \hyperlink{classMfeaVif_aba6b838bab9db99d98261a7a465b2b0b}{notifyUpdated} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{classSystem}{System} detected some change. \item\end{DoxyCompactList}\item 
int \hyperlink{classMfeaVif_a9f8693db000339d9b0e3433c7f1dc147}{register\_\-protocol} (const string \&module\_\-instance\_\-name, uint8\_\-t ip\_\-protocol, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Register a protocol on a single virtual interface. \item\end{DoxyCompactList}\item 
int \hyperlink{classMfeaVif_ad9803ea909c8ffdce93369ccc7858a90}{unregister\_\-protocol} (const string \&module\_\-instance\_\-name, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Unregister a protocol on a single virtual interface. \item\end{DoxyCompactList}\item 
uint8\_\-t \hyperlink{classMfeaVif_a00c2ac4d7f1e568315218a78a9a006b5}{min\_\-ttl\_\-threshold} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} minimum TTL a multicast packet must have to be forwarded on this virtual interface. \item\end{DoxyCompactList}\item 
void \hyperlink{classMfeaVif_aa1a2b557e86f306d0d16aee2636b91a9}{set\_\-min\_\-ttl\_\-threshold} (uint8\_\-t v)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} minimum TTL a multicast packet must have to be forwarded on this virtual interface. \item\end{DoxyCompactList}\item 
uint32\_\-t \hyperlink{classMfeaVif_adc4a5920530aa103a515e24f7eb84240}{max\_\-rate\_\-limit} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} maximum multicast bandwidth rate allowed on this virtual interface. \item\end{DoxyCompactList}\item 
void \hyperlink{classMfeaVif_a62201e4916b2f4fe6ce762273eb2bf6c}{set\_\-max\_\-rate\_\-limit} (uint32\_\-t v)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} maximum multicast bandwidth rate allowed on this virtual interface. \item\end{DoxyCompactList}\item 
const string \& \hyperlink{classMfeaVif_a9e90585aa9732267d734a828635a2841}{registered\_\-module\_\-instance\_\-name} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} registered module instance name. \item\end{DoxyCompactList}\item 
uint8\_\-t \hyperlink{classMfeaVif_a8a6bd78943f4cfc37792d8aa53c136cb}{registered\_\-ip\_\-protocol} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} registered IP protocol. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classMfeaVif_a859fe5054a9a1d93630eb148c96e3d6e}{
\hyperlink{classMfeaNode}{MfeaNode} \& {\bfseries mfea\_\-node} () const }
\label{classMfeaVif_a859fe5054a9a1d93630eb148c96e3d6e}

\item 
string \hyperlink{classMfeaVif_ae52e7a689333daf367f4e53f9f6a488e}{flags\_\-string} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} string with \hyperlink{protocolthe-p}{the} flags about \hyperlink{protocolthe-p}{the} vif status. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classMfeaVif_a2036794611544dfe796734d011498ffa}{
\hyperlink{classMfeaNode}{MfeaNode} \& {\bfseries \_\-mfea\_\-node}}
\label{classMfeaVif_a2036794611544dfe796734d011498ffa}

\item 
\hypertarget{classMfeaVif_a58fac9c39d96356a7b418c565ed7ca3c}{
uint8\_\-t {\bfseries \_\-min\_\-ttl\_\-threshold}}
\label{classMfeaVif_a58fac9c39d96356a7b418c565ed7ca3c}

\item 
\hypertarget{classMfeaVif_a9ff50436a9b1f621302cc2fcdf6ec6d6}{
uint32\_\-t {\bfseries \_\-max\_\-rate\_\-limit}}
\label{classMfeaVif_a9ff50436a9b1f621302cc2fcdf6ec6d6}

\item 
\hypertarget{classMfeaVif_a9ed11782fee206b56317f2dda5983b2f}{
string {\bfseries \_\-registered\_\-module\_\-instance\_\-name}}
\label{classMfeaVif_a9ed11782fee206b56317f2dda5983b2f}

\item 
\hypertarget{classMfeaVif_abf8a152572ec0bb87595049f72f90569}{
uint8\_\-t {\bfseries \_\-registered\_\-ip\_\-protocol}}
\label{classMfeaVif_abf8a152572ec0bb87595049f72f90569}

\item 
\hypertarget{classMfeaVif_a35beec24ba8f1e2f06106d4934f49993}{
bool {\bfseries wants\_\-to\_\-be\_\-started}}
\label{classMfeaVif_a35beec24ba8f1e2f06106d4934f49993}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
A class for MFEA-\/specific virtual interface. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classMfeaVif_a463b4807758da14ee957add59f83bc75}{
\index{MfeaVif@{MfeaVif}!MfeaVif@{MfeaVif}}
\index{MfeaVif@{MfeaVif}!MfeaVif@{MfeaVif}}
\subsubsection[{MfeaVif}]{\setlength{\rightskip}{0pt plus 5cm}MfeaVif::MfeaVif (
\begin{DoxyParamCaption}
\item[{{\bf MfeaNode} \&}]{mfea\_\-node, }
\item[{const {\bf Vif} \&}]{vif}
\end{DoxyParamCaption}
)}}
\label{classMfeaVif_a463b4807758da14ee957add59f83bc75}


Constructor for a given MFEA node and a generic virtual interface. 

\hyperlink{classMfeaVif_a463b4807758da14ee957add59f83bc75}{MfeaVif::MfeaVif}: : The MFEA node this interface belongs to.


\begin{DoxyParams}{Parameters}
{\em mfea\_\-node} & \hyperlink{protocolthe-p}{the} \hyperlink{classMfeaNode}{MfeaNode} this interface belongs to. \\
\hline
{\em vif} & \hyperlink{protocolthe-p}{the} generic \hyperlink{classVif}{Vif} interface that contains various information.\\
\hline
\end{DoxyParams}
: The generic \hyperlink{classVif}{Vif} interface that contains various information.

MFEA vif constructor. \hypertarget{classMfeaVif_a60705f32e42480a4e5335a133d17d291}{
\index{MfeaVif@{MfeaVif}!MfeaVif@{MfeaVif}}
\index{MfeaVif@{MfeaVif}!MfeaVif@{MfeaVif}}
\subsubsection[{MfeaVif}]{\setlength{\rightskip}{0pt plus 5cm}MfeaVif::MfeaVif (
\begin{DoxyParamCaption}
\item[{{\bf MfeaNode} \&}]{mfea\_\-node, }
\item[{const {\bf MfeaVif} \&}]{mfea\_\-vif}
\end{DoxyParamCaption}
)}}
\label{classMfeaVif_a60705f32e42480a4e5335a133d17d291}


Copy Constructor for a given MFEA node and MFEA-\/specific virtual interface. 

\hyperlink{classMfeaVif_a463b4807758da14ee957add59f83bc75}{MfeaVif::MfeaVif}: : The MFEA node this interface belongs to.


\begin{DoxyParams}{Parameters}
{\em mfea\_\-node} & \hyperlink{protocolthe-p}{the} \hyperlink{classMfeaNode}{MfeaNode} this interface belongs to. \\
\hline
{\em mfea\_\-vif} & \hyperlink{protocolthe-p}{the} origin \hyperlink{classMfeaVif}{MfeaVif} interface that contains \hyperlink{protocolthe-p}{the} initialization information.\\
\hline
\end{DoxyParams}
: The origin \hyperlink{classMfeaVif}{MfeaVif} interface that contains \hyperlink{protocolthe-p}{the} initialization information.

MFEA vif copy constructor. \hypertarget{classMfeaVif_a2a548c93fd34ba7abe41fa2516b6d548}{
\index{MfeaVif@{MfeaVif}!$\sim$MfeaVif@{$\sim$MfeaVif}}
\index{$\sim$MfeaVif@{$\sim$MfeaVif}!MfeaVif@{MfeaVif}}
\subsubsection[{$\sim$MfeaVif}]{\setlength{\rightskip}{0pt plus 5cm}MfeaVif::$\sim$MfeaVif (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classMfeaVif_a2a548c93fd34ba7abe41fa2516b6d548}


Destructor. 

\hyperlink{classMfeaVif_a2a548c93fd34ba7abe41fa2516b6d548}{MfeaVif::$\sim$MfeaVif}: @:

MFEA vif destructor. 

\subsection{Member Function Documentation}
\hypertarget{classMfeaVif_aa135c26793c198f4a631f82ab2d36d44}{
\index{MfeaVif@{MfeaVif}!disable@{disable}}
\index{disable@{disable}!MfeaVif@{MfeaVif}}
\subsubsection[{disable}]{\setlength{\rightskip}{0pt plus 5cm}void MfeaVif::disable (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classMfeaVif_aa135c26793c198f4a631f82ab2d36d44}


Disable MFEA on a single virtual interface. 

If an unit is disabled, it cannot be start or pending-\/start. If \hyperlink{protocolthe-p}{the} unit was runnning, it will be stop first. 

Reimplemented from \hyperlink{classProtoState_a42bbb9a9fa9588ec66f62d99644f3c48}{ProtoState}.

\hypertarget{classMfeaVif_a2a9c37fc37f1447576036285cbd23081}{
\index{MfeaVif@{MfeaVif}!enable@{enable}}
\index{enable@{enable}!MfeaVif@{MfeaVif}}
\subsubsection[{enable}]{\setlength{\rightskip}{0pt plus 5cm}void MfeaVif::enable (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classMfeaVif_a2a9c37fc37f1447576036285cbd23081}


Enable MFEA on a single virtual interface. 

If an unit is not enabled, it cannot be start, or pending-\/start. 

Reimplemented from \hyperlink{classProtoState_a9e91d1d442f873cf6bf914db996519e7}{ProtoState}.

\hypertarget{classMfeaVif_ae52e7a689333daf367f4e53f9f6a488e}{
\index{MfeaVif@{MfeaVif}!flags\_\-string@{flags\_\-string}}
\index{flags\_\-string@{flags\_\-string}!MfeaVif@{MfeaVif}}
\subsubsection[{flags\_\-string}]{\setlength{\rightskip}{0pt plus 5cm}string MfeaVif::flags\_\-string (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classMfeaVif_ae52e7a689333daf367f4e53f9f6a488e}


Get \hyperlink{protocolthe-p}{the} string with \hyperlink{protocolthe-p}{the} flags about \hyperlink{protocolthe-p}{the} vif status. 

TODO: temporary here. Should go to \hyperlink{protocolthe-p}{the} \hyperlink{classVif}{Vif} class after \hyperlink{protocolthe-p}{the} \hyperlink{classVif}{Vif} class starts using \hyperlink{protocolthe-p}{the} Proto class.

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} C++ style string with \hyperlink{protocolthe-p}{the} flags about \hyperlink{protocolthe-p}{the} vif status (e.g., UP/DOWN/DISABLED, etc). 
\end{DoxyReturn}
\hypertarget{classMfeaVif_adc4a5920530aa103a515e24f7eb84240}{
\index{MfeaVif@{MfeaVif}!max\_\-rate\_\-limit@{max\_\-rate\_\-limit}}
\index{max\_\-rate\_\-limit@{max\_\-rate\_\-limit}!MfeaVif@{MfeaVif}}
\subsubsection[{max\_\-rate\_\-limit}]{\setlength{\rightskip}{0pt plus 5cm}uint32\_\-t MfeaVif::max\_\-rate\_\-limit (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMfeaVif_adc4a5920530aa103a515e24f7eb84240}


Get \hyperlink{protocolthe-p}{the} maximum multicast bandwidth rate allowed on this virtual interface. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} maximum multicast bandwidth rate allowed on this virtual interface. 
\end{DoxyReturn}
\hypertarget{classMfeaVif_a00c2ac4d7f1e568315218a78a9a006b5}{
\index{MfeaVif@{MfeaVif}!min\_\-ttl\_\-threshold@{min\_\-ttl\_\-threshold}}
\index{min\_\-ttl\_\-threshold@{min\_\-ttl\_\-threshold}!MfeaVif@{MfeaVif}}
\subsubsection[{min\_\-ttl\_\-threshold}]{\setlength{\rightskip}{0pt plus 5cm}uint8\_\-t MfeaVif::min\_\-ttl\_\-threshold (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMfeaVif_a00c2ac4d7f1e568315218a78a9a006b5}


Get \hyperlink{protocolthe-p}{the} minimum TTL a multicast packet must have to be forwarded on this virtual interface. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} minimum TTL a multicast packet must have to be forwarded on this virtual interface. 
\end{DoxyReturn}
\hypertarget{classMfeaVif_aba6b838bab9db99d98261a7a465b2b0b}{
\index{MfeaVif@{MfeaVif}!notifyUpdated@{notifyUpdated}}
\index{notifyUpdated@{notifyUpdated}!MfeaVif@{MfeaVif}}
\subsubsection[{notifyUpdated}]{\setlength{\rightskip}{0pt plus 5cm}void MfeaVif::notifyUpdated (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classMfeaVif_aba6b838bab9db99d98261a7a465b2b0b}


\hyperlink{classSystem}{System} detected some change. 

\hypertarget{classMfeaVif_a9f8693db000339d9b0e3433c7f1dc147}{
\index{MfeaVif@{MfeaVif}!register\_\-protocol@{register\_\-protocol}}
\index{register\_\-protocol@{register\_\-protocol}!MfeaVif@{MfeaVif}}
\subsubsection[{register\_\-protocol}]{\setlength{\rightskip}{0pt plus 5cm}int MfeaVif::register\_\-protocol (
\begin{DoxyParamCaption}
\item[{const string \&}]{module\_\-instance\_\-name, }
\item[{uint8\_\-t}]{ip\_\-protocol, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classMfeaVif_a9f8693db000339d9b0e3433c7f1dc147}


Register a protocol on a single virtual interface. 

There could be only one registered protocol per interface/vif.


\begin{DoxyParams}{Parameters}
{\em module\_\-instance\_\-name} & \hyperlink{protocolthe-p}{the} module instance name of \hyperlink{protocolthe-p}{the} protocol to register. \\
\hline
{\em ip\_\-protocol} & \hyperlink{protocolthe-p}{the} IP protocol number. It must be between 1 and 255. \\
\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}
\hypertarget{classMfeaVif_a8a6bd78943f4cfc37792d8aa53c136cb}{
\index{MfeaVif@{MfeaVif}!registered\_\-ip\_\-protocol@{registered\_\-ip\_\-protocol}}
\index{registered\_\-ip\_\-protocol@{registered\_\-ip\_\-protocol}!MfeaVif@{MfeaVif}}
\subsubsection[{registered\_\-ip\_\-protocol}]{\setlength{\rightskip}{0pt plus 5cm}uint8\_\-t MfeaVif::registered\_\-ip\_\-protocol (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMfeaVif_a8a6bd78943f4cfc37792d8aa53c136cb}


Get \hyperlink{protocolthe-p}{the} registered IP protocol. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} registered IP protocol. 
\end{DoxyReturn}
\hypertarget{classMfeaVif_a9e90585aa9732267d734a828635a2841}{
\index{MfeaVif@{MfeaVif}!registered\_\-module\_\-instance\_\-name@{registered\_\-module\_\-instance\_\-name}}
\index{registered\_\-module\_\-instance\_\-name@{registered\_\-module\_\-instance\_\-name}!MfeaVif@{MfeaVif}}
\subsubsection[{registered\_\-module\_\-instance\_\-name}]{\setlength{\rightskip}{0pt plus 5cm}const string\& MfeaVif::registered\_\-module\_\-instance\_\-name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMfeaVif_a9e90585aa9732267d734a828635a2841}


Get \hyperlink{protocolthe-p}{the} registered module instance name. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} registered module instance name. 
\end{DoxyReturn}
\hypertarget{classMfeaVif_a62201e4916b2f4fe6ce762273eb2bf6c}{
\index{MfeaVif@{MfeaVif}!set\_\-max\_\-rate\_\-limit@{set\_\-max\_\-rate\_\-limit}}
\index{set\_\-max\_\-rate\_\-limit@{set\_\-max\_\-rate\_\-limit}!MfeaVif@{MfeaVif}}
\subsubsection[{set\_\-max\_\-rate\_\-limit}]{\setlength{\rightskip}{0pt plus 5cm}void MfeaVif::set\_\-max\_\-rate\_\-limit (
\begin{DoxyParamCaption}
\item[{uint32\_\-t}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMfeaVif_a62201e4916b2f4fe6ce762273eb2bf6c}


Set \hyperlink{protocolthe-p}{the} maximum multicast bandwidth rate allowed on this virtual interface. 


\begin{DoxyParams}{Parameters}
{\em v} & \hyperlink{protocolthe-p}{the} value of \hyperlink{protocolthe-p}{the} maximum multicast bandwidth rate allowed on this virtual interface. \\
\hline
\end{DoxyParams}
\hypertarget{classMfeaVif_aa1a2b557e86f306d0d16aee2636b91a9}{
\index{MfeaVif@{MfeaVif}!set\_\-min\_\-ttl\_\-threshold@{set\_\-min\_\-ttl\_\-threshold}}
\index{set\_\-min\_\-ttl\_\-threshold@{set\_\-min\_\-ttl\_\-threshold}!MfeaVif@{MfeaVif}}
\subsubsection[{set\_\-min\_\-ttl\_\-threshold}]{\setlength{\rightskip}{0pt plus 5cm}void MfeaVif::set\_\-min\_\-ttl\_\-threshold (
\begin{DoxyParamCaption}
\item[{uint8\_\-t}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMfeaVif_aa1a2b557e86f306d0d16aee2636b91a9}


Set \hyperlink{protocolthe-p}{the} minimum TTL a multicast packet must have to be forwarded on this virtual interface. 


\begin{DoxyParams}{Parameters}
{\em v} & \hyperlink{protocolthe-p}{the} value of \hyperlink{protocolthe-p}{the} minimum TTL a multicast packet must have to be forwarded on this virtual interface. \\
\hline
\end{DoxyParams}
\hypertarget{classMfeaVif_a3fb93f200f35911476430dc20084d615}{
\index{MfeaVif@{MfeaVif}!start@{start}}
\index{start@{start}!MfeaVif@{MfeaVif}}
\subsubsection[{start}]{\setlength{\rightskip}{0pt plus 5cm}int MfeaVif::start (
\begin{DoxyParamCaption}
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classMfeaVif_a3fb93f200f35911476430dc20084d615}


Start MFEA on a single virtual interface. 

\hyperlink{classMfeaVif_a3fb93f200f35911476430dc20084d615}{MfeaVif::start}: : The error message (if error).


\begin{DoxyParams}{Parameters}
{\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}
Start MFEA on a single virtual interface.

Return value: XORP\_\-OK on success, otherwise XORP\_\-ERROR. \hypertarget{classMfeaVif_a2d6f6d670881cf9b0ea73a1c0eda9487}{
\index{MfeaVif@{MfeaVif}!stop@{stop}}
\index{stop@{stop}!MfeaVif@{MfeaVif}}
\subsubsection[{stop}]{\setlength{\rightskip}{0pt plus 5cm}int MfeaVif::stop (
\begin{DoxyParamCaption}
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classMfeaVif_a2d6f6d670881cf9b0ea73a1c0eda9487}


Stop MFEA on a single virtual interface. 

\hyperlink{classMfeaVif_a2d6f6d670881cf9b0ea73a1c0eda9487}{MfeaVif::stop}: : The error message (if error).


\begin{DoxyParams}{Parameters}
{\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}
Stop MFEA on a single virtual interface.

Return value: XORP\_\-OK on success, otherwise XORP\_\-ERROR. \hypertarget{classMfeaVif_ad9803ea909c8ffdce93369ccc7858a90}{
\index{MfeaVif@{MfeaVif}!unregister\_\-protocol@{unregister\_\-protocol}}
\index{unregister\_\-protocol@{unregister\_\-protocol}!MfeaVif@{MfeaVif}}
\subsubsection[{unregister\_\-protocol}]{\setlength{\rightskip}{0pt plus 5cm}int MfeaVif::unregister\_\-protocol (
\begin{DoxyParamCaption}
\item[{const string \&}]{module\_\-instance\_\-name, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classMfeaVif_ad9803ea909c8ffdce93369ccc7858a90}


Unregister a protocol on a single virtual interface. 


\begin{DoxyParams}{Parameters}
{\em module\_\-instance\_\-name} & \hyperlink{protocolthe-p}{the} module instance name of \hyperlink{protocolthe-p}{the} protocol to unregister. \\
\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}


The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
/home/greearb/git/xorp.ct.github/xorp/fea/mfea\_\-vif.hh\item 
/home/greearb/git/xorp.ct.github/xorp/fea/mfea\_\-vif.cc\end{DoxyCompactItemize}
