\hypertarget{classVrrpTarget}{
\section{VrrpTarget Class Reference}
\label{classVrrpTarget}\index{VrrpTarget@{VrrpTarget}}
}


The VRRP XORP process.  




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

Inheritance diagram for VrrpTarget:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classVrrpTarget}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classVrrpTarget_a3a052b457c7f8ac0892d163231119723}{VrrpTarget} (\hyperlink{classXrlRouter}{XrlRouter} \&rtr)
\item 
bool \hyperlink{classVrrpTarget_a1d20eceac3747e861382dfc6d359a90f}{running} () const 
\begin{DoxyCompactList}\small\item\em Check whether VRRP is running. \item\end{DoxyCompactList}\item 
\hypertarget{classVrrpTarget_aab6fce0d4d49e20e877b44aaa27f1516}{
void \hyperlink{classVrrpTarget_aab6fce0d4d49e20e877b44aaa27f1516}{tree\_\-complete} ()}
\label{classVrrpTarget_aab6fce0d4d49e20e877b44aaa27f1516}

\begin{DoxyCompactList}\small\item\em Called when \hyperlink{protocolthe-p}{the} rtrmgr configuration is first received. \item\end{DoxyCompactList}\item 
\hypertarget{classVrrpTarget_a5b6437f21356185bc53008cdaeadeb49}{
void \hyperlink{classVrrpTarget_a5b6437f21356185bc53008cdaeadeb49}{updates\_\-made} ()}
\label{classVrrpTarget_a5b6437f21356185bc53008cdaeadeb49}

\begin{DoxyCompactList}\small\item\em Called when \hyperlink{protocolthe-p}{the} rtrmgr configuration changed. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpTarget_ad9483249cd23d76eafca6016dc4d408f}{send} (const string \&ifname, const string \&vifname, const \hyperlink{classMac}{Mac} \&src, const \hyperlink{classMac}{Mac} \&dst, uint32\_\-t ether, const PAYLOAD \&payload)
\begin{DoxyCompactList}\small\item\em \hyperlink{classTransmit}{Transmit} a L2 packet. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpTarget_a9e4f054b40d08fb27677783a3460575a}{join\_\-mcast} (const string \&ifname, const string \&vifname)
\begin{DoxyCompactList}\small\item\em Join \hyperlink{protocolthe-p}{the} VRRP multicast group. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpTarget_a6488cf722d802d65114847d20d622bd7}{leave\_\-mcast} (const string \&ifname, const string \&vifname)
\begin{DoxyCompactList}\small\item\em Leave \hyperlink{protocolthe-p}{the} VRRP multicast group. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpTarget_a24fc7b57c14c368822067488eec75c32}{start\_\-arps} (const string \&ifname, const string \&vifname)
\begin{DoxyCompactList}\small\item\em Start \hyperlink{protocolthe-p}{the} reception of ARP packets on an interface. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpTarget_af3e6a1ca94f1a958fb47ba17ad21095f}{stop\_\-arps} (const string \&ifname, const string \&vifname)
\begin{DoxyCompactList}\small\item\em Stop \hyperlink{protocolthe-p}{the} reception of ARPs. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpTarget_a0ea8e09b261f4017e56756b9ac9b3cb9}{add\_\-mac} (const string \&ifname, const \hyperlink{classMac}{Mac} \&mac)
\begin{DoxyCompactList}\small\item\em Add a MAC address to \hyperlink{protocolthe-p}{the} router. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpTarget_adce8f9b4c92d7aa0b34351a7c0afc16e}{delete\_\-mac} (const string \&ifname, const \hyperlink{classMac}{Mac} \&mac)
\begin{DoxyCompactList}\small\item\em Delete MAC address from \hyperlink{protocolthe-p}{the} router. \item\end{DoxyCompactList}\item 
\hypertarget{classVrrpTarget_a0ef15f71ffa456fd82688658d91b2830}{
void {\bfseries add\_\-ip} (const string \&ifname, const \hyperlink{classIPv4}{IPv4} \&ip, uint32\_\-t prefix)}
\label{classVrrpTarget_a0ef15f71ffa456fd82688658d91b2830}

\item 
\hypertarget{classVrrpTarget_a025daa0b6768b2ab424d21a4b67e02ce}{
void {\bfseries delete\_\-ip} (const string \&ifname, const \hyperlink{classIPv4}{IPv4} \&ip)}
\label{classVrrpTarget_a025daa0b6768b2ab424d21a4b67e02ce}

\item 
\hyperlink{classEventLoop}{EventLoop} \& \hyperlink{classVrrpTarget_a3d3c397ec6d637f96cbeb63c4b8d674f}{eventloop} ()
\end{DoxyCompactItemize}
\subsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classVrrpTarget_ae4e071c27078d31d3c80286ee3f9e975}{
static const string {\bfseries vrrp\_\-target\_\-name} = \char`\"{}vrrp\char`\"{}}
\label{classVrrpTarget_ae4e071c27078d31d3c80286ee3f9e975}

\item 
\hypertarget{classVrrpTarget_a115fc1ce03e504cb24eec736a373314f}{
static const string {\bfseries fea\_\-target\_\-name} = \char`\"{}fea\char`\"{}}
\label{classVrrpTarget_a115fc1ce03e504cb24eec736a373314f}

\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_a5613d3382ef2269bc9e21e153b78943a}{common\_\-0\_\-1\_\-get\_\-target\_\-name} (string \&name)
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_a4502896627794e7026fcaa0ed52cf105}{common\_\-0\_\-1\_\-get\_\-version} (string \&version)
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_a12e6a358d87eed29da13a8e4b41e0758}{common\_\-0\_\-1\_\-get\_\-status} (uint32\_\-t \&status, string \&reason)
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_a7dfc66b5a27307f101ee173b14029328}{common\_\-0\_\-1\_\-shutdown} ()
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_abb5e053ebee29d6ea49621d5194a41e6}{common\_\-0\_\-1\_\-startup} ()
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_a3d21674d53f6e976230e7229ff3ec3ee}{vrrp\_\-0\_\-1\_\-add\_\-vrid} (const string \&ifname, const string \&vifname, const uint32\_\-t \&vrid)
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_a06cf651dd43b5c371bcc15333b1274d7}{vrrp\_\-0\_\-1\_\-delete\_\-vrid} (const string \&ifname, const string \&vifname, const uint32\_\-t \&vrid)
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_a7b66122b1015ef0f6eae89ee42809b81}{vrrp\_\-0\_\-1\_\-set\_\-priority} (const string \&ifname, const string \&vifname, const uint32\_\-t \&vrid, const uint32\_\-t \&priority)
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_a5226ea18c1878322209fc8d1d1b2c833}{vrrp\_\-0\_\-1\_\-set\_\-interval} (const string \&ifname, const string \&vifname, const uint32\_\-t \&vrid, const uint32\_\-t \&interval)
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_a17f70bbf8a2dd0b7a47952a223da0bd1}{vrrp\_\-0\_\-1\_\-set\_\-preempt} (const string \&ifname, const string \&vifname, const uint32\_\-t \&vrid, const bool \&preempt)
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_a16e94c58bbadd37af7cff2b31abab8c3}{vrrp\_\-0\_\-1\_\-set\_\-disable} (const string \&ifname, const string \&vifname, const uint32\_\-t \&vrid, const bool \&disable)
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_ab0d7ad1434d7c9b3f41a7d7349c6cb05}{vrrp\_\-0\_\-1\_\-add\_\-ip} (const string \&ifname, const string \&vifname, const uint32\_\-t \&vrid, const \hyperlink{classIPv4}{IPv4} \&ip)
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hypertarget{classVrrpTarget_a7acaefc9b661fe771f5c56e2db79aa73}{
\hyperlink{structXrlCmdError}{XrlCmdError} {\bfseries vrrp\_\-0\_\-1\_\-set\_\-prefix} (const string \&ifname, const string \&vifname, const uint32\_\-t \&vrid, const \hyperlink{classIPv4}{IPv4} \&ip, const uint32\_\-t \&prefix\_\-len)}
\label{classVrrpTarget_a7acaefc9b661fe771f5c56e2db79aa73}

