\hypertarget{classVrrpVif}{
\section{VrrpVif Class Reference}
\label{classVrrpVif}\index{VrrpVif@{VrrpVif}}
}


Implementation of a VRRP network interface.  




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

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classVrrpVif_ad6b6bcb2c5496205f3deebd6ef7b7817}{
typedef set$<$ uint8\_\-t $>$ {\bfseries VRIDS}}
\label{classVrrpVif_ad6b6bcb2c5496205f3deebd6ef7b7817}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classVrrpVif_a11919bb65210404139102b1898852ca8}{VrrpVif} (\hyperlink{classVrrpTarget}{VrrpTarget} \&vt, const string \&ifname, const string \&vifname)
\item 
\hypertarget{classVrrpVif_a009e1ba2c64030ba0ec4e3bbcc77a77d}{
\hyperlink{classVrrpTarget}{VrrpTarget} \& {\bfseries get\_\-vrrp\_\-target} ()}
\label{classVrrpVif_a009e1ba2c64030ba0ec4e3bbcc77a77d}

\item 
bool \hyperlink{classVrrpVif_a3d7211b84e4171871d3591364a055032}{own} (const \hyperlink{classIPv4}{IPv4} \&addr)
\begin{DoxyCompactList}\small\item\em Check whether an IP address is configured on this interface. \item\end{DoxyCompactList}\item 
\hyperlink{classVrrp}{Vrrp} $\ast$ \hyperlink{classVrrpVif_a4712d019a0f2e18d9fb891ddc96571c0}{find\_\-vrid} (uint32\_\-t vrid)
\begin{DoxyCompactList}\small\item\em Look for a VRRP instance on this interface. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpVif_a48d42919954885a7e7af1e088934687a}{add\_\-vrid} (uint32\_\-t vrid)
\begin{DoxyCompactList}\small\item\em Add a VRRP instance on this interface. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpVif_a219a1246044a782a97fc561e8451d816}{delete\_\-vrid} (uint32\_\-t vrid)
\begin{DoxyCompactList}\small\item\em Delete a VRRP instance from this interface. \item\end{DoxyCompactList}\item 
bool \hyperlink{classVrrpVif_ab07a9ff9988832e9a99a0baabf06d6ef}{ready} () const 
\begin{DoxyCompactList}\small\item\em Check whether \hyperlink{protocolthe-p}{the} interface is up. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpVif_a4d8f237974c40e995b2671120977a2b7}{configure} (const \hyperlink{classIfMgrIfTree}{IfMgrIfTree} \&conf)
\begin{DoxyCompactList}\small\item\em Change \hyperlink{protocolthe-p}{the} interface's configuration. \item\end{DoxyCompactList}\item 
const \hyperlink{classIPv4}{IPv4} \& \hyperlink{classVrrpVif_ada6ebfd36cda03a1b32ea2b919148df8}{addr} () const 
\begin{DoxyCompactList}\small\item\em Obtain \hyperlink{protocolthe-p}{the} interface's primary IP address. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpVif_acb8f58ff7f7f6d8bfffa3c0b3943f469}{send} (const \hyperlink{classMac}{Mac} \&src, const \hyperlink{classMac}{Mac} \&dst, uint32\_\-t ether, const vector$<$ uint8\_\-t $>$ \&payload)
\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} a L2 packet. \item\end{DoxyCompactList}\item 
\hypertarget{classVrrpVif_a67139b665d846d6d87d8a8383ab08f6a}{
void \hyperlink{classVrrpVif_a67139b665d846d6d87d8a8383ab08f6a}{join\_\-mcast} ()}
\label{classVrrpVif_a67139b665d846d6d87d8a8383ab08f6a}

\begin{DoxyCompactList}\small\item\em Join \hyperlink{protocolthe-p}{the} VRRP multicast group. \item\end{DoxyCompactList}\item 
\hypertarget{classVrrpVif_a0e4c01afbfdc110f4d92abff70e26c9d}{
void \hyperlink{classVrrpVif_a0e4c01afbfdc110f4d92abff70e26c9d}{leave\_\-mcast} ()}
\label{classVrrpVif_a0e4c01afbfdc110f4d92abff70e26c9d}

