\hypertarget{classIfConfig}{
\section{IfConfig Class Reference}
\label{classIfConfig}\index{IfConfig@{IfConfig}}
}


Base class for pushing and pulling interface configurations down to \hyperlink{protocolthe-p}{the} particular system.  




{\ttfamily \#include $<$ifconfig.hh$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classIfConfig_aa00c9c7b1eac08869a462609c59a7423}{IfConfig} (\hyperlink{classFeaNode}{FeaNode} \&fea\_\-node)
\begin{DoxyCompactList}\small\item\em Constructor. \item\end{DoxyCompactList}\item 
\hypertarget{classIfConfig_a399241846125988199214139a5ee3a9b}{
virtual \hyperlink{classIfConfig_a399241846125988199214139a5ee3a9b}{$\sim$IfConfig} ()}
\label{classIfConfig_a399241846125988199214139a5ee3a9b}

\begin{DoxyCompactList}\small\item\em Virtual destructor (in case this class is used as a base class). \item\end{DoxyCompactList}\item 
\hyperlink{classEventLoop}{EventLoop} \& \hyperlink{classIfConfig_ac0537ba2a7a8fffca54fc6e69e28ed8c}{eventloop} ()
\begin{DoxyCompactList}\small\item\em Get a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classEventLoop}{EventLoop} instance. \item\end{DoxyCompactList}\item 
ProcessStatus \hyperlink{classIfConfig_afc9df3f6998092b7793520a7a990fa42}{status} (string \&reason) const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} status code. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_a3c18ff9e91e64f3964165c2cf7574990}{start\_\-transaction} (uint32\_\-t \&tid, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Start interface-\/related transaction. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_a6611697e67c0bcfa5f64f26a61164321}{commit\_\-transaction} (uint32\_\-t tid, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Commit interface-\/related transaction. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_a9e2556a010e449555f027ae6ff6ffa57}{abort\_\-transaction} (uint32\_\-t tid, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Abort interface-\/related transaction. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_a5ad23ad5f3844036545292b4d514f29c}{add\_\-transaction\_\-operation} (uint32\_\-t tid, const \hyperlink{classref__ptr}{TransactionManager::Operation} \&op, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Add operation to interface-\/related transaction. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_ab9270b9b3e57e66441723a2c8c2764b0}{add\_\-interface} (const char $\ast$ifname)
\begin{DoxyCompactList}\small\item\em These are used by \hyperlink{protocolthe-p}{the} Transaction Operation callbacks to actually do work. \item\end{DoxyCompactList}\item 
\hypertarget{classIfConfig_ac0b3e527794b74aacc75d5735f6191dc}{
int {\bfseries add\_\-interface} (const string \&ifname)}
\label{classIfConfig_ac0b3e527794b74aacc75d5735f6191dc}

\item 
\hypertarget{classIfConfig_a68cf3de8260871181824b094bbfa82c3}{
int {\bfseries remove\_\-interface} (const char $\ast$ifname)}
\label{classIfConfig_a68cf3de8260871181824b094bbfa82c3}

\item 
\hypertarget{classIfConfig_a9b91a2b9f014b6aba1033ba3a50c5c5e}{
int {\bfseries remove\_\-interface} (const string \&ifname)}
\label{classIfConfig_a9b91a2b9f014b6aba1033ba3a50c5c5e}

\item 
\hypertarget{classIfConfig_a70036027b1fd146e8b78b388ea3cab9b}{
int {\bfseries update\_\-interface} (const \hyperlink{classIfTreeInterface}{IfTreeInterface} \&iface)}
\label{classIfConfig_a70036027b1fd146e8b78b388ea3cab9b}