\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_adadf2a7d34630a87f5cad5f961662c9c}{vrrp\_\-0\_\-1\_\-delete\_\-ip} (const string \&ifname, const string \&vifname, const uint32\_\-t \&vrid, const \hyperlink{classIPv4}{IPv4} \&ip)
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_ac32795e79d4bb1ea44cff63d79ce68b9}{vrrp\_\-0\_\-1\_\-get\_\-vrid\_\-info} (const string \&ifname, const string \&vifname, const uint32\_\-t \&vrid, string \&state, \hyperlink{classIPv4}{IPv4} \&master)
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_a6f721ca153f2dc5d741103b894012e2a}{vrrp\_\-0\_\-1\_\-get\_\-vrids} (const string \&ifname, const string \&vifname, \hyperlink{classXrlAtomList}{XrlAtomList} \&vrids)
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_a9dc3597cead034492783e03ba8aedbc7}{vrrp\_\-0\_\-1\_\-get\_\-ifs} (\hyperlink{classXrlAtomList}{XrlAtomList} \&ifs)
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_af534b2cdbaa3b4953b4ffd2543c8bd9d}{vrrp\_\-0\_\-1\_\-get\_\-vifs} (const string \&ifname, \hyperlink{classXrlAtomList}{XrlAtomList} \&vifs)
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_a47c5b5b06d00e1969d761845f91d354c}{raw\_\-packet4\_\-client\_\-0\_\-1\_\-recv} (const string \&if\_\-name, const string \&vif\_\-name, const \hyperlink{classIPv4}{IPv4} \&src\_\-address, const \hyperlink{classIPv4}{IPv4} \&dst\_\-address, const uint32\_\-t \&ip\_\-protocol, const int32\_\-t \&ip\_\-ttl, const int32\_\-t \&ip\_\-tos, const bool \&ip\_\-router\_\-alert, const bool \&ip\_\-internet\_\-control, const vector$<$ uint8\_\-t $>$ \&payload)
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\item 
\hyperlink{structXrlCmdError}{XrlCmdError} \hyperlink{classVrrpTarget_a5de1a2416b3ec2c05f4f8a5d7b3e4c0b}{raw\_\-link\_\-client\_\-0\_\-1\_\-recv} (const string \&if\_\-name, const string \&vif\_\-name, const \hyperlink{classMac}{Mac} \&src\_\-address, const \hyperlink{classMac}{Mac} \&dst\_\-address, const uint32\_\-t \&ether\_\-type, const vector$<$ uint8\_\-t $>$ \&payload)
\begin{DoxyCompactList}\small\item\em Pure-\/virtual function that needs to be implemented to: \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classVrrpTarget_a8a7ba872e6c5d6595176819ae20188a7}{
typedef map$<$ string, \hyperlink{classVrrpVif}{VrrpVif} $\ast$ $>$ {\bfseries VIFS}}
\label{classVrrpTarget_a8a7ba872e6c5d6595176819ae20188a7}

\item 
\hypertarget{classVrrpTarget_a3613441c021c042e923e7ff3470e5097}{
typedef map$<$ string, VIFS $\ast$ $>$ {\bfseries IFS}}
\label{classVrrpTarget_a3613441c021c042e923e7ff3470e5097}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classVrrpTarget_a2a69c9c952a30ba4c49b186364d4b882}{
void \hyperlink{classVrrpTarget_a2a69c9c952a30ba4c49b186364d4b882}{shutdown} ()}
\label{classVrrpTarget_a2a69c9c952a30ba4c49b186364d4b882}

\begin{DoxyCompactList}\small\item\em Terminate \hyperlink{protocolthe-p}{the} VRRP process. \item\end{DoxyCompactList}\item 
\hypertarget{classVrrpTarget_a59404460f20654af25dfa1b6c4916398}{
void \hyperlink{classVrrpTarget_a59404460f20654af25dfa1b6c4916398}{start} ()}
\label{classVrrpTarget_a59404460f20654af25dfa1b6c4916398}

\begin{DoxyCompactList}\small\item\em Start VRRP. \item\end{DoxyCompactList}\item 
\hypertarget{classVrrpTarget_acaadc8d5a0c97ec9dea0c87663799c5a}{
void \hyperlink{classVrrpTarget_acaadc8d5a0c97ec9dea0c87663799c5a}{check\_\-interfaces} ()}
\label{classVrrpTarget_acaadc8d5a0c97ec9dea0c87663799c5a}

\begin{DoxyCompactList}\small\item\em Check whether rtrmgr configuration changes affect VRRP. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpTarget_ab11a4f92dac2fa206fbbf5be1b9223f9}{check\_\-vif} (\hyperlink{classVrrpVif}{VrrpVif} \&vif)
\begin{DoxyCompactList}\small\item\em Check whether configuration changes affect a specific interface. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpTarget_acaa338785dd0be5089241cfae82b093d}{add\_\-vrid} (const string \&ifn, const string \&vifn, uint32\_\-t id)
\begin{DoxyCompactList}\small\item\em Add a VRRP instance. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpTarget_ae0328b1f2b3d9b17f00e387a76119198}{delete\_\-vrid} (const string \&ifn, const string \&vifn, uint32\_\-t id)
\begin{DoxyCompactList}\small\item\em Delete a VRRP instance. \item\end{DoxyCompactList}\item 
\hyperlink{classVrrp}{Vrrp} \& \hyperlink{classVrrpTarget_ab76f48e61a13735fbaa96b483975b790}{find\_\-vrid} (const string \&ifn, const string \&vifn, uint32\_\-t id)
\begin{DoxyCompactList}\small\item\em Get a reference to a VRRP instance. \item\end{DoxyCompactList}\item 
\hyperlink{classVrrp}{Vrrp} $\ast$ \hyperlink{classVrrpTarget_a51c72c50ff8c77d77cd94f777181b497}{find\_\-vrid\_\-ptr} (const string \&ifn, const string \&vifn, uint32\_\-t id)
\begin{DoxyCompactList}\small\item\em Get a pointer to a VRRP instance. \item\end{DoxyCompactList}\item 
\hyperlink{classVrrpVif}{VrrpVif} $\ast$ \hyperlink{classVrrpTarget_a5094a45434b1f9e2202f8a7d97684511}{find\_\-vif} (const string \&ifn, const string \&vifn, bool add=false)
\begin{DoxyCompactList}\small\item\em Get a pointer to a network interface. \item\end{DoxyCompactList}\item 
void \hyperlink{classVrrpTarget_a64a30eca28ffc2fe5ef32e0617e85b3d}{xrl\_\-cb} (const \hyperlink{classXrlError}{XrlError} \&xrl\_\-error)
\begin{DoxyCompactList}\small\item\em The callback for all XRL operations. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classVrrpTarget_af5d86858b60e3a17ed018051f1ebf55e}{
\hyperlink{classXrlRouter}{XrlRouter} \& {\bfseries \_\-rtr}}
\label{classVrrpTarget_af5d86858b60e3a17ed018051f1ebf55e}