\begin{DoxyCompactList}\small\item\em Leave \hyperlink{protocolthe-p}{the} VRRP multicast group. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpVif_afb669f9e3dd18ca8b9f1470bd8cf28f6}{recv} (const \hyperlink{classIPv4}{IPv4} \&from, const vector$<$ uint8\_\-t $>$ \&payload)
\begin{DoxyCompactList}\small\item\em Receive an IP packet. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpVif_a0e23e2f5c288ef463322ade3cd8b10d0}{add\_\-mac} (const \hyperlink{classMac}{Mac} \&mac)
\begin{DoxyCompactList}\small\item\em Add a MAC address to this interface. \item\end{DoxyCompactList}\item 
\hypertarget{classVrrpVif_ab91602a97134c7d900e20eaf3b4c6997}{
void {\bfseries add\_\-ip} (const \hyperlink{classIPv4}{IPv4} \&ip, uint32\_\-t prefix)}
\label{classVrrpVif_ab91602a97134c7d900e20eaf3b4c6997}

\item 
void \hyperlink{classVrrpVif_adbfcb5241787a2933cbeb8fc8ca71468}{delete\_\-mac} (const \hyperlink{classMac}{Mac} \&mac)
\begin{DoxyCompactList}\small\item\em Delete a MAC address from this interface. \item\end{DoxyCompactList}\item 
\hypertarget{classVrrpVif_adca89490f1b5108c8dc48f9677117c84}{
void {\bfseries delete\_\-ip} (const \hyperlink{classIPv4}{IPv4} \&ip)}
\label{classVrrpVif_adca89490f1b5108c8dc48f9677117c84}

\item 
\hypertarget{classVrrpVif_a95e8db93305b286d8a25098b65c4bda7}{
void \hyperlink{classVrrpVif_a95e8db93305b286d8a25098b65c4bda7}{start\_\-arps} ()}
\label{classVrrpVif_a95e8db93305b286d8a25098b65c4bda7}

\begin{DoxyCompactList}\small\item\em Start \hyperlink{protocolthe-p}{the} reception of ARP packets. \item\end{DoxyCompactList}\item 
\hypertarget{classVrrpVif_adcec2fc71d8d8e2a40dcc10dcd7f840d}{
void \hyperlink{classVrrpVif_adcec2fc71d8d8e2a40dcc10dcd7f840d}{stop\_\-arps} ()}
\label{classVrrpVif_adcec2fc71d8d8e2a40dcc10dcd7f840d}

\begin{DoxyCompactList}\small\item\em Stop \hyperlink{protocolthe-p}{the} reception of ARP packets. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpVif_aa4ed9cffc3a4af047d225c6e719d26c6}{recv\_\-arp} (const \hyperlink{classMac}{Mac} \&src, const vector$<$ uint8\_\-t $>$ \&payload)
\begin{DoxyCompactList}\small\item\em Notify \hyperlink{protocolthe-p}{the} reception of an ARP packet. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpVif_ad60a08562a9a08f9fce28c3775c8669c}{get\_\-vrids} (VRIDS \&vrids)
\begin{DoxyCompactList}\small\item\em Obtain a list of VRRP instance configured on this interface. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpVif_af0bfca26cd16eb391178e641eee6023a}{xrl\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)
\begin{DoxyCompactList}\small\item\em Callback on XRL error caused by this interface. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classVrrpVif_a3391e34053755ad8c67b18e0dcff2305}{
typedef set$<$ \hyperlink{classIPv4}{IPv4} $>$ {\bfseries IPS}}
\label{classVrrpVif_a3391e34053755ad8c67b18e0dcff2305}