\item 
\hyperlink{classNexthopPortMapper}{NexthopPortMapper} \& \hyperlink{classIfConfig_a8436d5160d70d613e519ed054aee2f90}{nexthop\_\-port\_\-mapper} ()
\begin{DoxyCompactList}\small\item\em Get a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classNexthopPortMapper}{NexthopPortMapper} instance. \item\end{DoxyCompactList}\item 
\hyperlink{classIfConfigUpdateReplicator}{IfConfigUpdateReplicator} \& \hyperlink{classIfConfig_a8369d74eba4ed3185383a987ad8dd34a}{ifconfig\_\-update\_\-replicator} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigUpdateReplicator}{IfConfigUpdateReplicator} instance. \item\end{DoxyCompactList}\item 
\hyperlink{classIfConfigErrorReporterBase}{IfConfigErrorReporterBase} \& \hyperlink{classIfConfig_a2bfe8b3eea16c139def22b9a6264aad3}{ifconfig\_\-error\_\-reporter} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} error reporter associated with \hyperlink{classIfConfig}{IfConfig}. \item\end{DoxyCompactList}\item 
\hyperlink{classIfTree}{IfTree} \& \hyperlink{classIfConfig_ac9e4916463852d41b2a9d09c22fb8a97}{system\_\-config} ()
\begin{DoxyCompactList}\small\item\em Get a reference to \hyperlink{protocolthe-p}{the} system interface configuration. \item\end{DoxyCompactList}\item 
void \hyperlink{classIfConfig_a438fabaa4d7f680569b3673bf4296b57}{set\_\-system\_\-config} (const \hyperlink{classIfTree}{IfTree} \&iftree)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} system interface configuration. \item\end{DoxyCompactList}\item 
\hyperlink{classIfTree}{IfTree} \& \hyperlink{classIfConfig_a9524451620425b0d6af8e88d96e37bb4}{user\_\-config} ()
\begin{DoxyCompactList}\small\item\em Get a reference to \hyperlink{protocolthe-p}{the} user interface configuration. \item\end{DoxyCompactList}\item 
void \hyperlink{classIfConfig_a9e38ec7d2821d1ec9a5db76cd7c59d6c}{set\_\-user\_\-config} (const \hyperlink{classIfTree}{IfTree} \&iftree)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} user interface configuration. \item\end{DoxyCompactList}\item 
\hyperlink{classIfTree}{IfTree} \& \hyperlink{classIfConfig_a76c365f375702011c53161b3a5cf4ef6}{merged\_\-config} ()
\begin{DoxyCompactList}\small\item\em Get a reference to \hyperlink{protocolthe-p}{the} merged system-\/user configuration. \item\end{DoxyCompactList}\item 
void \hyperlink{classIfConfig_a503ec153f47885b49d5e1d2928d32c9e}{set\_\-merged\_\-config} (const \hyperlink{classIfTree}{IfTree} \&iftree)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} merged system-\/user configuration. \item\end{DoxyCompactList}\item 
const \hyperlink{classIfTree}{IfTree} \& \hyperlink{classIfConfig_a9ee158fb2bdab5f01d82a71897c7d84f}{original\_\-config} ()
\begin{DoxyCompactList}\small\item\em Get a reference to \hyperlink{protocolthe-p}{the} original interface configuration on startup. \item\end{DoxyCompactList}\item 
bool \hyperlink{classIfConfig_a10a066fe0dd4a09488f2cdc476956689}{restore\_\-original\_\-config\_\-on\_\-shutdown} () const 
\begin{DoxyCompactList}\small\item\em Test whether \hyperlink{protocolthe-p}{the} original configuration should be restored on shutdown. \item\end{DoxyCompactList}\item 
void \hyperlink{classIfConfig_abd28c097c3f32caa5714173e40d41a40}{set\_\-restore\_\-original\_\-config\_\-on\_\-shutdown} (bool v)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} flag whether \hyperlink{protocolthe-p}{the} original configuration should be restored on shutdown. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_aed801e45be0d4e0d22f1fc0a952b7a24}{register\_\-ifconfig\_\-property} (\hyperlink{classIfConfigProperty}{IfConfigProperty} $\ast$ifconfig\_\-property, bool is\_\-exclusive)
\begin{DoxyCompactList}\small\item\em Register \hyperlink{classIfConfigProperty}{IfConfigProperty} plugin. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_a31935b1bfe66c2323301298152019d11}{unregister\_\-ifconfig\_\-property} (\hyperlink{classIfConfigProperty}{IfConfigProperty} $\ast$ifconfig\_\-property)
\begin{DoxyCompactList}\small\item\em Unregister \hyperlink{classIfConfigProperty}{IfConfigProperty} plugin. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_ae526bf1241e52585991760b3f6958555}{register\_\-ifconfig\_\-get} (\hyperlink{classIfConfigGet}{IfConfigGet} $\ast$ifconfig\_\-get, bool is\_\-exclusive)
\begin{DoxyCompactList}\small\item\em Register \hyperlink{classIfConfigGet}{IfConfigGet} plugin. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_a1eb183a830d0b34ffdb7d71c2e275ebe}{unregister\_\-ifconfig\_\-get} (\hyperlink{classIfConfigGet}{IfConfigGet} $\ast$ifconfig\_\-get)
\begin{DoxyCompactList}\small\item\em Unregister \hyperlink{classIfConfigGet}{IfConfigGet} plugin. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_ae84c575b11426b556cd6172ea396d740}{register\_\-ifconfig\_\-set} (\hyperlink{classIfConfigSet}{IfConfigSet} $\ast$ifconfig\_\-set, bool is\_\-exclusive)
\begin{DoxyCompactList}\small\item\em Register \hyperlink{classIfConfigSet}{IfConfigSet} plugin. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_ad517c1f02af12f1cf67128587e0ff709}{unregister\_\-ifconfig\_\-set} (\hyperlink{classIfConfigSet}{IfConfigSet} $\ast$ifconfig\_\-set)
\begin{DoxyCompactList}\small\item\em Unregister \hyperlink{classIfConfigSet}{IfConfigSet} plugin. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_ac017f9e3ca7dd5197cf8f5c2fc7e7fde}{register\_\-ifconfig\_\-observer} (\hyperlink{classIfConfigObserver}{IfConfigObserver} $\ast$ifconfig\_\-observer, bool is\_\-exclusive)
\begin{DoxyCompactList}\small\item\em Register \hyperlink{classIfConfigObserver}{IfConfigObserver} plugin. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_a4d559148f107aeaf8abe046d88b2faf8}{unregister\_\-ifconfig\_\-observer} (\hyperlink{classIfConfigObserver}{IfConfigObserver} $\ast$ifconfig\_\-observer)
\begin{DoxyCompactList}\small\item\em Unregister \hyperlink{classIfConfigObserver}{IfConfigObserver} plugin. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_aca8ac18bec93335ce0c4a19bf784182d}{register\_\-ifconfig\_\-vlan\_\-get} (\hyperlink{classIfConfigVlanGet}{IfConfigVlanGet} $\ast$ifconfig\_\-vlan\_\-get, bool is\_\-exclusive)
\begin{DoxyCompactList}\small\item\em Register \hyperlink{classIfConfigVlanGet}{IfConfigVlanGet} plugin. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_a4f304156710f911d7f886bae43afcd87}{unregister\_\-ifconfig\_\-vlan\_\-get} (\hyperlink{classIfConfigVlanGet}{IfConfigVlanGet} $\ast$ifconfig\_\-vlan\_\-get)
\begin{DoxyCompactList}\small\item\em Unregister \hyperlink{classIfConfigVlanGet}{IfConfigVlanGet} plugin. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_a0b03d0d5cc782ac4d7797efa685f0213}{register\_\-ifconfig\_\-vlan\_\-set} (\hyperlink{classIfConfigVlanSet}{IfConfigVlanSet} $\ast$ifconfig\_\-vlan\_\-set, bool is\_\-exclusive)
\begin{DoxyCompactList}\small\item\em Register \hyperlink{classIfConfigVlanSet}{IfConfigVlanSet} plugin. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_ac495883cf1be026d5828cc536e0fde5d}{unregister\_\-ifconfig\_\-vlan\_\-set} (\hyperlink{classIfConfigVlanSet}{IfConfigVlanSet} $\ast$ifconfig\_\-vlan\_\-set)
\begin{DoxyCompactList}\small\item\em Unregister \hyperlink{classIfConfigVlanSet}{IfConfigVlanSet} plugin. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_a71f9f46078afcf93826413304861066c}{start} (string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Start operation. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_a108e123ed17bc701fcf8047d993916e4}{stop} (string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Stop operation. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfConfig_a895c53e492466773c7ea565f3c203dee}{push\_\-config} (const \hyperlink{classIfTree}{IfTree} \&iftree)
\begin{DoxyCompactList}\small\item\em \hyperlink{classPush}{Push} interface configuration down to \hyperlink{protocolthe-p}{the} system. \item\end{DoxyCompactList}\item 
const string \& \hyperlink{classIfConfig_aab682fffa5e5798a0f176ee648fa3ad3}{push\_\-error} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} error message associated with a push operation. \item\end{DoxyCompactList}\item 
const \hyperlink{classIfTree}{IfTree} \& \hyperlink{classIfConfig_aa1f974e9453fcc1726c52a5239800afe}{pull\_\-config} (const char $\ast$ifname, int if\_\-index)
\begin{DoxyCompactList}\small\item\em Pull up current interface configuration from \hyperlink{protocolthe-p}{the} system, but only for interfaces currently configured by \hyperlink{protocolthe-p}{the} user. \item\end{DoxyCompactList}\item 
const \hyperlink{classIfTree}{IfTree} \& \hyperlink{classIfConfig_a732c97b52a4ce108a5b92db3595967b7}{full\_\-pulled\_\-config} ()
\begin{DoxyCompactList}\small\item\em NOTE: This will cause \hyperlink{protocolthe-p}{the} system to read $\ast$all$\ast$ interface information into \hyperlink{protocolthe-p}{the} \_\-pulled\_\-config list. \item\end{DoxyCompactList}\item 
bool \hyperlink{classIfConfig_a61600820140ff74b3823f54857dac74e}{report\_\-update} (const \hyperlink{classIfTreeInterface}{IfTreeInterface} \&fi)
\begin{DoxyCompactList}\small\item\em Check \hyperlink{classIfTreeInterface}{IfTreeInterface} and report updates to IfConfigUpdateReporter. \item\end{DoxyCompactList}\item 
bool \hyperlink{classIfConfig_aad30b5111e73c013f25530a0c331c4c2}{report\_\-update} (const \hyperlink{classIfTreeInterface}{IfTreeInterface} \&fi, const \hyperlink{classIfTreeVif}{IfTreeVif} \&fv)
\begin{DoxyCompactList}\small\item\em Check \hyperlink{classIfTreeVif}{IfTreeVif} and report updates to IfConfigUpdateReporter. \item\end{DoxyCompactList}\item 
bool \hyperlink{classIfConfig_a76ca762597f4d17b0677beb986696472}{report\_\-update} (const \hyperlink{classIfTreeInterface}{IfTreeInterface} \&fi, const \hyperlink{classIfTreeVif}{IfTreeVif} \&fv, const \hyperlink{classIfTreeAddr4}{IfTreeAddr4} \&fa)
\begin{DoxyCompactList}\small\item\em Check \hyperlink{classIfTreeAddr4}{IfTreeAddr4} and report updates to IfConfigUpdateReporter. \item\end{DoxyCompactList}\item 
\hypertarget{classIfConfig_a18bf9fc9c2d5d873cef6e0cb99c735ec}{
void \hyperlink{classIfConfig_a18bf9fc9c2d5d873cef6e0cb99c735ec}{report\_\-updates\_\-completed} ()}
\label{classIfConfig_a18bf9fc9c2d5d873cef6e0cb99c735ec}