\item 
\hypertarget{classVrrpTarget_a2130ebb9a18a0043bdd6c157558a5854}{
bool {\bfseries \_\-running}}
\label{classVrrpTarget_a2130ebb9a18a0043bdd6c157558a5854}

\item 
\hypertarget{classVrrpTarget_ad3bfe64d1318b1ecea7f7c747784f81c}{
IFS {\bfseries \_\-ifs}}
\label{classVrrpTarget_ad3bfe64d1318b1ecea7f7c747784f81c}

\item 
\hypertarget{classVrrpTarget_a439939dc5b705bb47dc8051cfa5153bd}{
\hyperlink{classIfMgrXrlMirror}{IfMgrXrlMirror} {\bfseries \_\-ifmgr}}
\label{classVrrpTarget_a439939dc5b705bb47dc8051cfa5153bd}

\item 
\hypertarget{classVrrpTarget_a43dbffbef09bb15446c322a10e3e28b7}{
bool {\bfseries \_\-ifmgr\_\-setup}}
\label{classVrrpTarget_a43dbffbef09bb15446c322a10e3e28b7}

\item 
\hypertarget{classVrrpTarget_acb9391eff76ccc48bf6a7137ccb56311}{
\hyperlink{classXrlRawLinkV0p1Client}{XrlRawLinkV0p1Client} {\bfseries \_\-rawlink}}
\label{classVrrpTarget_acb9391eff76ccc48bf6a7137ccb56311}

\item 
\hypertarget{classVrrpTarget_ada943c6b5563a750add39eaea8cc30ea}{
\hyperlink{classXrlRawPacket4V0p1Client}{XrlRawPacket4V0p1Client} {\bfseries \_\-rawipv4}}
\label{classVrrpTarget_ada943c6b5563a750add39eaea8cc30ea}

\item 
\hypertarget{classVrrpTarget_ad0f44e16ea2492dc1c957176bb50ca8d}{
\hyperlink{classXrlIfmgrV0p1Client}{XrlIfmgrV0p1Client} {\bfseries \_\-fea}}
\label{classVrrpTarget_ad0f44e16ea2492dc1c957176bb50ca8d}

\item 
\hypertarget{classVrrpTarget_af739d4479918ade74d1d982b405f7bfb}{
int {\bfseries \_\-xrls\_\-pending}}
\label{classVrrpTarget_af739d4479918ade74d1d982b405f7bfb}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
The VRRP XORP process. This class manages all VRRP instances and provides a link between XRLs and \hyperlink{protocolthe-p}{the} VRRP state machine. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classVrrpTarget_a3a052b457c7f8ac0892d163231119723}{
\index{VrrpTarget@{VrrpTarget}!VrrpTarget@{VrrpTarget}}
\index{VrrpTarget@{VrrpTarget}!VrrpTarget@{VrrpTarget}}
\subsubsection[{VrrpTarget}]{\setlength{\rightskip}{0pt plus 5cm}VrrpTarget::VrrpTarget (
\begin{DoxyParamCaption}
\item[{{\bf XrlRouter} \&}]{rtr}
\end{DoxyParamCaption}
)}}
\label{classVrrpTarget_a3a052b457c7f8ac0892d163231119723}

\begin{DoxyParams}{Parameters}
{\em rtr} & \hyperlink{protocolthe-p}{the} XRL router to use. \\
\hline
\end{DoxyParams}


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


Add a MAC address to \hyperlink{protocolthe-p}{the} router. 