\item 
\hypertarget{classVrrpVif_a43e1690ae83361bd7e89b0361c61e4a3}{
typedef map$<$ uint32\_\-t, \hyperlink{classVrrp}{Vrrp} $\ast$ $>$ {\bfseries VRRPS}}
\label{classVrrpVif_a43e1690ae83361bd7e89b0361c61e4a3}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classVrrpVif_ae3d1e3b4bb78f199fcc8ba101af2d599}{set\_\-ready} (bool ready)
\begin{DoxyCompactList}\small\item\em Enable or disable \hyperlink{protocolthe-p}{the} interface. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\bool \hyperlink{classVrrpVif_afd4498769b663e0b4fd211dbcde19738}{is\_\-enabled} (const T $\ast$obj)
\begin{DoxyCompactList}\small\item\em Check whether a rtrmgr configuration element (e.g., an interface) is enabled. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classVrrpVif_a7d131564663251b9050a877fdbec0dd5}{
\hyperlink{classVrrpTarget}{VrrpTarget} \& {\bfseries \_\-vt}}
\label{classVrrpVif_a7d131564663251b9050a877fdbec0dd5}

\item 
\hypertarget{classVrrpVif_aa854b4c50f3c0d49bdb4b0d58f5822f9}{
string {\bfseries \_\-ifname}}
\label{classVrrpVif_aa854b4c50f3c0d49bdb4b0d58f5822f9}

\item 
\hypertarget{classVrrpVif_a0c15cd596586ae2dd8b5f62d966008a7}{
string {\bfseries \_\-vifname}}
\label{classVrrpVif_a0c15cd596586ae2dd8b5f62d966008a7}

\item 
\hypertarget{classVrrpVif_a128491148a01c86c1e3c021d137344ca}{
bool {\bfseries \_\-ready}}
\label{classVrrpVif_a128491148a01c86c1e3c021d137344ca}

\item 
\hypertarget{classVrrpVif_a5f863878bca5f90c1eef5aca7c6808b4}{
IPS {\bfseries \_\-ips}}
\label{classVrrpVif_a5f863878bca5f90c1eef5aca7c6808b4}

\item 
\hypertarget{classVrrpVif_a4c3c98c19ec4a9ded408157e04627081}{
VRRPS {\bfseries \_\-vrrps}}
\label{classVrrpVif_a4c3c98c19ec4a9ded408157e04627081}

\item 
\hypertarget{classVrrpVif_af00a940ed5f55946343cbc05ef69cf0c}{
uint32\_\-t {\bfseries \_\-join}}
\label{classVrrpVif_af00a940ed5f55946343cbc05ef69cf0c}

\item 
\hypertarget{classVrrpVif_a42ecd4e37ebf9963703a71ec21c032fd}{
uint32\_\-t {\bfseries \_\-arps}}
\label{classVrrpVif_a42ecd4e37ebf9963703a71ec21c032fd}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Implementation of a VRRP network interface. This class links \hyperlink{protocolthe-p}{the} VRRP state machine to \hyperlink{protocolthe-p}{the} actual network. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classVrrpVif_a11919bb65210404139102b1898852ca8}{
\index{VrrpVif@{VrrpVif}!VrrpVif@{VrrpVif}}
\index{VrrpVif@{VrrpVif}!VrrpVif@{VrrpVif}}
\subsubsection[{VrrpVif}]{\setlength{\rightskip}{0pt plus 5cm}VrrpVif::VrrpVif (
\begin{DoxyParamCaption}
\item[{{\bf VrrpTarget} \&}]{vt, }
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname}
\end{DoxyParamCaption}
)}}
\label{classVrrpVif_a11919bb65210404139102b1898852ca8}

\begin{DoxyParams}{Parameters}
{\em vt} & \hyperlink{protocolthe-p}{the} VRRP target. \\
\hline
{\em ifname} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} physical interface. \\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} logical interface. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classVrrpVif_a0e23e2f5c288ef463322ade3cd8b10d0}{
\index{VrrpVif@{VrrpVif}!add\_\-mac@{add\_\-mac}}
\index{add\_\-mac@{add\_\-mac}!VrrpVif@{VrrpVif}}
\subsubsection[{add\_\-mac}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpVif::add\_\-mac (
\begin{DoxyParamCaption}
\item[{const {\bf Mac} \&}]{mac}
\end{DoxyParamCaption}
)}}
\label{classVrrpVif_a0e23e2f5c288ef463322ade3cd8b10d0}