\begin{DoxyCompactList}\small\item\em Report that updates were completed to IfConfigUpdateReporter. \item\end{DoxyCompactList}\item 
void \hyperlink{classIfConfig_a6a82a5400bd31dde54c44c9dc3bd54b6}{report\_\-updates} (\hyperlink{classIfTree}{IfTree} \&iftree)
\begin{DoxyCompactList}\small\item\em Check every item within \hyperlink{classIfTree}{IfTree} and report updates to IfConfigUpdateReporter. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{classIfConfig_a55e88e61cc3dad1dc1b47cf2c6f1377c}{restore\_\-config} (const \hyperlink{classIfTree}{IfTree} \&old\_\-user\_\-config, const \hyperlink{classIfTree}{IfTree} \&old\_\-system\_\-config, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Restore \hyperlink{protocolthe-p}{the} interface configuration. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classIfConfig_a953695e4eb0f4debc5d92148ee351ec0}{
\hyperlink{classFeaNode}{FeaNode} \& {\bfseries \_\-fea\_\-node}}
\label{classIfConfig_a953695e4eb0f4debc5d92148ee351ec0}

\item 
\hypertarget{classIfConfig_a4733e36a5716858a7b3ce21401152f14}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries \_\-eventloop}}
\label{classIfConfig_a4733e36a5716858a7b3ce21401152f14}

\item 
\hypertarget{classIfConfig_aa5ab1d2db279824bbc7c7da7090fa1af}{
\hyperlink{classNexthopPortMapper}{NexthopPortMapper} \& {\bfseries \_\-nexthop\_\-port\_\-mapper}}
\label{classIfConfig_aa5ab1d2db279824bbc7c7da7090fa1af}

\item 
\hypertarget{classIfConfig_ad11c18c2c12d45aefdd5e824a48c7e9b}{
\hyperlink{classIfConfigTransactionManager}{IfConfigTransactionManager} $\ast$ {\bfseries \_\-itm}}
\label{classIfConfig_ad11c18c2c12d45aefdd5e824a48c7e9b}

\item 
\hypertarget{classIfConfig_a6220132fe718cf5ddb1e85c90e0a0e10}{
\hyperlink{classIfTree}{IfTree} {\bfseries \_\-user\_\-config}}
\label{classIfConfig_a6220132fe718cf5ddb1e85c90e0a0e10}

\item 
\hypertarget{classIfConfig_ad1888bab0bf800f850c01216b21b51a3}{
\hyperlink{classIfTree}{IfTree} {\bfseries \_\-system\_\-config}}
\label{classIfConfig_ad1888bab0bf800f850c01216b21b51a3}

\item 
\hypertarget{classIfConfig_a46563115510ccacf404e385e8ad5ba40}{
\hyperlink{classIfTree}{IfTree} {\bfseries \_\-merged\_\-config}}
\label{classIfConfig_a46563115510ccacf404e385e8ad5ba40}

\item 
\hypertarget{classIfConfig_a26094c87d97c5fe97c83b9a64b2e2175}{
\hyperlink{classIfTree}{IfTree} {\bfseries \_\-original\_\-config}}
\label{classIfConfig_a26094c87d97c5fe97c83b9a64b2e2175}

\item 
\hypertarget{classIfConfig_a7cfc2f95dac1b9e6454be5c9c0f34391}{
bool {\bfseries \_\-restore\_\-original\_\-config\_\-on\_\-shutdown}}
\label{classIfConfig_a7cfc2f95dac1b9e6454be5c9c0f34391}

\item 
\hypertarget{classIfConfig_aa451d93190391947bd297b31585a54b9}{
\hyperlink{classIfConfigUpdateReplicator}{IfConfigUpdateReplicator} {\bfseries \_\-ifconfig\_\-update\_\-replicator}}
\label{classIfConfig_aa451d93190391947bd297b31585a54b9}

\item 
\hypertarget{classIfConfig_ad0a52541eb89be0656add430214fb102}{
\hyperlink{classIfConfigErrorReporter}{IfConfigErrorReporter} {\bfseries \_\-ifconfig\_\-error\_\-reporter}}
\label{classIfConfig_ad0a52541eb89be0656add430214fb102}

\item 
\hypertarget{classIfConfig_a1eeb68526adf9b689ec150184f616cd5}{
list$<$ \hyperlink{classIfConfigProperty}{IfConfigProperty} $\ast$ $>$ {\bfseries \_\-ifconfig\_\-property\_\-plugins}}
\label{classIfConfig_a1eeb68526adf9b689ec150184f616cd5}

\item 
\hypertarget{classIfConfig_ad424312693d1d5f114c755356cf60952}{
list$<$ \hyperlink{classIfConfigGet}{IfConfigGet} $\ast$ $>$ {\bfseries \_\-ifconfig\_\-gets}}
\label{classIfConfig_ad424312693d1d5f114c755356cf60952}

\item 
\hypertarget{classIfConfig_a5bdef6434bcf82f6d292490cf053c179}{
list$<$ \hyperlink{classIfConfigSet}{IfConfigSet} $\ast$ $>$ {\bfseries \_\-ifconfig\_\-sets}}
\label{classIfConfig_a5bdef6434bcf82f6d292490cf053c179}

\item 
\hypertarget{classIfConfig_a6ee114c0dde874d303585117f9b16294}{
list$<$ \hyperlink{classIfConfigObserver}{IfConfigObserver} $\ast$ $>$ {\bfseries \_\-ifconfig\_\-observers}}
\label{classIfConfig_a6ee114c0dde874d303585117f9b16294}

\item 
\hypertarget{classIfConfig_ad6e549f570b0b116f13aac73a6ced192}{
list$<$ \hyperlink{classIfConfigVlanGet}{IfConfigVlanGet} $\ast$ $>$ {\bfseries \_\-ifconfig\_\-vlan\_\-gets}}
\label{classIfConfig_ad6e549f570b0b116f13aac73a6ced192}

\item 
\hypertarget{classIfConfig_a8e142518901e97f2b75f012c98b30991}{
list$<$ \hyperlink{classIfConfigVlanSet}{IfConfigVlanSet} $\ast$ $>$ {\bfseries \_\-ifconfig\_\-vlan\_\-sets}}
\label{classIfConfig_a8e142518901e97f2b75f012c98b30991}