\begin{DoxyParams}{Parameters}
{\em ifname} & \hyperlink{protocolthe-p}{the} interface on which to add \hyperlink{protocolthe-p}{the} MAC. \\
\hline
{\em mac} & \hyperlink{protocolthe-p}{the} MAC address. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpTarget_acaa338785dd0be5089241cfae82b093d}{
\index{VrrpTarget@{VrrpTarget}!add\_\-vrid@{add\_\-vrid}}
\index{add\_\-vrid@{add\_\-vrid}!VrrpTarget@{VrrpTarget}}
\subsubsection[{add\_\-vrid}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpTarget::add\_\-vrid (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifn, }
\item[{const string \&}]{vifn, }
\item[{uint32\_\-t}]{id}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classVrrpTarget_acaa338785dd0be5089241cfae82b093d}


Add a VRRP instance. 


\begin{DoxyParams}{Parameters}
{\em ifn} & interface to run on. \\
\hline
{\em vifn} & vif to run on. \\
\hline
{\em id} & \hyperlink{protocolthe-p}{the} VRRP router id. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpTarget_ab11a4f92dac2fa206fbbf5be1b9223f9}{
\index{VrrpTarget@{VrrpTarget}!check\_\-vif@{check\_\-vif}}
\index{check\_\-vif@{check\_\-vif}!VrrpTarget@{VrrpTarget}}
\subsubsection[{check\_\-vif}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpTarget::check\_\-vif (
\begin{DoxyParamCaption}
\item[{{\bf VrrpVif} \&}]{vif}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classVrrpTarget_ab11a4f92dac2fa206fbbf5be1b9223f9}


Check whether configuration changes affect a specific interface. 


\begin{DoxyParams}{Parameters}
{\em vif} & \hyperlink{protocolthe-p}{the} interface to check. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpTarget_a12e6a358d87eed29da13a8e4b41e0758}{
\index{VrrpTarget@{VrrpTarget}!common\_\-0\_\-1\_\-get\_\-status@{common\_\-0\_\-1\_\-get\_\-status}}
\index{common\_\-0\_\-1\_\-get\_\-status@{common\_\-0\_\-1\_\-get\_\-status}!VrrpTarget@{VrrpTarget}}
\subsubsection[{common\_\-0\_\-1\_\-get\_\-status}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::common\_\-0\_\-1\_\-get\_\-status (
\begin{DoxyParamCaption}
\item[{uint32\_\-t \&}]{status, }
\item[{string \&}]{reason}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_a12e6a358d87eed29da13a8e4b41e0758}


Pure-\/virtual function that needs to be implemented to: 

Get status of \hyperlink{classXrl}{Xrl} Target 

Implements \hyperlink{structXrlVrrpTargetBase_a48e6b939dc05f316d59ce015b982d0f3}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_a5613d3382ef2269bc9e21e153b78943a}{
\index{VrrpTarget@{VrrpTarget}!common\_\-0\_\-1\_\-get\_\-target\_\-name@{common\_\-0\_\-1\_\-get\_\-target\_\-name}}
\index{common\_\-0\_\-1\_\-get\_\-target\_\-name@{common\_\-0\_\-1\_\-get\_\-target\_\-name}!VrrpTarget@{VrrpTarget}}
\subsubsection[{common\_\-0\_\-1\_\-get\_\-target\_\-name}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::common\_\-0\_\-1\_\-get\_\-target\_\-name (
\begin{DoxyParamCaption}
\item[{string \&}]{name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_a5613d3382ef2269bc9e21e153b78943a}


Pure-\/virtual function that needs to be implemented to: 

Get name of \hyperlink{classXrl}{Xrl} Target 

Implements \hyperlink{structXrlVrrpTargetBase_af89eee832f77b5fa1480d131f5e62e60}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_a4502896627794e7026fcaa0ed52cf105}{
\index{VrrpTarget@{VrrpTarget}!common\_\-0\_\-1\_\-get\_\-version@{common\_\-0\_\-1\_\-get\_\-version}}
\index{common\_\-0\_\-1\_\-get\_\-version@{common\_\-0\_\-1\_\-get\_\-version}!VrrpTarget@{VrrpTarget}}
\subsubsection[{common\_\-0\_\-1\_\-get\_\-version}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::common\_\-0\_\-1\_\-get\_\-version (
\begin{DoxyParamCaption}
\item[{string \&}]{version}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_a4502896627794e7026fcaa0ed52cf105}


Pure-\/virtual function that needs to be implemented to: 

Get version string from \hyperlink{classXrl}{Xrl} Target 

Implements \hyperlink{structXrlVrrpTargetBase_ab9c6290137eb90345597fb432638915a}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_a7dfc66b5a27307f101ee173b14029328}{
\index{VrrpTarget@{VrrpTarget}!common\_\-0\_\-1\_\-shutdown@{common\_\-0\_\-1\_\-shutdown}}
\index{common\_\-0\_\-1\_\-shutdown@{common\_\-0\_\-1\_\-shutdown}!VrrpTarget@{VrrpTarget}}
\subsubsection[{common\_\-0\_\-1\_\-shutdown}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::common\_\-0\_\-1\_\-shutdown (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_a7dfc66b5a27307f101ee173b14029328}


Pure-\/virtual function that needs to be implemented to: 

Request clean shutdown of \hyperlink{classXrl}{Xrl} Target 

Implements \hyperlink{structXrlVrrpTargetBase_aa98448abaa5d103fb322d62b73277042}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_abb5e053ebee29d6ea49621d5194a41e6}{
\index{VrrpTarget@{VrrpTarget}!common\_\-0\_\-1\_\-startup@{common\_\-0\_\-1\_\-startup}}
\index{common\_\-0\_\-1\_\-startup@{common\_\-0\_\-1\_\-startup}!VrrpTarget@{VrrpTarget}}
\subsubsection[{common\_\-0\_\-1\_\-startup}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::common\_\-0\_\-1\_\-startup (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_abb5e053ebee29d6ea49621d5194a41e6}


Pure-\/virtual function that needs to be implemented to: 

Request a startup of \hyperlink{classXrl}{Xrl} Target 

Implements \hyperlink{structXrlVrrpTargetBase_a2be3cce04cfc1a42a8358cc5a24cd11e}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_adce8f9b4c92d7aa0b34351a7c0afc16e}{
\index{VrrpTarget@{VrrpTarget}!delete\_\-mac@{delete\_\-mac}}
\index{delete\_\-mac@{delete\_\-mac}!VrrpTarget@{VrrpTarget}}
\subsubsection[{delete\_\-mac}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpTarget::delete\_\-mac (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifname, }
\item[{const {\bf Mac} \&}]{mac}
\end{DoxyParamCaption}
)}}
\label{classVrrpTarget_adce8f9b4c92d7aa0b34351a7c0afc16e}


Delete MAC address from \hyperlink{protocolthe-p}{the} router. 


\begin{DoxyParams}{Parameters}
{\em ifname} & \hyperlink{protocolthe-p}{the} interface on which \hyperlink{protocolthe-p}{the} MAC should be deleted. \\
\hline
{\em mac} & \hyperlink{protocolthe-p}{the} MAC to remove. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpTarget_ae0328b1f2b3d9b17f00e387a76119198}{
\index{VrrpTarget@{VrrpTarget}!delete\_\-vrid@{delete\_\-vrid}}
\index{delete\_\-vrid@{delete\_\-vrid}!VrrpTarget@{VrrpTarget}}
\subsubsection[{delete\_\-vrid}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpTarget::delete\_\-vrid (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifn, }
\item[{const string \&}]{vifn, }
\item[{uint32\_\-t}]{id}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classVrrpTarget_ae0328b1f2b3d9b17f00e387a76119198}


Delete a VRRP instance. 


\begin{DoxyParams}{Parameters}
{\em ifn} & \hyperlink{protocolthe-p}{the} interface on which \hyperlink{protocolthe-p}{the} instance is running. \\
\hline
{\em vifn} & \hyperlink{protocolthe-p}{the} vif on which it's running. \\
\hline
{\em id} & \hyperlink{protocolthe-p}{the} VRRP router id. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpTarget_a3d3c397ec6d637f96cbeb63c4b8d674f}{
\index{VrrpTarget@{VrrpTarget}!eventloop@{eventloop}}
\index{eventloop@{eventloop}!VrrpTarget@{VrrpTarget}}
\subsubsection[{eventloop}]{\setlength{\rightskip}{0pt plus 5cm}{\bf EventLoop} \& VrrpTarget::eventloop (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classVrrpTarget_a3d3c397ec6d637f96cbeb63c4b8d674f}
\begin{DoxyReturn}{Returns}
an instance of \hyperlink{protocolthe-p}{the} eventloop. 
\end{DoxyReturn}
\hypertarget{classVrrpTarget_a5094a45434b1f9e2202f8a7d97684511}{
\index{VrrpTarget@{VrrpTarget}!find\_\-vif@{find\_\-vif}}
\index{find\_\-vif@{find\_\-vif}!VrrpTarget@{VrrpTarget}}
\subsubsection[{find\_\-vif}]{\setlength{\rightskip}{0pt plus 5cm}{\bf VrrpVif} $\ast$ VrrpTarget::find\_\-vif (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifn, }
\item[{const string \&}]{vifn, }
\item[{bool}]{add = {\ttfamily false}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classVrrpTarget_a5094a45434b1f9e2202f8a7d97684511}


Get a pointer to a network interface. 

Null is returned if none is found and add is false. If none is found and add is true, \hyperlink{protocolthe-p}{the} interface is created and a pointer to it is returned.

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} interface, or null if it is not found and add is false. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em ifn} & \hyperlink{protocolthe-p}{the} physical interface name. \\
\hline
{\em vifn} & \hyperlink{protocolthe-p}{the} logical interface name. \\
\hline
{\em add} & whether \hyperlink{protocolthe-p}{the} interface should be added if it is not found. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpTarget_ab76f48e61a13735fbaa96b483975b790}{
\index{VrrpTarget@{VrrpTarget}!find\_\-vrid@{find\_\-vrid}}
\index{find\_\-vrid@{find\_\-vrid}!VrrpTarget@{VrrpTarget}}
\subsubsection[{find\_\-vrid}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vrrp} \& VrrpTarget::find\_\-vrid (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifn, }
\item[{const string \&}]{vifn, }
\item[{uint32\_\-t}]{id}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classVrrpTarget_ab76f48e61a13735fbaa96b483975b790}


Get a reference to a VRRP instance. 

An exception is thrown if \hyperlink{protocolthe-p}{the} instance does not exist.

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} VRRP instance. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em ifn} & \hyperlink{protocolthe-p}{the} interface on which it is running. \\
\hline
{\em vifn} & \hyperlink{protocolthe-p}{the} vif on which it is running. \\
\hline
{\em id} & \hyperlink{protocolthe-p}{the} VRRP id. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpTarget_a51c72c50ff8c77d77cd94f777181b497}{
\index{VrrpTarget@{VrrpTarget}!find\_\-vrid\_\-ptr@{find\_\-vrid\_\-ptr}}
\index{find\_\-vrid\_\-ptr@{find\_\-vrid\_\-ptr}!VrrpTarget@{VrrpTarget}}
\subsubsection[{find\_\-vrid\_\-ptr}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Vrrp} $\ast$ VrrpTarget::find\_\-vrid\_\-ptr (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifn, }
\item[{const string \&}]{vifn, }
\item[{uint32\_\-t}]{id}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classVrrpTarget_a51c72c50ff8c77d77cd94f777181b497}


Get a pointer to a VRRP instance. 

Null is return if it does not exist.

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} VRRP instance or null if it is not present. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em ifn} & \hyperlink{protocolthe-p}{the} interface on which \hyperlink{protocolthe-p}{the} instance is running. \\
\hline
{\em vifn} & \hyperlink{protocolthe-p}{the} vif on which it is running. \\
\hline
{\em id} & \hyperlink{protocolthe-p}{the} VRRP id. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpTarget_a9e4f054b40d08fb27677783a3460575a}{
\index{VrrpTarget@{VrrpTarget}!join\_\-mcast@{join\_\-mcast}}
\index{join\_\-mcast@{join\_\-mcast}!VrrpTarget@{VrrpTarget}}
\subsubsection[{join\_\-mcast}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpTarget::join\_\-mcast (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname}
\end{DoxyParamCaption}
)}}
\label{classVrrpTarget_a9e4f054b40d08fb27677783a3460575a}


