\hypertarget{classIfConfigGetGetifaddrs}{
\section{IfConfigGetGetifaddrs Class Reference}
\label{classIfConfigGetGetifaddrs}\index{IfConfigGetGetifaddrs@{IfConfigGetGetifaddrs}}
}
Inheritance diagram for IfConfigGetGetifaddrs:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classIfConfigGetGetifaddrs}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classIfConfigGetGetifaddrs_a6c04ddb66be0ae836aa85b9cb0b768f3}{IfConfigGetGetifaddrs} (\hyperlink{classFeaDataPlaneManager}{FeaDataPlaneManager} \&fea\_\-data\_\-plane\_\-manager)
\begin{DoxyCompactList}\small\item\em Constructor. \item\end{DoxyCompactList}\item 
\hypertarget{classIfConfigGetGetifaddrs_a99ab6901730c7d44188427a1614644f4}{
virtual \hyperlink{classIfConfigGetGetifaddrs_a99ab6901730c7d44188427a1614644f4}{$\sim$IfConfigGetGetifaddrs} ()}
\label{classIfConfigGetGetifaddrs_a99ab6901730c7d44188427a1614644f4}

\begin{DoxyCompactList}\small\item\em Virtual destructor. \item\end{DoxyCompactList}\item 
virtual int \hyperlink{classIfConfigGetGetifaddrs_a91f77020e7e8d8680db745047e80f587}{start} (string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Start operation. \item\end{DoxyCompactList}\item 
virtual int \hyperlink{classIfConfigGetGetifaddrs_adb729cfa9209eb01096b57c0b9be8c20}{stop} (string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Stop operation. \item\end{DoxyCompactList}\item 
virtual int \hyperlink{classIfConfigGetGetifaddrs_a7c38391bec67ebd1b3025962161acf83}{pull\_\-config} (const \hyperlink{classIfTree}{IfTree} $\ast$local\_\-config, \hyperlink{classIfTree}{IfTree} \&iftree)
\begin{DoxyCompactList}\small\item\em Pull \hyperlink{protocolthe-p}{the} network interface information from \hyperlink{protocolthe-p}{the} underlying system. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static int \hyperlink{classIfConfigGetGetifaddrs_ab3cb3c21e2e23f4f2832edad29b53f9b}{parse\_\-buffer\_\-getifaddrs} (\hyperlink{classIfConfig}{IfConfig} \&ifconfig, \hyperlink{classIfTree}{IfTree} \&iftree, const struct ifaddrs $\ast$ifap)
\begin{DoxyCompactList}\small\item\em Parse information about network interface configuration change from \hyperlink{protocolthe-p}{the} underlying system. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classIfConfigGetGetifaddrs_ac96ed9bf9dc02318f70d75ad789cc4f4}{
int {\bfseries read\_\-config} (\hyperlink{classIfTree}{IfTree} \&iftree)}
\label{classIfConfigGetGetifaddrs_ac96ed9bf9dc02318f70d75ad789cc4f4}

\end{DoxyCompactItemize}


\subsection{Constructor \& Destructor Documentation}
\hypertarget{classIfConfigGetGetifaddrs_a6c04ddb66be0ae836aa85b9cb0b768f3}{
\index{IfConfigGetGetifaddrs@{IfConfigGetGetifaddrs}!IfConfigGetGetifaddrs@{IfConfigGetGetifaddrs}}
\index{IfConfigGetGetifaddrs@{IfConfigGetGetifaddrs}!IfConfigGetGetifaddrs@{IfConfigGetGetifaddrs}}
\subsubsection[{IfConfigGetGetifaddrs}]{\setlength{\rightskip}{0pt plus 5cm}IfConfigGetGetifaddrs::IfConfigGetGetifaddrs (
\begin{DoxyParamCaption}
\item[{{\bf FeaDataPlaneManager} \&}]{fea\_\-data\_\-plane\_\-manager}
\end{DoxyParamCaption}
)}}
\label{classIfConfigGetGetifaddrs_a6c04ddb66be0ae836aa85b9cb0b768f3}


Constructor. 


\begin{DoxyParams}{Parameters}
{\em fea\_\-data\_\-plane\_\-manager} & \hyperlink{protocolthe-p}{the} corresponding data plane manager (\hyperlink{classFeaDataPlaneManager}{FeaDataPlaneManager}). \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classIfConfigGetGetifaddrs_ab3cb3c21e2e23f4f2832edad29b53f9b}{
\index{IfConfigGetGetifaddrs@{IfConfigGetGetifaddrs}!parse\_\-buffer\_\-getifaddrs@{parse\_\-buffer\_\-getifaddrs}}
\index{parse\_\-buffer\_\-getifaddrs@{parse\_\-buffer\_\-getifaddrs}!IfConfigGetGetifaddrs@{IfConfigGetGetifaddrs}}
\subsubsection[{parse\_\-buffer\_\-getifaddrs}]{\setlength{\rightskip}{0pt plus 5cm}static int IfConfigGetGetifaddrs::parse\_\-buffer\_\-getifaddrs (
\begin{DoxyParamCaption}
\item[{{\bf IfConfig} \&}]{ifconfig, }
\item[{{\bf IfTree} \&}]{iftree, }
\item[{const struct ifaddrs $\ast$}]{ifap}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{classIfConfigGetGetifaddrs_ab3cb3c21e2e23f4f2832edad29b53f9b}


Parse information about network interface configuration change from \hyperlink{protocolthe-p}{the} underlying system. 

The information to parse is in \char`\"{}struct ifaddrs\char`\"{} format (e.g., obtained by getifaddrs(3) mechanism).


\begin{DoxyParams}{Parameters}
{\em ifconfig} & \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfig}{IfConfig} instance. \\
\hline
{\em iftree} & \hyperlink{protocolthe-p}{the} \hyperlink{classIfTree}{IfTree} storage to store \hyperlink{protocolthe-p}{the} parsed information. \\
\hline
{\em ifap} & a linked list of \hyperlink{protocolthe-p}{the} network interfaces on \hyperlink{protocolthe-p}{the} local machine. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{classIfTree}{IfTree}. 
\end{DoxySeeAlso}
\hypertarget{classIfConfigGetGetifaddrs_a7c38391bec67ebd1b3025962161acf83}{
\index{IfConfigGetGetifaddrs@{IfConfigGetGetifaddrs}!pull\_\-config@{pull\_\-config}}
\index{pull\_\-config@{pull\_\-config}!IfConfigGetGetifaddrs@{IfConfigGetGetifaddrs}}
\subsubsection[{pull\_\-config}]{\setlength{\rightskip}{0pt plus 5cm}virtual int IfConfigGetGetifaddrs::pull\_\-config (
\begin{DoxyParamCaption}
\item[{const {\bf IfTree} $\ast$}]{local\_\-config, }
\item[{{\bf IfTree} \&}]{iftree}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classIfConfigGetGetifaddrs_a7c38391bec67ebd1b3025962161acf83}


Pull \hyperlink{protocolthe-p}{the} network interface information from \hyperlink{protocolthe-p}{the} underlying system. 


\begin{DoxyParams}{Parameters}
{\em iftree} & \hyperlink{protocolthe-p}{the} \hyperlink{classIfTree}{IfTree} storage to store \hyperlink{protocolthe-p}{the} pulled information. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implements \hyperlink{classIfConfigGet_a415c2064bf3ad7767ebbe7c8e918d931}{IfConfigGet}.

\hypertarget{classIfConfigGetGetifaddrs_a91f77020e7e8d8680db745047e80f587}{
\index{IfConfigGetGetifaddrs@{IfConfigGetGetifaddrs}!start@{start}}
\index{start@{start}!IfConfigGetGetifaddrs@{IfConfigGetGetifaddrs}}
\subsubsection[{start}]{\setlength{\rightskip}{0pt plus 5cm}virtual int IfConfigGetGetifaddrs::start (
\begin{DoxyParamCaption}
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classIfConfigGetGetifaddrs_a91f77020e7e8d8680db745047e80f587}


Start operation. 


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


Implements \hyperlink{classIfConfigGet_a95b2a958057c5427839a2aa0750c17b4}{IfConfigGet}.

\hypertarget{classIfConfigGetGetifaddrs_adb729cfa9209eb01096b57c0b9be8c20}{
\index{IfConfigGetGetifaddrs@{IfConfigGetGetifaddrs}!stop@{stop}}
\index{stop@{stop}!IfConfigGetGetifaddrs@{IfConfigGetGetifaddrs}}
\subsubsection[{stop}]{\setlength{\rightskip}{0pt plus 5cm}virtual int IfConfigGetGetifaddrs::stop (
\begin{DoxyParamCaption}
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classIfConfigGetGetifaddrs_adb729cfa9209eb01096b57c0b9be8c20}


Stop operation. 


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


Implements \hyperlink{classIfConfigGet_a44e082924901b3b4f1b9d0089a12baaa}{IfConfigGet}.



The documentation for this class was generated from the following file:\begin{DoxyCompactItemize}
\item 
/home/greearb/git/xorp.ct.github/xorp/fea/data\_\-plane/ifconfig/ifconfig\_\-get\_\-getifaddrs.hh\end{DoxyCompactItemize}