\item 
\hypertarget{classIfConfig_ac8d64877a58163bccc018deb878d400f}{
bool {\bfseries \_\-is\_\-running}}
\label{classIfConfig_ac8d64877a58163bccc018deb878d400f}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Base class for pushing and pulling interface configurations down to \hyperlink{protocolthe-p}{the} particular system. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classIfConfig_aa00c9c7b1eac08869a462609c59a7423}{
\index{IfConfig@{IfConfig}!IfConfig@{IfConfig}}
\index{IfConfig@{IfConfig}!IfConfig@{IfConfig}}
\subsubsection[{IfConfig}]{\setlength{\rightskip}{0pt plus 5cm}IfConfig::IfConfig (
\begin{DoxyParamCaption}
\item[{{\bf FeaNode} \&}]{fea\_\-node}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_aa00c9c7b1eac08869a462609c59a7423}


Constructor. 


\begin{DoxyParams}{Parameters}
{\em fea\_\-node} & \hyperlink{protocolthe-p}{the} FEA node. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classIfConfig_a9e2556a010e449555f027ae6ff6ffa57}{
\index{IfConfig@{IfConfig}!abort\_\-transaction@{abort\_\-transaction}}
\index{abort\_\-transaction@{abort\_\-transaction}!IfConfig@{IfConfig}}
\subsubsection[{abort\_\-transaction}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::abort\_\-transaction (
\begin{DoxyParamCaption}
\item[{uint32\_\-t}]{tid, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_a9e2556a010e449555f027ae6ff6ffa57}


Abort interface-\/related transaction. 


\begin{DoxyParams}{Parameters}
{\em tid} & \hyperlink{protocolthe-p}{the} transaction ID. \\
\hline
{\em error\_\-msg} & \hyperlink{protocolthe-p}{the} error message (if error). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classIfConfig_ab9270b9b3e57e66441723a2c8c2764b0}{
\index{IfConfig@{IfConfig}!add\_\-interface@{add\_\-interface}}
\index{add\_\-interface@{add\_\-interface}!IfConfig@{IfConfig}}
\subsubsection[{add\_\-interface}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::add\_\-interface (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{ifname}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_ab9270b9b3e57e66441723a2c8c2764b0}


These are used by \hyperlink{protocolthe-p}{the} Transaction Operation callbacks to actually do work. 

All of these apply to \hyperlink{protocolthe-p}{the} user\_\-config unless otherwise specified. \hypertarget{classIfConfig_a5ad23ad5f3844036545292b4d514f29c}{
\index{IfConfig@{IfConfig}!add\_\-transaction\_\-operation@{add\_\-transaction\_\-operation}}
\index{add\_\-transaction\_\-operation@{add\_\-transaction\_\-operation}!IfConfig@{IfConfig}}
\subsubsection[{add\_\-transaction\_\-operation}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::add\_\-transaction\_\-operation (
\begin{DoxyParamCaption}
\item[{uint32\_\-t}]{tid, }
\item[{const {\bf TransactionManager::Operation} \&}]{op, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_a5ad23ad5f3844036545292b4d514f29c}


Add operation to interface-\/related transaction. 


\begin{DoxyParams}{Parameters}
{\em tid} & \hyperlink{protocolthe-p}{the} transaction ID. \\
\hline
{\em op} & \hyperlink{protocolthe-p}{the} operation to add. \\
\hline
{\em error\_\-msg} & \hyperlink{protocolthe-p}{the} error message (if error). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a6611697e67c0bcfa5f64f26a61164321}{
\index{IfConfig@{IfConfig}!commit\_\-transaction@{commit\_\-transaction}}
\index{commit\_\-transaction@{commit\_\-transaction}!IfConfig@{IfConfig}}
\subsubsection[{commit\_\-transaction}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::commit\_\-transaction (
\begin{DoxyParamCaption}
\item[{uint32\_\-t}]{tid, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_a6611697e67c0bcfa5f64f26a61164321}


Commit interface-\/related transaction. 


\begin{DoxyParams}{Parameters}
{\em tid} & \hyperlink{protocolthe-p}{the} transaction ID. \\
\hline
{\em error\_\-msg} & \hyperlink{protocolthe-p}{the} error message (if error). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classIfConfig_ac0537ba2a7a8fffca54fc6e69e28ed8c}{
\index{IfConfig@{IfConfig}!eventloop@{eventloop}}
\index{eventloop@{eventloop}!IfConfig@{IfConfig}}
\subsubsection[{eventloop}]{\setlength{\rightskip}{0pt plus 5cm}{\bf EventLoop}\& IfConfig::eventloop (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIfConfig_ac0537ba2a7a8fffca54fc6e69e28ed8c}


Get a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classEventLoop}{EventLoop} instance. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classEventLoop}{EventLoop} instance. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a732c97b52a4ce108a5b92db3595967b7}{
\index{IfConfig@{IfConfig}!full\_\-pulled\_\-config@{full\_\-pulled\_\-config}}
\index{full\_\-pulled\_\-config@{full\_\-pulled\_\-config}!IfConfig@{IfConfig}}
\subsubsection[{full\_\-pulled\_\-config}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf IfTree} \& IfConfig::full\_\-pulled\_\-config (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_a732c97b52a4ce108a5b92db3595967b7}


NOTE: This will cause \hyperlink{protocolthe-p}{the} system to read $\ast$all$\ast$ interface information into \hyperlink{protocolthe-p}{the} \_\-pulled\_\-config list. 

If you are trying to optimize by only pulling information for interfaces configured in \hyperlink{protocolthe-p}{the} local\_\-config, do not use this method.

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} pulled interface configuration from \hyperlink{protocolthe-p}{the} system. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a2bfe8b3eea16c139def22b9a6264aad3}{
\index{IfConfig@{IfConfig}!ifconfig\_\-error\_\-reporter@{ifconfig\_\-error\_\-reporter}}
\index{ifconfig\_\-error\_\-reporter@{ifconfig\_\-error\_\-reporter}!IfConfig@{IfConfig}}
\subsubsection[{ifconfig\_\-error\_\-reporter}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IfConfigErrorReporterBase}\& IfConfig::ifconfig\_\-error\_\-reporter (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIfConfig_a2bfe8b3eea16c139def22b9a6264aad3}


Get \hyperlink{protocolthe-p}{the} error reporter associated with \hyperlink{classIfConfig}{IfConfig}. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} error reporter associated with \hyperlink{classIfConfig}{IfConfig}. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a8369d74eba4ed3185383a987ad8dd34a}{
\index{IfConfig@{IfConfig}!ifconfig\_\-update\_\-replicator@{ifconfig\_\-update\_\-replicator}}
\index{ifconfig\_\-update\_\-replicator@{ifconfig\_\-update\_\-replicator}!IfConfig@{IfConfig}}
\subsubsection[{ifconfig\_\-update\_\-replicator}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IfConfigUpdateReplicator}\& IfConfig::ifconfig\_\-update\_\-replicator (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIfConfig_a8369d74eba4ed3185383a987ad8dd34a}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigUpdateReplicator}{IfConfigUpdateReplicator} instance. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigUpdateReplicator}{IfConfigUpdateReplicator} instance (\hyperlink{classIfConfigUpdateReplicator}{IfConfigUpdateReplicator}). 
\end{DoxyReturn}
\hypertarget{classIfConfig_a76c365f375702011c53161b3a5cf4ef6}{
\index{IfConfig@{IfConfig}!merged\_\-config@{merged\_\-config}}
\index{merged\_\-config@{merged\_\-config}!IfConfig@{IfConfig}}
\subsubsection[{merged\_\-config}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IfTree}\& IfConfig::merged\_\-config (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIfConfig_a76c365f375702011c53161b3a5cf4ef6}


Get a reference to \hyperlink{protocolthe-p}{the} merged system-\/user configuration. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} merged system-\/user configuration. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a8436d5160d70d613e519ed054aee2f90}{
\index{IfConfig@{IfConfig}!nexthop\_\-port\_\-mapper@{nexthop\_\-port\_\-mapper}}
\index{nexthop\_\-port\_\-mapper@{nexthop\_\-port\_\-mapper}!IfConfig@{IfConfig}}
\subsubsection[{nexthop\_\-port\_\-mapper}]{\setlength{\rightskip}{0pt plus 5cm}{\bf NexthopPortMapper}\& IfConfig::nexthop\_\-port\_\-mapper (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIfConfig_a8436d5160d70d613e519ed054aee2f90}


Get a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classNexthopPortMapper}{NexthopPortMapper} instance. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classNexthopPortMapper}{NexthopPortMapper} instance. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a9ee158fb2bdab5f01d82a71897c7d84f}{
\index{IfConfig@{IfConfig}!original\_\-config@{original\_\-config}}
\index{original\_\-config@{original\_\-config}!IfConfig@{IfConfig}}
\subsubsection[{original\_\-config}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf IfTree}\& IfConfig::original\_\-config (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIfConfig_a9ee158fb2bdab5f01d82a71897c7d84f}


Get a reference to \hyperlink{protocolthe-p}{the} original interface configuration on startup. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} original interface configuration on startup. 
\end{DoxyReturn}
\hypertarget{classIfConfig_aa1f974e9453fcc1726c52a5239800afe}{
\index{IfConfig@{IfConfig}!pull\_\-config@{pull\_\-config}}
\index{pull\_\-config@{pull\_\-config}!IfConfig@{IfConfig}}
\subsubsection[{pull\_\-config}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf IfTree} \& IfConfig::pull\_\-config (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{ifname, }
\item[{int}]{if\_\-index}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_aa1f974e9453fcc1726c52a5239800afe}


Pull up current interface configuration from \hyperlink{protocolthe-p}{the} system, but only for interfaces currently configured by \hyperlink{protocolthe-p}{the} user. 

If ifname is specified, pull only this interface's information. Use NULL to ignore. if if\_\-index is specified, pull only this interface's information. Use -\/1 to ignore.

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} current interface configuration from \hyperlink{protocolthe-p}{the} system. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a895c53e492466773c7ea565f3c203dee}{
\index{IfConfig@{IfConfig}!push\_\-config@{push\_\-config}}
\index{push\_\-config@{push\_\-config}!IfConfig@{IfConfig}}
\subsubsection[{push\_\-config}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::push\_\-config (
\begin{DoxyParamCaption}
\item[{const {\bf IfTree} \&}]{iftree}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_a895c53e492466773c7ea565f3c203dee}


\hyperlink{classPush}{Push} interface configuration down to \hyperlink{protocolthe-p}{the} system. 

Errors are reported via \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfig_a2bfe8b3eea16c139def22b9a6264aad3}{ifconfig\_\-error\_\-reporter()} instance. Note that on return some of \hyperlink{protocolthe-p}{the} interface configuration state may be modified.


\begin{DoxyParams}{Parameters}
{\em iftree} & \hyperlink{protocolthe-p}{the} interface configuration to be pushed down. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classIfConfig_aab682fffa5e5798a0f176ee648fa3ad3}{
\index{IfConfig@{IfConfig}!push\_\-error@{push\_\-error}}
\index{push\_\-error@{push\_\-error}!IfConfig@{IfConfig}}
\subsubsection[{push\_\-error}]{\setlength{\rightskip}{0pt plus 5cm}const string \& IfConfig::push\_\-error (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classIfConfig_aab682fffa5e5798a0f176ee648fa3ad3}


Get \hyperlink{protocolthe-p}{the} error message associated with a push operation. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} error message associated with a push operation. 
\end{DoxyReturn}
\hypertarget{classIfConfig_ae526bf1241e52585991760b3f6958555}{
\index{IfConfig@{IfConfig}!register\_\-ifconfig\_\-get@{register\_\-ifconfig\_\-get}}
\index{register\_\-ifconfig\_\-get@{register\_\-ifconfig\_\-get}!IfConfig@{IfConfig}}
\subsubsection[{register\_\-ifconfig\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::register\_\-ifconfig\_\-get (
\begin{DoxyParamCaption}
\item[{{\bf IfConfigGet} $\ast$}]{ifconfig\_\-get, }
\item[{bool}]{is\_\-exclusive}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_ae526bf1241e52585991760b3f6958555}


Register \hyperlink{classIfConfigGet}{IfConfigGet} plugin. 


\begin{DoxyParams}{Parameters}
{\em ifconfig\_\-get} & \hyperlink{protocolthe-p}{the} plugin to register. \\
\hline
{\em is\_\-exclusive} & if true, \hyperlink{protocolthe-p}{the} plugin is registered as \hyperlink{protocolthe-p}{the} exclusive plugin, otherwise is added to \hyperlink{protocolthe-p}{the} list of plugins. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classIfConfig_ac017f9e3ca7dd5197cf8f5c2fc7e7fde}{
\index{IfConfig@{IfConfig}!register\_\-ifconfig\_\-observer@{register\_\-ifconfig\_\-observer}}
\index{register\_\-ifconfig\_\-observer@{register\_\-ifconfig\_\-observer}!IfConfig@{IfConfig}}
\subsubsection[{register\_\-ifconfig\_\-observer}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::register\_\-ifconfig\_\-observer (
\begin{DoxyParamCaption}
\item[{{\bf IfConfigObserver} $\ast$}]{ifconfig\_\-observer, }
\item[{bool}]{is\_\-exclusive}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_ac017f9e3ca7dd5197cf8f5c2fc7e7fde}


Register \hyperlink{classIfConfigObserver}{IfConfigObserver} plugin. 


\begin{DoxyParams}{Parameters}
{\em ifconfig\_\-observer} & \hyperlink{protocolthe-p}{the} plugin to register. \\
\hline
{\em is\_\-exclusive} & if true, \hyperlink{protocolthe-p}{the} plugin is registered as \hyperlink{protocolthe-p}{the} exclusive plugin, otherwise is added to \hyperlink{protocolthe-p}{the} list of plugins. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classIfConfig_aed801e45be0d4e0d22f1fc0a952b7a24}{
\index{IfConfig@{IfConfig}!register\_\-ifconfig\_\-property@{register\_\-ifconfig\_\-property}}
\index{register\_\-ifconfig\_\-property@{register\_\-ifconfig\_\-property}!IfConfig@{IfConfig}}
\subsubsection[{register\_\-ifconfig\_\-property}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::register\_\-ifconfig\_\-property (
\begin{DoxyParamCaption}
\item[{{\bf IfConfigProperty} $\ast$}]{ifconfig\_\-property, }
\item[{bool}]{is\_\-exclusive}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_aed801e45be0d4e0d22f1fc0a952b7a24}


Register \hyperlink{classIfConfigProperty}{IfConfigProperty} plugin. 


\begin{DoxyParams}{Parameters}
{\em ifconfig\_\-property} & \hyperlink{protocolthe-p}{the} plugin to register. \\
\hline
{\em is\_\-exclusive} & if true, \hyperlink{protocolthe-p}{the} plugin is registered as \hyperlink{protocolthe-p}{the} exclusive plugin, otherwise is added to \hyperlink{protocolthe-p}{the} list of plugins. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classIfConfig_ae84c575b11426b556cd6172ea396d740}{
\index{IfConfig@{IfConfig}!register\_\-ifconfig\_\-set@{register\_\-ifconfig\_\-set}}
\index{register\_\-ifconfig\_\-set@{register\_\-ifconfig\_\-set}!IfConfig@{IfConfig}}
\subsubsection[{register\_\-ifconfig\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::register\_\-ifconfig\_\-set (
\begin{DoxyParamCaption}
\item[{{\bf IfConfigSet} $\ast$}]{ifconfig\_\-set, }
\item[{bool}]{is\_\-exclusive}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_ae84c575b11426b556cd6172ea396d740}


Register \hyperlink{classIfConfigSet}{IfConfigSet} plugin. 


\begin{DoxyParams}{Parameters}
{\em ifconfig\_\-set} & \hyperlink{protocolthe-p}{the} plugin to register. \\
\hline
{\em is\_\-exclusive} & if true, \hyperlink{protocolthe-p}{the} plugin is registered as \hyperlink{protocolthe-p}{the} exclusive plugin, otherwise is added to \hyperlink{protocolthe-p}{the} list of plugins. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classIfConfig_aca8ac18bec93335ce0c4a19bf784182d}{
\index{IfConfig@{IfConfig}!register\_\-ifconfig\_\-vlan\_\-get@{register\_\-ifconfig\_\-vlan\_\-get}}
\index{register\_\-ifconfig\_\-vlan\_\-get@{register\_\-ifconfig\_\-vlan\_\-get}!IfConfig@{IfConfig}}
\subsubsection[{register\_\-ifconfig\_\-vlan\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::register\_\-ifconfig\_\-vlan\_\-get (
\begin{DoxyParamCaption}
\item[{{\bf IfConfigVlanGet} $\ast$}]{ifconfig\_\-vlan\_\-get, }
\item[{bool}]{is\_\-exclusive}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_aca8ac18bec93335ce0c4a19bf784182d}


Register \hyperlink{classIfConfigVlanGet}{IfConfigVlanGet} plugin. 


\begin{DoxyParams}{Parameters}
{\em ifconfig\_\-vlan\_\-get} & \hyperlink{protocolthe-p}{the} plugin to register. \\
\hline
{\em is\_\-exclusive} & if true, \hyperlink{protocolthe-p}{the} plugin is registered as \hyperlink{protocolthe-p}{the} exclusive plugin, otherwise is added to \hyperlink{protocolthe-p}{the} list of plugins. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a0b03d0d5cc782ac4d7797efa685f0213}{
\index{IfConfig@{IfConfig}!register\_\-ifconfig\_\-vlan\_\-set@{register\_\-ifconfig\_\-vlan\_\-set}}
\index{register\_\-ifconfig\_\-vlan\_\-set@{register\_\-ifconfig\_\-vlan\_\-set}!IfConfig@{IfConfig}}
\subsubsection[{register\_\-ifconfig\_\-vlan\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::register\_\-ifconfig\_\-vlan\_\-set (
\begin{DoxyParamCaption}
\item[{{\bf IfConfigVlanSet} $\ast$}]{ifconfig\_\-vlan\_\-set, }
\item[{bool}]{is\_\-exclusive}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_a0b03d0d5cc782ac4d7797efa685f0213}


Register \hyperlink{classIfConfigVlanSet}{IfConfigVlanSet} plugin. 


\begin{DoxyParams}{Parameters}
{\em ifconfig\_\-vlan\_\-set} & \hyperlink{protocolthe-p}{the} plugin to register. \\
\hline
{\em is\_\-exclusive} & if true, \hyperlink{protocolthe-p}{the} plugin is registered as \hyperlink{protocolthe-p}{the} exclusive plugin, otherwise is added to \hyperlink{protocolthe-p}{the} list of plugins. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classIfConfig_aad30b5111e73c013f25530a0c331c4c2}{
\index{IfConfig@{IfConfig}!report\_\-update@{report\_\-update}}
\index{report\_\-update@{report\_\-update}!IfConfig@{IfConfig}}
\subsubsection[{report\_\-update}]{\setlength{\rightskip}{0pt plus 5cm}bool IfConfig::report\_\-update (
\begin{DoxyParamCaption}
\item[{const {\bf IfTreeInterface} \&}]{fi, }
\item[{const {\bf IfTreeVif} \&}]{fv}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_aad30b5111e73c013f25530a0c331c4c2}


Check \hyperlink{classIfTreeVif}{IfTreeVif} and report updates to IfConfigUpdateReporter. 


\begin{DoxyParams}{Parameters}
{\em fi} & \hyperlink{protocolthe-p}{the} \hyperlink{classIfTreeInterface}{IfTreeInterface} interface instance to check. \\
\hline
{\em fv} & \hyperlink{protocolthe-p}{the} \hyperlink{classIfTreeVif}{IfTreeVif} vif instance to check. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if there were updates to report, otherwise false. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a76ca762597f4d17b0677beb986696472}{
\index{IfConfig@{IfConfig}!report\_\-update@{report\_\-update}}
\index{report\_\-update@{report\_\-update}!IfConfig@{IfConfig}}
\subsubsection[{report\_\-update}]{\setlength{\rightskip}{0pt plus 5cm}bool IfConfig::report\_\-update (
\begin{DoxyParamCaption}
\item[{const {\bf IfTreeInterface} \&}]{fi, }
\item[{const {\bf IfTreeVif} \&}]{fv, }
\item[{const {\bf IfTreeAddr4} \&}]{fa}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_a76ca762597f4d17b0677beb986696472}


Check \hyperlink{classIfTreeAddr4}{IfTreeAddr4} and report updates to IfConfigUpdateReporter. 


\begin{DoxyParams}{Parameters}
{\em fi} & \hyperlink{protocolthe-p}{the} \hyperlink{classIfTreeInterface}{IfTreeInterface} interface instance to check. \\
\hline
{\em fv} & \hyperlink{protocolthe-p}{the} \hyperlink{classIfTreeVif}{IfTreeVif} vif instance to check. \\
\hline
{\em fa} & \hyperlink{protocolthe-p}{the} \hyperlink{classIfTreeAddr4}{IfTreeAddr4} address instance to check. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if there were updates to report, otherwise false. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a61600820140ff74b3823f54857dac74e}{
\index{IfConfig@{IfConfig}!report\_\-update@{report\_\-update}}
\index{report\_\-update@{report\_\-update}!IfConfig@{IfConfig}}
\subsubsection[{report\_\-update}]{\setlength{\rightskip}{0pt plus 5cm}bool IfConfig::report\_\-update (
\begin{DoxyParamCaption}
\item[{const {\bf IfTreeInterface} \&}]{fi}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_a61600820140ff74b3823f54857dac74e}


Check \hyperlink{classIfTreeInterface}{IfTreeInterface} and report updates to IfConfigUpdateReporter. 


\begin{DoxyParams}{Parameters}
{\em fi} & \hyperlink{protocolthe-p}{the} \hyperlink{classIfTreeInterface}{IfTreeInterface} interface instance to check. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if there were updates to report, otherwise false. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a6a82a5400bd31dde54c44c9dc3bd54b6}{
\index{IfConfig@{IfConfig}!report\_\-updates@{report\_\-updates}}
\index{report\_\-updates@{report\_\-updates}!IfConfig@{IfConfig}}
\subsubsection[{report\_\-updates}]{\setlength{\rightskip}{0pt plus 5cm}void IfConfig::report\_\-updates (
\begin{DoxyParamCaption}
\item[{{\bf IfTree} \&}]{iftree}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_a6a82a5400bd31dde54c44c9dc3bd54b6}


Check every item within \hyperlink{classIfTree}{IfTree} and report updates to IfConfigUpdateReporter. 


\begin{DoxyParams}{Parameters}
{\em iftree} & \hyperlink{protocolthe-p}{the} interface tree instance to check. \\
\hline
\end{DoxyParams}
\hypertarget{classIfConfig_a55e88e61cc3dad1dc1b47cf2c6f1377c}{
\index{IfConfig@{IfConfig}!restore\_\-config@{restore\_\-config}}
\index{restore\_\-config@{restore\_\-config}!IfConfig@{IfConfig}}
\subsubsection[{restore\_\-config}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::restore\_\-config (
\begin{DoxyParamCaption}
\item[{const {\bf IfTree} \&}]{old\_\-user\_\-config, }
\item[{const {\bf IfTree} \&}]{old\_\-system\_\-config, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classIfConfig_a55e88e61cc3dad1dc1b47cf2c6f1377c}


Restore \hyperlink{protocolthe-p}{the} interface configuration. 


\begin{DoxyParams}{Parameters}
{\em old\_\-user\_\-config} & \hyperlink{protocolthe-p}{the} old user configuration to restore. \\
\hline
{\em old\_\-system\_\-config} & \hyperlink{protocolthe-p}{the} old system configuration to restore. \\
\hline
{\em error\_\-msg} & \hyperlink{protocolthe-p}{the} error message (if error). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a10a066fe0dd4a09488f2cdc476956689}{
\index{IfConfig@{IfConfig}!restore\_\-original\_\-config\_\-on\_\-shutdown@{restore\_\-original\_\-config\_\-on\_\-shutdown}}
\index{restore\_\-original\_\-config\_\-on\_\-shutdown@{restore\_\-original\_\-config\_\-on\_\-shutdown}!IfConfig@{IfConfig}}
\subsubsection[{restore\_\-original\_\-config\_\-on\_\-shutdown}]{\setlength{\rightskip}{0pt plus 5cm}bool IfConfig::restore\_\-original\_\-config\_\-on\_\-shutdown (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIfConfig_a10a066fe0dd4a09488f2cdc476956689}


Test whether \hyperlink{protocolthe-p}{the} original configuration should be restored on shutdown. 

\begin{DoxyReturn}{Returns}
true of \hyperlink{protocolthe-p}{the} original configuration should be restored on shutdown, otherwise false. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a503ec153f47885b49d5e1d2928d32c9e}{
\index{IfConfig@{IfConfig}!set\_\-merged\_\-config@{set\_\-merged\_\-config}}
\index{set\_\-merged\_\-config@{set\_\-merged\_\-config}!IfConfig@{IfConfig}}
\subsubsection[{set\_\-merged\_\-config}]{\setlength{\rightskip}{0pt plus 5cm}void IfConfig::set\_\-merged\_\-config (
\begin{DoxyParamCaption}
\item[{const {\bf IfTree} \&}]{iftree}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIfConfig_a503ec153f47885b49d5e1d2928d32c9e}


Set \hyperlink{protocolthe-p}{the} merged system-\/user configuration. 


\begin{DoxyParams}{Parameters}
{\em iftree} & \hyperlink{protocolthe-p}{the} merged system-\/user configuration. \\
\hline
\end{DoxyParams}
\hypertarget{classIfConfig_abd28c097c3f32caa5714173e40d41a40}{
\index{IfConfig@{IfConfig}!set\_\-restore\_\-original\_\-config\_\-on\_\-shutdown@{set\_\-restore\_\-original\_\-config\_\-on\_\-shutdown}}
\index{set\_\-restore\_\-original\_\-config\_\-on\_\-shutdown@{set\_\-restore\_\-original\_\-config\_\-on\_\-shutdown}!IfConfig@{IfConfig}}
\subsubsection[{set\_\-restore\_\-original\_\-config\_\-on\_\-shutdown}]{\setlength{\rightskip}{0pt plus 5cm}void IfConfig::set\_\-restore\_\-original\_\-config\_\-on\_\-shutdown (
\begin{DoxyParamCaption}
\item[{bool}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIfConfig_abd28c097c3f32caa5714173e40d41a40}


Set \hyperlink{protocolthe-p}{the} flag whether \hyperlink{protocolthe-p}{the} original configuration should be restored on shutdown. 


\begin{DoxyParams}{Parameters}
{\em v} & if true \hyperlink{protocolthe-p}{the} original configuration should be restored on shutdown. \\
\hline
\end{DoxyParams}
\hypertarget{classIfConfig_a438fabaa4d7f680569b3673bf4296b57}{
\index{IfConfig@{IfConfig}!set\_\-system\_\-config@{set\_\-system\_\-config}}
\index{set\_\-system\_\-config@{set\_\-system\_\-config}!IfConfig@{IfConfig}}
\subsubsection[{set\_\-system\_\-config}]{\setlength{\rightskip}{0pt plus 5cm}void IfConfig::set\_\-system\_\-config (
\begin{DoxyParamCaption}
\item[{const {\bf IfTree} \&}]{iftree}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIfConfig_a438fabaa4d7f680569b3673bf4296b57}


Set \hyperlink{protocolthe-p}{the} system interface configuration. 


\begin{DoxyParams}{Parameters}
{\em iftree} & \hyperlink{protocolthe-p}{the} system interface configuration. \\
\hline
\end{DoxyParams}
\hypertarget{classIfConfig_a9e38ec7d2821d1ec9a5db76cd7c59d6c}{
\index{IfConfig@{IfConfig}!set\_\-user\_\-config@{set\_\-user\_\-config}}
\index{set\_\-user\_\-config@{set\_\-user\_\-config}!IfConfig@{IfConfig}}
\subsubsection[{set\_\-user\_\-config}]{\setlength{\rightskip}{0pt plus 5cm}void IfConfig::set\_\-user\_\-config (
\begin{DoxyParamCaption}
\item[{const {\bf IfTree} \&}]{iftree}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIfConfig_a9e38ec7d2821d1ec9a5db76cd7c59d6c}


Set \hyperlink{protocolthe-p}{the} user interface configuration. 


\begin{DoxyParams}{Parameters}
{\em iftree} & \hyperlink{protocolthe-p}{the} user interface configuration. \\
\hline
\end{DoxyParams}
\hypertarget{classIfConfig_a71f9f46078afcf93826413304861066c}{
\index{IfConfig@{IfConfig}!start@{start}}
\index{start@{start}!IfConfig@{IfConfig}}
\subsubsection[{start}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::start (
\begin{DoxyParamCaption}
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_a71f9f46078afcf93826413304861066c}


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}
\hypertarget{classIfConfig_a3c18ff9e91e64f3964165c2cf7574990}{
\index{IfConfig@{IfConfig}!start\_\-transaction@{start\_\-transaction}}
\index{start\_\-transaction@{start\_\-transaction}!IfConfig@{IfConfig}}
\subsubsection[{start\_\-transaction}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::start\_\-transaction (
\begin{DoxyParamCaption}
\item[{uint32\_\-t \&}]{tid, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_a3c18ff9e91e64f3964165c2cf7574990}


Start interface-\/related transaction. 


\begin{DoxyParams}{Parameters}
{\em tid} & \hyperlink{protocolthe-p}{the} return-\/by-\/reference new transaction ID. \\
\hline
{\em error\_\-msg} & \hyperlink{protocolthe-p}{the} error message (if error). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classIfConfig_afc9df3f6998092b7793520a7a990fa42}{
\index{IfConfig@{IfConfig}!status@{status}}
\index{status@{status}!IfConfig@{IfConfig}}
\subsubsection[{status}]{\setlength{\rightskip}{0pt plus 5cm}ProcessStatus IfConfig::status (
\begin{DoxyParamCaption}
\item[{string \&}]{reason}
\end{DoxyParamCaption}
) const}}
\label{classIfConfig_afc9df3f6998092b7793520a7a990fa42}


Get \hyperlink{protocolthe-p}{the} status code. 


\begin{DoxyParams}{Parameters}
{\em reason} & \hyperlink{protocolthe-p}{the} human-\/readable reason for any failure. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} status code. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a108e123ed17bc701fcf8047d993916e4}{
\index{IfConfig@{IfConfig}!stop@{stop}}
\index{stop@{stop}!IfConfig@{IfConfig}}
\subsubsection[{stop}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::stop (
\begin{DoxyParamCaption}
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_a108e123ed17bc701fcf8047d993916e4}


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}
\hypertarget{classIfConfig_ac9e4916463852d41b2a9d09c22fb8a97}{
\index{IfConfig@{IfConfig}!system\_\-config@{system\_\-config}}
\index{system\_\-config@{system\_\-config}!IfConfig@{IfConfig}}
\subsubsection[{system\_\-config}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IfTree}\& IfConfig::system\_\-config (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIfConfig_ac9e4916463852d41b2a9d09c22fb8a97}


Get a reference to \hyperlink{protocolthe-p}{the} system interface configuration. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} system interface configuration. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a1eb183a830d0b34ffdb7d71c2e275ebe}{
\index{IfConfig@{IfConfig}!unregister\_\-ifconfig\_\-get@{unregister\_\-ifconfig\_\-get}}
\index{unregister\_\-ifconfig\_\-get@{unregister\_\-ifconfig\_\-get}!IfConfig@{IfConfig}}
\subsubsection[{unregister\_\-ifconfig\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::unregister\_\-ifconfig\_\-get (
\begin{DoxyParamCaption}
\item[{{\bf IfConfigGet} $\ast$}]{ifconfig\_\-get}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_a1eb183a830d0b34ffdb7d71c2e275ebe}


Unregister \hyperlink{classIfConfigGet}{IfConfigGet} plugin. 


\begin{DoxyParams}{Parameters}
{\em ifconfig\_\-get} & \hyperlink{protocolthe-p}{the} plugin to unregister. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a4d559148f107aeaf8abe046d88b2faf8}{
\index{IfConfig@{IfConfig}!unregister\_\-ifconfig\_\-observer@{unregister\_\-ifconfig\_\-observer}}
\index{unregister\_\-ifconfig\_\-observer@{unregister\_\-ifconfig\_\-observer}!IfConfig@{IfConfig}}
\subsubsection[{unregister\_\-ifconfig\_\-observer}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::unregister\_\-ifconfig\_\-observer (
\begin{DoxyParamCaption}
\item[{{\bf IfConfigObserver} $\ast$}]{ifconfig\_\-observer}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_a4d559148f107aeaf8abe046d88b2faf8}


Unregister \hyperlink{classIfConfigObserver}{IfConfigObserver} plugin. 


\begin{DoxyParams}{Parameters}
{\em ifconfig\_\-observer} & \hyperlink{protocolthe-p}{the} plugin to unregister. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a31935b1bfe66c2323301298152019d11}{
\index{IfConfig@{IfConfig}!unregister\_\-ifconfig\_\-property@{unregister\_\-ifconfig\_\-property}}
\index{unregister\_\-ifconfig\_\-property@{unregister\_\-ifconfig\_\-property}!IfConfig@{IfConfig}}
\subsubsection[{unregister\_\-ifconfig\_\-property}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::unregister\_\-ifconfig\_\-property (
\begin{DoxyParamCaption}
\item[{{\bf IfConfigProperty} $\ast$}]{ifconfig\_\-property}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_a31935b1bfe66c2323301298152019d11}


Unregister \hyperlink{classIfConfigProperty}{IfConfigProperty} plugin. 


\begin{DoxyParams}{Parameters}
{\em ifconfig\_\-property} & \hyperlink{protocolthe-p}{the} plugin to unregister. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classIfConfig_ad517c1f02af12f1cf67128587e0ff709}{
\index{IfConfig@{IfConfig}!unregister\_\-ifconfig\_\-set@{unregister\_\-ifconfig\_\-set}}
\index{unregister\_\-ifconfig\_\-set@{unregister\_\-ifconfig\_\-set}!IfConfig@{IfConfig}}
\subsubsection[{unregister\_\-ifconfig\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::unregister\_\-ifconfig\_\-set (
\begin{DoxyParamCaption}
\item[{{\bf IfConfigSet} $\ast$}]{ifconfig\_\-set}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_ad517c1f02af12f1cf67128587e0ff709}


Unregister \hyperlink{classIfConfigSet}{IfConfigSet} plugin. 


\begin{DoxyParams}{Parameters}
{\em ifconfig\_\-set} & \hyperlink{protocolthe-p}{the} plugin to unregister. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a4f304156710f911d7f886bae43afcd87}{
\index{IfConfig@{IfConfig}!unregister\_\-ifconfig\_\-vlan\_\-get@{unregister\_\-ifconfig\_\-vlan\_\-get}}
\index{unregister\_\-ifconfig\_\-vlan\_\-get@{unregister\_\-ifconfig\_\-vlan\_\-get}!IfConfig@{IfConfig}}
\subsubsection[{unregister\_\-ifconfig\_\-vlan\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::unregister\_\-ifconfig\_\-vlan\_\-get (
\begin{DoxyParamCaption}
\item[{{\bf IfConfigVlanGet} $\ast$}]{ifconfig\_\-vlan\_\-get}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_a4f304156710f911d7f886bae43afcd87}


Unregister \hyperlink{classIfConfigVlanGet}{IfConfigVlanGet} plugin. 


\begin{DoxyParams}{Parameters}
{\em ifconfig\_\-vlan\_\-get} & \hyperlink{protocolthe-p}{the} plugin to unregister. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classIfConfig_ac495883cf1be026d5828cc536e0fde5d}{
\index{IfConfig@{IfConfig}!unregister\_\-ifconfig\_\-vlan\_\-set@{unregister\_\-ifconfig\_\-vlan\_\-set}}
\index{unregister\_\-ifconfig\_\-vlan\_\-set@{unregister\_\-ifconfig\_\-vlan\_\-set}!IfConfig@{IfConfig}}
\subsubsection[{unregister\_\-ifconfig\_\-vlan\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}int IfConfig::unregister\_\-ifconfig\_\-vlan\_\-set (
\begin{DoxyParamCaption}
\item[{{\bf IfConfigVlanSet} $\ast$}]{ifconfig\_\-vlan\_\-set}
\end{DoxyParamCaption}
)}}
\label{classIfConfig_ac495883cf1be026d5828cc536e0fde5d}


Unregister \hyperlink{classIfConfigVlanSet}{IfConfigVlanSet} plugin. 


\begin{DoxyParams}{Parameters}
{\em ifconfig\_\-vlan\_\-set} & \hyperlink{protocolthe-p}{the} plugin to unregister. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classIfConfig_a9524451620425b0d6af8e88d96e37bb4}{
\index{IfConfig@{IfConfig}!user\_\-config@{user\_\-config}}
\index{user\_\-config@{user\_\-config}!IfConfig@{IfConfig}}
\subsubsection[{user\_\-config}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IfTree}\& IfConfig::user\_\-config (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIfConfig_a9524451620425b0d6af8e88d96e37bb4}


Get a reference to \hyperlink{protocolthe-p}{the} user interface configuration. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} user interface configuration. 
\end{DoxyReturn}


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