Join \hyperlink{protocolthe-p}{the} VRRP multicast group. 


\begin{DoxyParams}{Parameters}
{\em ifname} & \hyperlink{protocolthe-p}{the} interface on which to join. \\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} vif on which to join. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpTarget_a6488cf722d802d65114847d20d622bd7}{
\index{VrrpTarget@{VrrpTarget}!leave\_\-mcast@{leave\_\-mcast}}
\index{leave\_\-mcast@{leave\_\-mcast}!VrrpTarget@{VrrpTarget}}
\subsubsection[{leave\_\-mcast}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpTarget::leave\_\-mcast (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname}
\end{DoxyParamCaption}
)}}
\label{classVrrpTarget_a6488cf722d802d65114847d20d622bd7}


Leave \hyperlink{protocolthe-p}{the} VRRP multicast group. 


\begin{DoxyParams}{Parameters}
{\em ifname} & \hyperlink{protocolthe-p}{the} interface on which to join. \\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} vif on which to join. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpTarget_a5de1a2416b3ec2c05f4f8a5d7b3e4c0b}{
\index{VrrpTarget@{VrrpTarget}!raw\_\-link\_\-client\_\-0\_\-1\_\-recv@{raw\_\-link\_\-client\_\-0\_\-1\_\-recv}}
\index{raw\_\-link\_\-client\_\-0\_\-1\_\-recv@{raw\_\-link\_\-client\_\-0\_\-1\_\-recv}!VrrpTarget@{VrrpTarget}}
\subsubsection[{raw\_\-link\_\-client\_\-0\_\-1\_\-recv}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::raw\_\-link\_\-client\_\-0\_\-1\_\-recv (
\begin{DoxyParamCaption}
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{const {\bf Mac} \&}]{src\_\-address, }
\item[{const {\bf Mac} \&}]{dst\_\-address, }
\item[{const uint32\_\-t \&}]{ether\_\-type, }
\item[{const vector$<$ uint8\_\-t $>$ \&}]{payload}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_a5de1a2416b3ec2c05f4f8a5d7b3e4c0b}


Pure-\/virtual function that needs to be implemented to: 

Receive a raw link-\/level packet on an interface.


\begin{DoxyParams}{Parameters}
{\em if\_\-name} & \hyperlink{protocolthe-p}{the} interface name \hyperlink{protocolthe-p}{the} packet arrived on.\\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} vif name \hyperlink{protocolthe-p}{the} packet arrived on.\\
\hline
{\em src\_\-address} & \hyperlink{protocolthe-p}{the} MAC source address.\\
\hline
{\em dst\_\-address} & \hyperlink{protocolthe-p}{the} MAC destination address.\\
\hline
{\em ether\_\-type} & \hyperlink{protocolthe-p}{the} EtherType protocol number or \hyperlink{protocolthe-p}{the} Destination SAP. It must be between 1536 and 65535 to specify \hyperlink{protocolthe-p}{the} EtherType, or between 1 and 255 to specify \hyperlink{protocolthe-p}{the} Destination SAP for IEEE 802.2 LLC frames.\\
\hline
{\em payload} & \hyperlink{protocolthe-p}{the} payload, everything after \hyperlink{protocolthe-p}{the} MAC header. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlVrrpTargetBase_ab779a8aaf7062f5473815026456fedbd}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_a47c5b5b06d00e1969d761845f91d354c}{
\index{VrrpTarget@{VrrpTarget}!raw\_\-packet4\_\-client\_\-0\_\-1\_\-recv@{raw\_\-packet4\_\-client\_\-0\_\-1\_\-recv}}
\index{raw\_\-packet4\_\-client\_\-0\_\-1\_\-recv@{raw\_\-packet4\_\-client\_\-0\_\-1\_\-recv}!VrrpTarget@{VrrpTarget}}
\subsubsection[{raw\_\-packet4\_\-client\_\-0\_\-1\_\-recv}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::raw\_\-packet4\_\-client\_\-0\_\-1\_\-recv (
\begin{DoxyParamCaption}
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{const {\bf IPv4} \&}]{src\_\-address, }
\item[{const {\bf IPv4} \&}]{dst\_\-address, }
\item[{const uint32\_\-t \&}]{ip\_\-protocol, }
\item[{const int32\_\-t \&}]{ip\_\-ttl, }
\item[{const int32\_\-t \&}]{ip\_\-tos, }
\item[{const bool \&}]{ip\_\-router\_\-alert, }
\item[{const bool \&}]{ip\_\-internet\_\-control, }
\item[{const vector$<$ uint8\_\-t $>$ \&}]{payload}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_a47c5b5b06d00e1969d761845f91d354c}


Pure-\/virtual function that needs to be implemented to: 

Receive an \hyperlink{classIPv4}{IPv4} packet from a raw socket.


\begin{DoxyParams}{Parameters}
{\em if\_\-name} & \hyperlink{protocolthe-p}{the} interface name \hyperlink{protocolthe-p}{the} packet arrived on.\\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} vif name \hyperlink{protocolthe-p}{the} packet arrived on.\\
\hline
{\em src\_\-address} & \hyperlink{protocolthe-p}{the} IP source address.\\
\hline
{\em dst\_\-address} & \hyperlink{protocolthe-p}{the} IP destination address.\\
\hline
{\em ip\_\-protocol} & \hyperlink{protocolthe-p}{the} IP protocol number.\\
\hline
{\em ip\_\-ttl} & \hyperlink{protocolthe-p}{the} IP TTL (hop-\/limit). If it has a negative value, then \hyperlink{protocolthe-p}{the} received value is unknown.\\
\hline
{\em ip\_\-tos} & \hyperlink{protocolthe-p}{the} Type of Service (Diffserv/ECN bits for \hyperlink{classIPv4}{IPv4}). If it has a negative value, then \hyperlink{protocolthe-p}{the} received value is unknown.\\
\hline
{\em ip\_\-router\_\-alert} & if true, \hyperlink{protocolthe-p}{the} IP Router Alert option was included in \hyperlink{protocolthe-p}{the} IP packet.\\
\hline
{\em ip\_\-internet\_\-control} & if true, then this is IP control traffic.\\
\hline
{\em payload} & \hyperlink{protocolthe-p}{the} payload, everything after \hyperlink{protocolthe-p}{the} IP header and options. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlVrrpTargetBase_a3e16edef05805272adf2b4e3dcffd5a3}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_a1d20eceac3747e861382dfc6d359a90f}{
\index{VrrpTarget@{VrrpTarget}!running@{running}}
\index{running@{running}!VrrpTarget@{VrrpTarget}}
\subsubsection[{running}]{\setlength{\rightskip}{0pt plus 5cm}bool VrrpTarget::running (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classVrrpTarget_a1d20eceac3747e861382dfc6d359a90f}


Check whether VRRP is running. 

\begin{DoxyReturn}{Returns}
whether \hyperlink{protocolthe-p}{the} VRRP protocol is running. 
\end{DoxyReturn}
\hypertarget{classVrrpTarget_ad9483249cd23d76eafca6016dc4d408f}{
\index{VrrpTarget@{VrrpTarget}!send@{send}}
\index{send@{send}!VrrpTarget@{VrrpTarget}}
\subsubsection[{send}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpTarget::send (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname, }
\item[{const {\bf Mac} \&}]{src, }
\item[{const {\bf Mac} \&}]{dst, }
\item[{uint32\_\-t}]{ether, }
\item[{const PAYLOAD \&}]{payload}
\end{DoxyParamCaption}
)}}
\label{classVrrpTarget_ad9483249cd23d76eafca6016dc4d408f}


\hyperlink{classTransmit}{Transmit} a L2 packet. 


\begin{DoxyParams}{Parameters}
{\em ifname} & \hyperlink{protocolthe-p}{the} physical interface on which to transmit. \\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} logical interface on which to transmit. \\
\hline
{\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} 802.3 ethernet type. \\
\hline
{\em payload} & \hyperlink{protocolthe-p}{the} data to follow \hyperlink{protocolthe-p}{the} MAC header. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpTarget_a24fc7b57c14c368822067488eec75c32}{
\index{VrrpTarget@{VrrpTarget}!start\_\-arps@{start\_\-arps}}
\index{start\_\-arps@{start\_\-arps}!VrrpTarget@{VrrpTarget}}
\subsubsection[{start\_\-arps}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpTarget::start\_\-arps (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname}
\end{DoxyParamCaption}
)}}
\label{classVrrpTarget_a24fc7b57c14c368822067488eec75c32}