Add a MAC address to this interface. 


\begin{DoxyParams}{Parameters}
{\em mac} & MAC address to add. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpVif_a48d42919954885a7e7af1e088934687a}{
\index{VrrpVif@{VrrpVif}!add\_\-vrid@{add\_\-vrid}}
\index{add\_\-vrid@{add\_\-vrid}!VrrpVif@{VrrpVif}}
\subsubsection[{add\_\-vrid}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpVif::add\_\-vrid (
\begin{DoxyParamCaption}
\item[{uint32\_\-t}]{vrid}
\end{DoxyParamCaption}
)}}
\label{classVrrpVif_a48d42919954885a7e7af1e088934687a}


Add a VRRP instance on this interface. 


\begin{DoxyParams}{Parameters}
{\em vrid} & \hyperlink{protocolthe-p}{the} router ID of this VRRP instance. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpVif_ada6ebfd36cda03a1b32ea2b919148df8}{
\index{VrrpVif@{VrrpVif}!addr@{addr}}
\index{addr@{addr}!VrrpVif@{VrrpVif}}
\subsubsection[{addr}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf IPv4} \& VrrpVif::addr (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classVrrpVif_ada6ebfd36cda03a1b32ea2b919148df8}


Obtain \hyperlink{protocolthe-p}{the} interface's primary IP address. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} primary IP address. 
\end{DoxyReturn}
\hypertarget{classVrrpVif_a4d8f237974c40e995b2671120977a2b7}{
\index{VrrpVif@{VrrpVif}!configure@{configure}}
\index{configure@{configure}!VrrpVif@{VrrpVif}}
\subsubsection[{configure}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpVif::configure (
\begin{DoxyParamCaption}
\item[{const {\bf IfMgrIfTree} \&}]{conf}
\end{DoxyParamCaption}
)}}
\label{classVrrpVif_a4d8f237974c40e995b2671120977a2b7}


Change \hyperlink{protocolthe-p}{the} interface's configuration. 


\begin{DoxyParams}{Parameters}
{\em conf} & \hyperlink{protocolthe-p}{the} new configuration of \hyperlink{protocolthe-p}{the} interface. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpVif_adbfcb5241787a2933cbeb8fc8ca71468}{
\index{VrrpVif@{VrrpVif}!delete\_\-mac@{delete\_\-mac}}
\index{delete\_\-mac@{delete\_\-mac}!VrrpVif@{VrrpVif}}
\subsubsection[{delete\_\-mac}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpVif::delete\_\-mac (
\begin{DoxyParamCaption}
\item[{const {\bf Mac} \&}]{mac}
\end{DoxyParamCaption}
)}}
\label{classVrrpVif_adbfcb5241787a2933cbeb8fc8ca71468}


Delete a MAC address from this interface. 


\begin{DoxyParams}{Parameters}
{\em mac} & MAC address to remove. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpVif_a219a1246044a782a97fc561e8451d816}{
\index{VrrpVif@{VrrpVif}!delete\_\-vrid@{delete\_\-vrid}}
\index{delete\_\-vrid@{delete\_\-vrid}!VrrpVif@{VrrpVif}}
\subsubsection[{delete\_\-vrid}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpVif::delete\_\-vrid (
\begin{DoxyParamCaption}
\item[{uint32\_\-t}]{vrid}
\end{DoxyParamCaption}
)}}
\label{classVrrpVif_a219a1246044a782a97fc561e8451d816}


Delete a VRRP instance from this interface. 


