\hypertarget{classVrrpInterface}{
\section{VrrpInterface Class Reference}
\label{classVrrpInterface}\index{VrrpInterface@{VrrpInterface}}
}


A network interface on which VRRP runs.  




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

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual bool \hyperlink{classVrrpInterface_a782a37be2ac4f1d222038c3bad927875}{own} (const \hyperlink{classIPv4}{IPv4} \&addr)=0
\begin{DoxyCompactList}\small\item\em Determines whether \hyperlink{protocolthe-p}{the} router owns an IP address. \item\end{DoxyCompactList}\item 
virtual bool \hyperlink{classVrrpInterface_a350e956b0c54eb86994822c20f5f0ea6}{ready} () const =0
\begin{DoxyCompactList}\small\item\em Check whether \hyperlink{protocolthe-p}{the} network interface is up. \item\end{DoxyCompactList}\item 
virtual const \hyperlink{classIPv4}{IPv4} \& \hyperlink{classVrrpInterface_ae70ba7eba6511f2ee33e53a07590a95d}{addr} () const =0
\begin{DoxyCompactList}\small\item\em Obtain \hyperlink{protocolthe-p}{the} primary IP address of \hyperlink{protocolthe-p}{the} interface. \item\end{DoxyCompactList}\item 
virtual void \hyperlink{classVrrpInterface_a320efb36a1d63982df84ba050cb17e38}{send} (const \hyperlink{classMac}{Mac} \&src, const \hyperlink{classMac}{Mac} \&dst, uint32\_\-t ether, const PAYLOAD \&payload)=0
\begin{DoxyCompactList}\small\item\em Transmits a L2 packet. \item\end{DoxyCompactList}\item 
\hypertarget{classVrrpInterface_a5427f47496595b510444b17007f16ddf}{
virtual void \hyperlink{classVrrpInterface_a5427f47496595b510444b17007f16ddf}{join\_\-mcast} ()=0}
\label{classVrrpInterface_a5427f47496595b510444b17007f16ddf}

\begin{DoxyCompactList}\small\item\em Join \hyperlink{protocolthe-p}{the} VRRP multicast group on this interface. \item\end{DoxyCompactList}\item 
\hypertarget{classVrrpInterface_a5d9e39d662cbd555db82871547220054}{
virtual void \hyperlink{classVrrpInterface_a5d9e39d662cbd555db82871547220054}{leave\_\-mcast} ()=0}
\label{classVrrpInterface_a5d9e39d662cbd555db82871547220054}

\begin{DoxyCompactList}\small\item\em Leave \hyperlink{protocolthe-p}{the} VRRP multicast group on this interface. \item\end{DoxyCompactList}\item 
virtual void \hyperlink{classVrrpInterface_aecfd1e8f3dd92b638c1591eb801c9a80}{add\_\-mac} (const \hyperlink{classMac}{Mac} \&mac)=0
\begin{DoxyCompactList}\small\item\em Add a MAC address to this interface. \item\end{DoxyCompactList}\item 
\hypertarget{classVrrpInterface_a4481008f22d6fec49cec30e57944a4bf}{
virtual void {\bfseries add\_\-ip} (const \hyperlink{classIPv4}{IPv4} \&ip)=0}
\label{classVrrpInterface_a4481008f22d6fec49cec30e57944a4bf}

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

\item 
\hypertarget{classVrrpInterface_a4a423017682cec32f48407ab88575114}{
virtual void \hyperlink{classVrrpInterface_a4a423017682cec32f48407ab88575114}{start\_\-arps} ()=0}
\label{classVrrpInterface_a4a423017682cec32f48407ab88575114}

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

\begin{DoxyCompactList}\small\item\em Stop \hyperlink{protocolthe-p}{the} reception of ARP packets. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
A network interface on which VRRP runs. This interface provides \hyperlink{protocolthe-p}{the} means via which VRRP receives and send packets. 