Start \hyperlink{protocolthe-p}{the} reception of ARP packets on an interface. 


\begin{DoxyParams}{Parameters}
{\em ifname} & \hyperlink{protocolthe-p}{the} interface on which to receive ARPs. \\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} vif on which to get ARPs. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpTarget_af3e6a1ca94f1a958fb47ba17ad21095f}{
\index{VrrpTarget@{VrrpTarget}!stop\_\-arps@{stop\_\-arps}}
\index{stop\_\-arps@{stop\_\-arps}!VrrpTarget@{VrrpTarget}}
\subsubsection[{stop\_\-arps}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpTarget::stop\_\-arps (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname}
\end{DoxyParamCaption}
)}}
\label{classVrrpTarget_af3e6a1ca94f1a958fb47ba17ad21095f}


Stop \hyperlink{protocolthe-p}{the} reception of ARPs. 


\begin{DoxyParams}{Parameters}
{\em ifname} & \hyperlink{protocolthe-p}{the} interface on which to stop reception. \\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} vif on which to stop reception. \\
\hline
\end{DoxyParams}
\hypertarget{classVrrpTarget_ab0d7ad1434d7c9b3f41a7d7349c6cb05}{
\index{VrrpTarget@{VrrpTarget}!vrrp\_\-0\_\-1\_\-add\_\-ip@{vrrp\_\-0\_\-1\_\-add\_\-ip}}
\index{vrrp\_\-0\_\-1\_\-add\_\-ip@{vrrp\_\-0\_\-1\_\-add\_\-ip}!VrrpTarget@{VrrpTarget}}
\subsubsection[{vrrp\_\-0\_\-1\_\-add\_\-ip}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::vrrp\_\-0\_\-1\_\-add\_\-ip (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname, }
\item[{const uint32\_\-t \&}]{vrid, }
\item[{const {\bf IPv4} \&}]{ip}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_ab0d7ad1434d7c9b3f41a7d7349c6cb05}


Pure-\/virtual function that needs to be implemented to: 

Add an IP to \hyperlink{protocolthe-p}{the} virtual router.


\begin{DoxyParams}{Parameters}
{\em ifname} & \hyperlink{protocolthe-p}{the} interface on which VRRP is running.\\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} vif on which VRRP is running.\\
\hline
{\em vrid} & \hyperlink{protocolthe-p}{the} VRRP router ID.\\
\hline
{\em ip} & \hyperlink{protocolthe-p}{the} IP address to add. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlVrrpTargetBase_a57b6a46ffb44122a639545f577a4bb7c}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_a3d21674d53f6e976230e7229ff3ec3ee}{
\index{VrrpTarget@{VrrpTarget}!vrrp\_\-0\_\-1\_\-add\_\-vrid@{vrrp\_\-0\_\-1\_\-add\_\-vrid}}
\index{vrrp\_\-0\_\-1\_\-add\_\-vrid@{vrrp\_\-0\_\-1\_\-add\_\-vrid}!VrrpTarget@{VrrpTarget}}
\subsubsection[{vrrp\_\-0\_\-1\_\-add\_\-vrid}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::vrrp\_\-0\_\-1\_\-add\_\-vrid (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname, }
\item[{const uint32\_\-t \&}]{vrid}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_a3d21674d53f6e976230e7229ff3ec3ee}


Pure-\/virtual function that needs to be implemented to: 

Create a VRRP instance.


\begin{DoxyParams}{Parameters}
{\em ifname} & \hyperlink{protocolthe-p}{the} interface name.\\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} vif name.\\
\hline
{\em vrid} & \hyperlink{protocolthe-p}{the} VRRP router ID. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlVrrpTargetBase_af34a293c788cf7cea09bd2862afdf3ad}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_adadf2a7d34630a87f5cad5f961662c9c}{
\index{VrrpTarget@{VrrpTarget}!vrrp\_\-0\_\-1\_\-delete\_\-ip@{vrrp\_\-0\_\-1\_\-delete\_\-ip}}
\index{vrrp\_\-0\_\-1\_\-delete\_\-ip@{vrrp\_\-0\_\-1\_\-delete\_\-ip}!VrrpTarget@{VrrpTarget}}
\subsubsection[{vrrp\_\-0\_\-1\_\-delete\_\-ip}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::vrrp\_\-0\_\-1\_\-delete\_\-ip (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname, }
\item[{const uint32\_\-t \&}]{vrid, }
\item[{const {\bf IPv4} \&}]{ip}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_adadf2a7d34630a87f5cad5f961662c9c}


Pure-\/virtual function that needs to be implemented to: 

Remove an IP from \hyperlink{protocolthe-p}{the} virtual router.


\begin{DoxyParams}{Parameters}
{\em ifname} & \hyperlink{protocolthe-p}{the} interface on which VRRP is running.\\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} vif on which VRRP is running.\\
\hline
{\em vrid} & \hyperlink{protocolthe-p}{the} VRRP router ID.\\
\hline
{\em ip} & \hyperlink{protocolthe-p}{the} IP address to remove. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlVrrpTargetBase_a3ee26a96ab3cd17636aa825bf8d202f0}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_a06cf651dd43b5c371bcc15333b1274d7}{
\index{VrrpTarget@{VrrpTarget}!vrrp\_\-0\_\-1\_\-delete\_\-vrid@{vrrp\_\-0\_\-1\_\-delete\_\-vrid}}
\index{vrrp\_\-0\_\-1\_\-delete\_\-vrid@{vrrp\_\-0\_\-1\_\-delete\_\-vrid}!VrrpTarget@{VrrpTarget}}
\subsubsection[{vrrp\_\-0\_\-1\_\-delete\_\-vrid}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::vrrp\_\-0\_\-1\_\-delete\_\-vrid (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname, }
\item[{const uint32\_\-t \&}]{vrid}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_a06cf651dd43b5c371bcc15333b1274d7}


Pure-\/virtual function that needs to be implemented to: 

Remove a VRRP instance.


\begin{DoxyParams}{Parameters}
{\em ifname} & \hyperlink{protocolthe-p}{the} interface name.\\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} vif name.\\
\hline
{\em vrid} & \hyperlink{protocolthe-p}{the} VRRP router ID. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlVrrpTargetBase_a7d5bc56d03b62972bbf847ea1aaeb8a4}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_a9dc3597cead034492783e03ba8aedbc7}{
\index{VrrpTarget@{VrrpTarget}!vrrp\_\-0\_\-1\_\-get\_\-ifs@{vrrp\_\-0\_\-1\_\-get\_\-ifs}}
\index{vrrp\_\-0\_\-1\_\-get\_\-ifs@{vrrp\_\-0\_\-1\_\-get\_\-ifs}!VrrpTarget@{VrrpTarget}}
\subsubsection[{vrrp\_\-0\_\-1\_\-get\_\-ifs}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::vrrp\_\-0\_\-1\_\-get\_\-ifs (
\begin{DoxyParamCaption}
\item[{{\bf XrlAtomList} \&}]{ifs}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_a9dc3597cead034492783e03ba8aedbc7}


Pure-\/virtual function that needs to be implemented to: 

Get \hyperlink{protocolthe-p}{the} physical interfaces on which VRRP is running.


\begin{DoxyParams}{Parameters}
{\em ifs} & a list of interface names (strings). \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlVrrpTargetBase_a1c34c7eb72ad1d8a8969a5274a7c21f0}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_af534b2cdbaa3b4953b4ffd2543c8bd9d}{
\index{VrrpTarget@{VrrpTarget}!vrrp\_\-0\_\-1\_\-get\_\-vifs@{vrrp\_\-0\_\-1\_\-get\_\-vifs}}
\index{vrrp\_\-0\_\-1\_\-get\_\-vifs@{vrrp\_\-0\_\-1\_\-get\_\-vifs}!VrrpTarget@{VrrpTarget}}
\subsubsection[{vrrp\_\-0\_\-1\_\-get\_\-vifs}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::vrrp\_\-0\_\-1\_\-get\_\-vifs (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifname, }
\item[{{\bf XrlAtomList} \&}]{vifs}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_af534b2cdbaa3b4953b4ffd2543c8bd9d}


Pure-\/virtual function that needs to be implemented to: 

For a given physical interface, get \hyperlink{protocolthe-p}{the} virtual interfaces on which VRRP is running.


\begin{DoxyParams}{Parameters}
{\em ifname} & \hyperlink{protocolthe-p}{the} physical interface name.\\
\hline
{\em vifs} & a list of virtual interface names (strings). \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlVrrpTargetBase_a1082966df79994bce74a13d1957b37b1}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_ac32795e79d4bb1ea44cff63d79ce68b9}{
\index{VrrpTarget@{VrrpTarget}!vrrp\_\-0\_\-1\_\-get\_\-vrid\_\-info@{vrrp\_\-0\_\-1\_\-get\_\-vrid\_\-info}}
\index{vrrp\_\-0\_\-1\_\-get\_\-vrid\_\-info@{vrrp\_\-0\_\-1\_\-get\_\-vrid\_\-info}!VrrpTarget@{VrrpTarget}}
\subsubsection[{vrrp\_\-0\_\-1\_\-get\_\-vrid\_\-info}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::vrrp\_\-0\_\-1\_\-get\_\-vrid\_\-info (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname, }
\item[{const uint32\_\-t \&}]{vrid, }
\item[{string \&}]{state, }
\item[{{\bf IPv4} \&}]{master}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_ac32795e79d4bb1ea44cff63d79ce68b9}


Pure-\/virtual function that needs to be implemented to: 

Get state information from a particular VRRP instance.


\begin{DoxyParams}{Parameters}
{\em ifname} & \hyperlink{protocolthe-p}{the} interface on which \hyperlink{protocolthe-p}{the} VRRP instance is running.\\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} vif on which \hyperlink{protocolthe-p}{the} instance is running.\\
\hline
{\em vrid} & \hyperlink{protocolthe-p}{the} virtual router ID of \hyperlink{protocolthe-p}{the} VRRP instance.\\
\hline
{\em state} & \hyperlink{protocolthe-p}{the} state of \hyperlink{protocolthe-p}{the} router (initialize, master, backup).\\
\hline
{\em master} & \hyperlink{protocolthe-p}{the} IP address of \hyperlink{protocolthe-p}{the} master. Only valid when running. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlVrrpTargetBase_ac2d63177608e56332e115abc39ef2e8b}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_a6f721ca153f2dc5d741103b894012e2a}{
\index{VrrpTarget@{VrrpTarget}!vrrp\_\-0\_\-1\_\-get\_\-vrids@{vrrp\_\-0\_\-1\_\-get\_\-vrids}}
\index{vrrp\_\-0\_\-1\_\-get\_\-vrids@{vrrp\_\-0\_\-1\_\-get\_\-vrids}!VrrpTarget@{VrrpTarget}}
\subsubsection[{vrrp\_\-0\_\-1\_\-get\_\-vrids}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::vrrp\_\-0\_\-1\_\-get\_\-vrids (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname, }
\item[{{\bf XrlAtomList} \&}]{vrids}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_a6f721ca153f2dc5d741103b894012e2a}


Pure-\/virtual function that needs to be implemented to: 

Get \hyperlink{protocolthe-p}{the} virtual router IDs of all \hyperlink{protocolthe-p}{the} VRRP instances running on a network interface.


\begin{DoxyParams}{Parameters}
{\em ifname} & \hyperlink{protocolthe-p}{the} physical interface name.\\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} logical interface name.\\
\hline
{\em vrids} & a list of VRRP router IDs (integers). \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlVrrpTargetBase_a9940810ec2ce1b936520ac850e8c56aa}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_a16e94c58bbadd37af7cff2b31abab8c3}{
\index{VrrpTarget@{VrrpTarget}!vrrp\_\-0\_\-1\_\-set\_\-disable@{vrrp\_\-0\_\-1\_\-set\_\-disable}}
\index{vrrp\_\-0\_\-1\_\-set\_\-disable@{vrrp\_\-0\_\-1\_\-set\_\-disable}!VrrpTarget@{VrrpTarget}}
\subsubsection[{vrrp\_\-0\_\-1\_\-set\_\-disable}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::vrrp\_\-0\_\-1\_\-set\_\-disable (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname, }
\item[{const uint32\_\-t \&}]{vrid, }
\item[{const bool \&}]{disable}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_a16e94c58bbadd37af7cff2b31abab8c3}


Pure-\/virtual function that needs to be implemented to: 

Start or stop a VRRP instance.


\begin{DoxyParams}{Parameters}
{\em ifname} & \hyperlink{protocolthe-p}{the} interface on which VRRP is running.\\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} vif on which VRRP is running.\\
\hline
{\em vrid} & \hyperlink{protocolthe-p}{the} VRRP router ID.\\
\hline
{\em disable} & if true, stop VRRP. Start it otherwise. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlVrrpTargetBase_a0ed7abc3c9df65674030f53c94aa6843}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_a5226ea18c1878322209fc8d1d1b2c833}{
\index{VrrpTarget@{VrrpTarget}!vrrp\_\-0\_\-1\_\-set\_\-interval@{vrrp\_\-0\_\-1\_\-set\_\-interval}}
\index{vrrp\_\-0\_\-1\_\-set\_\-interval@{vrrp\_\-0\_\-1\_\-set\_\-interval}!VrrpTarget@{VrrpTarget}}
\subsubsection[{vrrp\_\-0\_\-1\_\-set\_\-interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::vrrp\_\-0\_\-1\_\-set\_\-interval (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname, }
\item[{const uint32\_\-t \&}]{vrid, }
\item[{const uint32\_\-t \&}]{interval}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_a5226ea18c1878322209fc8d1d1b2c833}


Pure-\/virtual function that needs to be implemented to: 

Set \hyperlink{protocolthe-p}{the} advertisement interval.


\begin{DoxyParams}{Parameters}
{\em ifname} & \hyperlink{protocolthe-p}{the} interface on which VRRP is running.\\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} vif on which VRRP is running.\\
\hline
{\em vrid} & \hyperlink{protocolthe-p}{the} VRRP router ID.\\
\hline
{\em interval} & \hyperlink{protocolthe-p}{the} new advertisement interval. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlVrrpTargetBase_a50d1b88429c2f24840bac0c441903ca9}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_a17f70bbf8a2dd0b7a47952a223da0bd1}{
\index{VrrpTarget@{VrrpTarget}!vrrp\_\-0\_\-1\_\-set\_\-preempt@{vrrp\_\-0\_\-1\_\-set\_\-preempt}}
\index{vrrp\_\-0\_\-1\_\-set\_\-preempt@{vrrp\_\-0\_\-1\_\-set\_\-preempt}!VrrpTarget@{VrrpTarget}}
\subsubsection[{vrrp\_\-0\_\-1\_\-set\_\-preempt}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::vrrp\_\-0\_\-1\_\-set\_\-preempt (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname, }
\item[{const uint32\_\-t \&}]{vrid, }
\item[{const bool \&}]{preempt}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_a17f70bbf8a2dd0b7a47952a223da0bd1}


Pure-\/virtual function that needs to be implemented to: 

Set whether a high priority backup router should preempt a low priority router that is acting as a master.


\begin{DoxyParams}{Parameters}
{\em ifname} & \hyperlink{protocolthe-p}{the} interface on which VRRP is running.\\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} vif on which VRRP is running.\\
\hline
{\em vrid} & \hyperlink{protocolthe-p}{the} VRRP router ID.\\
\hline
{\em preempt} & true if preemption should occur. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlVrrpTargetBase_ab26b38ef56632df5855b516bce7848e7}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_a7b66122b1015ef0f6eae89ee42809b81}{
\index{VrrpTarget@{VrrpTarget}!vrrp\_\-0\_\-1\_\-set\_\-priority@{vrrp\_\-0\_\-1\_\-set\_\-priority}}
\index{vrrp\_\-0\_\-1\_\-set\_\-priority@{vrrp\_\-0\_\-1\_\-set\_\-priority}!VrrpTarget@{VrrpTarget}}
\subsubsection[{vrrp\_\-0\_\-1\_\-set\_\-priority}]{\setlength{\rightskip}{0pt plus 5cm}{\bf XrlCmdError} VrrpTarget::vrrp\_\-0\_\-1\_\-set\_\-priority (
\begin{DoxyParamCaption}
\item[{const string \&}]{ifname, }
\item[{const string \&}]{vifname, }
\item[{const uint32\_\-t \&}]{vrid, }
\item[{const uint32\_\-t \&}]{priority}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected, virtual\mbox{]}}}}
\label{classVrrpTarget_a7b66122b1015ef0f6eae89ee42809b81}