\begin{DoxyParams}{Parameters}
{\em vrid} & \hyperlink{protocolthe-p}{the} router ID of \hyperlink{protocolthe-p}{the} instance. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpVif_a4712d019a0f2e18d9fb891ddc96571c0}{
\index{VrrpVif@{VrrpVif}!find\_\-vrid@{find\_\-vrid}}
\index{find\_\-vrid@{find\_\-vrid}!VrrpVif@{VrrpVif}}
\subsubsection[{find\_\-vrid}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vrrp} $\ast$ VrrpVif::find\_\-vrid (
\begin{DoxyParamCaption}
\item[{uint32\_\-t}]{vrid}
\end{DoxyParamCaption}
)}}
\label{classVrrpVif_a4712d019a0f2e18d9fb891ddc96571c0}


Look for a VRRP instance on this interface. 

\begin{DoxyReturn}{Returns}
a VRRP instance configured on this interface. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em vrid} & \hyperlink{protocolthe-p}{the} VRRP ID to look for. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpVif_ad60a08562a9a08f9fce28c3775c8669c}{
\index{VrrpVif@{VrrpVif}!get\_\-vrids@{get\_\-vrids}}
\index{get\_\-vrids@{get\_\-vrids}!VrrpVif@{VrrpVif}}
\subsubsection[{get\_\-vrids}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpVif::get\_\-vrids (
\begin{DoxyParamCaption}
\item[{VRIDS \&}]{vrids}
\end{DoxyParamCaption}
)}}
\label{classVrrpVif_ad60a08562a9a08f9fce28c3775c8669c}


Obtain a list of VRRP instance configured on this interface. 


\begin{DoxyParams}{Parameters}
{\em vrids} & \hyperlink{protocolthe-p}{the} VRRP instances on this interface (output parameter). \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpVif_afd4498769b663e0b4fd211dbcde19738}{
\index{VrrpVif@{VrrpVif}!is\_\-enabled@{is\_\-enabled}}
\index{is\_\-enabled@{is\_\-enabled}!VrrpVif@{VrrpVif}}
\subsubsection[{is\_\-enabled}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ bool VrrpVif::is\_\-enabled (
\begin{DoxyParamCaption}
\item[{const T $\ast$}]{obj}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classVrrpVif_afd4498769b663e0b4fd211dbcde19738}


Check whether a rtrmgr configuration element (e.g., an interface) is enabled. 

\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} element is enabled, false otherwise. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em obj} & element to check. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpVif_a3d7211b84e4171871d3591364a055032}{
\index{VrrpVif@{VrrpVif}!own@{own}}
\index{own@{own}!VrrpVif@{VrrpVif}}
\subsubsection[{own}]{\setlength{\rightskip}{0pt plus 5cm}bool VrrpVif::own (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4} \&}]{addr}
\end{DoxyParamCaption}
)}}
\label{classVrrpVif_a3d7211b84e4171871d3591364a055032}


Check whether an IP address is configured on this interface. 

\begin{DoxyReturn}{Returns}
whether \hyperlink{protocolthe-p}{the} given IP address is configured on \hyperlink{protocolthe-p}{the} interface. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em addr} & \hyperlink{protocolthe-p}{the} IP address tocheck for. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpVif_ab07a9ff9988832e9a99a0baabf06d6ef}{
\index{VrrpVif@{VrrpVif}!ready@{ready}}
\index{ready@{ready}!VrrpVif@{VrrpVif}}
\subsubsection[{ready}]{\setlength{\rightskip}{0pt plus 5cm}bool VrrpVif::ready (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classVrrpVif_ab07a9ff9988832e9a99a0baabf06d6ef}


Check whether \hyperlink{protocolthe-p}{the} interface is up. 

\begin{DoxyReturn}{Returns}
whether \hyperlink{protocolthe-p}{the} interface is enabled. 
\end{DoxyReturn}
\hypertarget{classVrrpVif_afb669f9e3dd18ca8b9f1470bd8cf28f6}{
\index{VrrpVif@{VrrpVif}!recv@{recv}}
\index{recv@{recv}!VrrpVif@{VrrpVif}}
\subsubsection[{recv}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpVif::recv (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4} \&}]{from, }
\item[{const vector$<$ uint8\_\-t $>$ \&}]{payload}
\end{DoxyParamCaption}
)}}
\label{classVrrpVif_afb669f9e3dd18ca8b9f1470bd8cf28f6}