\subsection{Member Function Documentation}
\hypertarget{classVrrpInterface_aecfd1e8f3dd92b638c1591eb801c9a80}{
\index{VrrpInterface@{VrrpInterface}!add\_\-mac@{add\_\-mac}}
\index{add\_\-mac@{add\_\-mac}!VrrpInterface@{VrrpInterface}}
\subsubsection[{add\_\-mac}]{\setlength{\rightskip}{0pt plus 5cm}virtual void VrrpInterface::add\_\-mac (
\begin{DoxyParamCaption}
\item[{const {\bf Mac} \&}]{mac}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classVrrpInterface_aecfd1e8f3dd92b638c1591eb801c9a80}


Add a MAC address to this interface. 


\begin{DoxyParams}{Parameters}
{\em mac} & MAC address to add. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpInterface_ae70ba7eba6511f2ee33e53a07590a95d}{
\index{VrrpInterface@{VrrpInterface}!addr@{addr}}
\index{addr@{addr}!VrrpInterface@{VrrpInterface}}
\subsubsection[{addr}]{\setlength{\rightskip}{0pt plus 5cm}virtual const {\bf IPv4}\& VrrpInterface::addr (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classVrrpInterface_ae70ba7eba6511f2ee33e53a07590a95d}


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

This is \hyperlink{protocolthe-p}{the} first one configured.

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} primary IP address of \hyperlink{protocolthe-p}{the} interface. The first configured. 
\end{DoxyReturn}
\hypertarget{classVrrpInterface_ae91289cba6c6c483ec5dcb722871f40e}{
\index{VrrpInterface@{VrrpInterface}!delete\_\-mac@{delete\_\-mac}}
\index{delete\_\-mac@{delete\_\-mac}!VrrpInterface@{VrrpInterface}}
\subsubsection[{delete\_\-mac}]{\setlength{\rightskip}{0pt plus 5cm}virtual void VrrpInterface::delete\_\-mac (
\begin{DoxyParamCaption}
\item[{const {\bf Mac} \&}]{mac}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classVrrpInterface_ae91289cba6c6c483ec5dcb722871f40e}


Delete a MAC address from this interface. 


\begin{DoxyParams}{Parameters}
{\em mac} & MAC address to delete from this interface. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpInterface_a782a37be2ac4f1d222038c3bad927875}{
\index{VrrpInterface@{VrrpInterface}!own@{own}}
\index{own@{own}!VrrpInterface@{VrrpInterface}}
\subsubsection[{own}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool VrrpInterface::own (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4} \&}]{addr}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classVrrpInterface_a782a37be2ac4f1d222038c3bad927875}


Determines whether \hyperlink{protocolthe-p}{the} router owns an IP address. 

If \hyperlink{protocolthe-p}{the} router has this IP address configured as \hyperlink{protocolthe-p}{the} real IP address of one of its interfaces, then it owns it, else it does not.

\begin{DoxyReturn}{Returns}
whether \hyperlink{protocolthe-p}{the} router owns \hyperlink{protocolthe-p}{the} IP address. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em addr} & \hyperlink{protocolthe-p}{the} IP address to check for. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpInterface_a350e956b0c54eb86994822c20f5f0ea6}{
\index{VrrpInterface@{VrrpInterface}!ready@{ready}}
\index{ready@{ready}!VrrpInterface@{VrrpInterface}}
\subsubsection[{ready}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool VrrpInterface::ready (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classVrrpInterface_a350e956b0c54eb86994822c20f5f0ea6}


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

\begin{DoxyReturn}{Returns}
whether \hyperlink{protocolthe-p}{the} interface is up and ready. 
\end{DoxyReturn}
\hypertarget{classVrrpInterface_a320efb36a1d63982df84ba050cb17e38}{
\index{VrrpInterface@{VrrpInterface}!send@{send}}
\index{send@{send}!VrrpInterface@{VrrpInterface}}
\subsubsection[{send}]{\setlength{\rightskip}{0pt plus 5cm}virtual void VrrpInterface::send (
\begin{DoxyParamCaption}
\item[{const {\bf Mac} \&}]{src, }
\item[{const {\bf Mac} \&}]{dst, }
\item[{uint32\_\-t}]{ether, }
\item[{const PAYLOAD \&}]{payload}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classVrrpInterface_a320efb36a1d63982df84ba050cb17e38}


Transmits 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}


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