Pure-\/virtual function that needs to be implemented to: 

Set \hyperlink{protocolthe-p}{the} router's priority.


\begin{DoxyParams}{Parameters}
{\em ifname} & \hyperlink{protocolthe-p}{the} interface on which VRRP is running.\\
\hline
{\em vifname} & \hyperlink{protocolthe-p}{the} vif on which VRRP is running.\\
\hline
{\em vrid} & \hyperlink{protocolthe-p}{the} VRRP router ID.\\
\hline
{\em priority} & \hyperlink{protocolthe-p}{the} new priority value. \\
\hline
\end{DoxyParams}


Implements \hyperlink{structXrlVrrpTargetBase_a3b76027353d28d6af13aa3c341c1896d}{XrlVrrpTargetBase}.

\hypertarget{classVrrpTarget_a64a30eca28ffc2fe5ef32e0617e85b3d}{
\index{VrrpTarget@{VrrpTarget}!xrl\_\-cb@{xrl\_\-cb}}
\index{xrl\_\-cb@{xrl\_\-cb}!VrrpTarget@{VrrpTarget}}
\subsubsection[{xrl\_\-cb}]{\setlength{\rightskip}{0pt plus 5cm}void VrrpTarget::xrl\_\-cb (
\begin{DoxyParamCaption}
\item[{const {\bf XrlError} \&}]{xrl\_\-error}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classVrrpTarget_a64a30eca28ffc2fe5ef32e0617e85b3d}


The callback for all XRL operations. 


\begin{DoxyParams}{Parameters}
{\em xrl\_\-error} & \hyperlink{protocolthe-p}{the} error (if any) of \hyperlink{protocolthe-p}{the} operation. \\
\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\_\-target.hh\item 
/home/greearb/git/xorp.ct.github/xorp/vrrp/vrrp\_\-target.cc\end{DoxyCompactItemize}