Receive an IP packet. 


\begin{DoxyParams}{Parameters}
{\em from} & \hyperlink{protocolthe-p}{the} source IP address. \\
\hline
{\em payload} & \hyperlink{protocolthe-p}{the} IP payload. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpVif_aa4ed9cffc3a4af047d225c6e719d26c6}{
\index{VrrpVif@{VrrpVif}!recv\_\-arp@{recv\_\-arp}}
\index{recv\_\-arp@{recv\_\-arp}!VrrpVif@{VrrpVif}}
\subsubsection[{recv\_\-arp}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpVif::recv\_\-arp (
\begin{DoxyParamCaption}
\item[{const {\bf Mac} \&}]{src, }
\item[{const vector$<$ uint8\_\-t $>$ \&}]{payload}
\end{DoxyParamCaption}
)}}
\label{classVrrpVif_aa4ed9cffc3a4af047d225c6e719d26c6}


Notify \hyperlink{protocolthe-p}{the} reception of an ARP packet. 


\begin{DoxyParams}{Parameters}
{\em src} & \hyperlink{protocolthe-p}{the} source MAC address. \\
\hline
{\em payload} & \hyperlink{protocolthe-p}{the} ARP header and data. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpVif_acb8f58ff7f7f6d8bfffa3c0b3943f469}{
\index{VrrpVif@{VrrpVif}!send@{send}}
\index{send@{send}!VrrpVif@{VrrpVif}}
\subsubsection[{send}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpVif::send (
\begin{DoxyParamCaption}
\item[{const {\bf Mac} \&}]{src, }
\item[{const {\bf Mac} \&}]{dst, }
\item[{uint32\_\-t}]{ether, }
\item[{const vector$<$ uint8\_\-t $>$ \&}]{payload}
\end{DoxyParamCaption}
)}}
\label{classVrrpVif_acb8f58ff7f7f6d8bfffa3c0b3943f469}


\hyperlink{structSend}{Send} a L2 packet. 


\begin{DoxyParams}{Parameters}
{\em src} & \hyperlink{protocolthe-p}{the} source MAC address. \\
\hline
{\em dst} & \hyperlink{protocolthe-p}{the} destination MAC address. \\
\hline
{\em ether} & \hyperlink{protocolthe-p}{the} Ethernet type. \\
\hline
{\em payload} & \hyperlink{protocolthe-p}{the} data following \hyperlink{protocolthe-p}{the} MAC header. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpVif_ae3d1e3b4bb78f199fcc8ba101af2d599}{
\index{VrrpVif@{VrrpVif}!set\_\-ready@{set\_\-ready}}
\index{set\_\-ready@{set\_\-ready}!VrrpVif@{VrrpVif}}
\subsubsection[{set\_\-ready}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpVif::set\_\-ready (
\begin{DoxyParamCaption}
\item[{bool}]{ready}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classVrrpVif_ae3d1e3b4bb78f199fcc8ba101af2d599}


Enable or disable \hyperlink{protocolthe-p}{the} interface. 

This will start / stop all VRRP instances running on this interface.


\begin{DoxyParams}{Parameters}
{\em ready} & if true, enable \hyperlink{protocolthe-p}{the} interface, otherwise disable it. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpVif_af0bfca26cd16eb391178e641eee6023a}{
\index{VrrpVif@{VrrpVif}!xrl\_\-cb@{xrl\_\-cb}}
\index{xrl\_\-cb@{xrl\_\-cb}!VrrpVif@{VrrpVif}}
\subsubsection[{xrl\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpVif::xrl\_\-cb (
\begin{DoxyParamCaption}
\item[{const {\bf XrlError} \&}]{xrl\_\-error}
\end{DoxyParamCaption}
)}}
\label{classVrrpVif_af0bfca26cd16eb391178e641eee6023a}


Callback on XRL error caused by this interface. 


\begin{DoxyParams}{Parameters}
{\em xrl\_\-error} & \hyperlink{protocolthe-p}{the} error (if any). \\
\hline
\end{DoxyParams}


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