\hypertarget{classFeaNode}{
\section{FeaNode Class Reference}
\label{classFeaNode}\index{FeaNode@{FeaNode}}
}


The FEA (Forwarding Engine Abstraction) node class.  




{\ttfamily \#include $<$fea\_\-node.hh$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classFeaNode_ad31c5aa95fc1b302a73b7d2276792182}{FeaNode} (\hyperlink{classEventLoop}{EventLoop} \&eventloop, \hyperlink{classFeaIo}{FeaIo} \&fea\_\-io, bool is\_\-dummy)
\begin{DoxyCompactList}\small\item\em Constructor for a given event loop. \item\end{DoxyCompactList}\item 
\hypertarget{classFeaNode_ac2bd877349be0241230aa7a50012967a}{
virtual \hyperlink{classFeaNode_ac2bd877349be0241230aa7a50012967a}{$\sim$FeaNode} ()}
\label{classFeaNode_ac2bd877349be0241230aa7a50012967a}

\begin{DoxyCompactList}\small\item\em Destructor. \item\end{DoxyCompactList}\item 
int \hyperlink{classFeaNode_af6d6f6f6532f94071d4f894abb7eb857}{startup} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{classStartup}{Startup} \hyperlink{protocolthe-p}{the} service operation. \item\end{DoxyCompactList}\item 
int \hyperlink{classFeaNode_a62cdb2a76bfc860013775bd19fe7c09a}{shutdown} ()
\begin{DoxyCompactList}\small\item\em \hyperlink{classShutdown}{Shutdown} \hyperlink{protocolthe-p}{the} service operation. \item\end{DoxyCompactList}\item 
bool \hyperlink{classFeaNode_ac7c20b074ccfe07acf0bd8bb154d9a28}{is\_\-running} () const 
\begin{DoxyCompactList}\small\item\em Test whether \hyperlink{protocolthe-p}{the} service is running. \item\end{DoxyCompactList}\item 
bool \hyperlink{classFeaNode_ad9d0a9c98662f881ce1b199e9494e13b}{have\_\-ipv4} () const 
\begin{DoxyCompactList}\small\item\em Return true if \hyperlink{protocolthe-p}{the} underlying system supports \hyperlink{classIPv4}{IPv4}. \item\end{DoxyCompactList}\item 
bool \hyperlink{classFeaNode_a4cdcd27136c140e1ca7741ba0bd75936}{have\_\-ipv6} () const 
\begin{DoxyCompactList}\small\item\em Return true if \hyperlink{protocolthe-p}{the} underlying system supports \hyperlink{classIPv6}{IPv6}. \item\end{DoxyCompactList}\item 
bool \hyperlink{classFeaNode_a62ce5084960c781f489e98f6eecbc203}{is\_\-dummy} () const 
\begin{DoxyCompactList}\small\item\em Test if running in dummy mode. \item\end{DoxyCompactList}\item 
\hyperlink{classEventLoop}{EventLoop} \& \hyperlink{classFeaNode_ace2515a9da9336e69d376bd7c5e17d59}{eventloop} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} event loop this service is added to. \item\end{DoxyCompactList}\item 
\hyperlink{classProfile}{Profile} \& \hyperlink{classFeaNode_ada2ac9ddacd3a3a385a7e3164c3e328c}{profile} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classProfile}{Profile} instance. \item\end{DoxyCompactList}\item 
\hyperlink{classNexthopPortMapper}{NexthopPortMapper} \& \hyperlink{classFeaNode_aed6d6975135ebfc4d0796cd5becea8eb}{nexthop\_\-port\_\-mapper} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classNexthopPortMapper}{NexthopPortMapper} instance. \item\end{DoxyCompactList}\item 
\hyperlink{classIfConfig}{IfConfig} \& \hyperlink{classFeaNode_a96470bf5fe846714daf134b3e1b68e6d}{ifconfig} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfig}{IfConfig} instance. \item\end{DoxyCompactList}\item 
\hyperlink{classFirewallManager}{FirewallManager} \& \hyperlink{classFeaNode_ab78802b751a876663b6598bfcc14135e}{firewall\_\-manager} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classFirewallManager}{FirewallManager} instance. \item\end{DoxyCompactList}\item 
\hyperlink{classFibConfig}{FibConfig} \& \hyperlink{classFeaNode_a75838cfb4661103bedd842074430a78c}{fibconfig} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfig}{FibConfig} instance. \item\end{DoxyCompactList}\item 
\hyperlink{classIoLinkManager}{IoLinkManager} \& \hyperlink{classFeaNode_a5b20f725c1f42803c007f2f17e448edf}{io\_\-link\_\-manager} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classIoLinkManager}{IoLinkManager} instance. \item\end{DoxyCompactList}\item 
\hyperlink{classIoIpManager}{IoIpManager} \& \hyperlink{classFeaNode_ae15b6387f91d866306d634b2f9e8c91d}{io\_\-ip\_\-manager} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classIoIpManager}{IoIpManager} instance. \item\end{DoxyCompactList}\item 
\hyperlink{classIoTcpUdpManager}{IoTcpUdpManager} \& \hyperlink{classFeaNode_a840a20e3023bd8e3978e5d5fe8d95286}{io\_\-tcpudp\_\-manager} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classIoTcpUdpManager}{IoTcpUdpManager} instance. \item\end{DoxyCompactList}\item 
int \hyperlink{classFeaNode_a40a207bcc07eb090c210c847f235ffaf}{register\_\-data\_\-plane\_\-manager} (\hyperlink{classFeaDataPlaneManager}{FeaDataPlaneManager} $\ast$fea\_\-data\_\-plane\_\-manager, bool is\_\-exclusive)
\begin{DoxyCompactList}\small\item\em Register \hyperlink{classFeaDataPlaneManager}{FeaDataPlaneManager} data plane manager. \item\end{DoxyCompactList}\item 
int \hyperlink{classFeaNode_a0d623abcefe53721cc22cf5bc4cfe4a0}{unregister\_\-data\_\-plane\_\-manager} (\hyperlink{classFeaDataPlaneManager}{FeaDataPlaneManager} $\ast$fea\_\-data\_\-plane\_\-manager)
\begin{DoxyCompactList}\small\item\em Unregister \hyperlink{classFeaDataPlaneManager}{FeaDataPlaneManager} data plane manager. \item\end{DoxyCompactList}\item 
\hyperlink{classFeaIo}{FeaIo} \& \hyperlink{classFeaNode_aa6aa46316f7bbdf1241a54bd5e81b627}{fea\_\-io} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} FEA I/O instance. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{classFeaNode_a25d2e5affd6155936899dae5bce89966}{load\_\-data\_\-plane\_\-managers} (string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em \hyperlink{classLoad}{Load} \hyperlink{protocolthe-p}{the} data plane managers. \item\end{DoxyCompactList}\item 
int \hyperlink{classFeaNode_a821a0a3b837b38198b3eefb0926bc03f}{unload\_\-data\_\-plane\_\-managers} (string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Unload \hyperlink{protocolthe-p}{the} data plane managers. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classFeaNode_ab4739d4e788904fb1b0bf52d7188a929}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries \_\-eventloop}}
\label{classFeaNode_ab4739d4e788904fb1b0bf52d7188a929}

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

\item 
\hypertarget{classFeaNode_a4eca2829720709f27dd180314acc35ff}{
bool {\bfseries \_\-is\_\-dummy}}
\label{classFeaNode_a4eca2829720709f27dd180314acc35ff}

\item 
\hypertarget{classFeaNode_a0c83a96238d3caaa307bc0b624c7c6ec}{
\hyperlink{classProfile}{Profile} {\bfseries \_\-profile}}
\label{classFeaNode_a0c83a96238d3caaa307bc0b624c7c6ec}

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

\item 
\hypertarget{classFeaNode_a0a99141d93010842d2cc22cffcd6a818}{
\hyperlink{classIfConfig}{IfConfig} {\bfseries \_\-ifconfig}}
\label{classFeaNode_a0a99141d93010842d2cc22cffcd6a818}

\item 
\hypertarget{classFeaNode_a8e20006f745d1b61d3689ae8f8db2d03}{
\hyperlink{classFirewallManager}{FirewallManager} {\bfseries \_\-firewall\_\-manager}}
\label{classFeaNode_a8e20006f745d1b61d3689ae8f8db2d03}

\item 
\hypertarget{classFeaNode_a83ffd1312189e2a602bd775076bacf41}{
\hyperlink{classFibConfig}{FibConfig} {\bfseries \_\-fibconfig}}
\label{classFeaNode_a83ffd1312189e2a602bd775076bacf41}

\item 
\hypertarget{classFeaNode_a1718d289104befb44ed4b29ab2e95de0}{
\hyperlink{classIoLinkManager}{IoLinkManager} {\bfseries \_\-io\_\-link\_\-manager}}
\label{classFeaNode_a1718d289104befb44ed4b29ab2e95de0}

\item 
\hypertarget{classFeaNode_a817f1fbdf21277de214e4a99dd75afe9}{
\hyperlink{classIoIpManager}{IoIpManager} {\bfseries \_\-io\_\-ip\_\-manager}}
\label{classFeaNode_a817f1fbdf21277de214e4a99dd75afe9}

\item 
\hypertarget{classFeaNode_a82186a5897bc520c8e3cf239366fbbc9}{
\hyperlink{classIoTcpUdpManager}{IoTcpUdpManager} {\bfseries \_\-io\_\-tcpudp\_\-manager}}
\label{classFeaNode_a82186a5897bc520c8e3cf239366fbbc9}

\item 
\hypertarget{classFeaNode_a140a919689ea9a1725f5184b42e0d3be}{
list$<$ \hyperlink{classFeaDataPlaneManager}{FeaDataPlaneManager} $\ast$ $>$ {\bfseries \_\-fea\_\-data\_\-plane\_\-managers}}
\label{classFeaNode_a140a919689ea9a1725f5184b42e0d3be}

\item 
\hypertarget{classFeaNode_a6acd3ca86880663c3b7073e394f9bd0e}{
\hyperlink{classFeaIo}{FeaIo} \& {\bfseries \_\-fea\_\-io}}
\label{classFeaNode_a6acd3ca86880663c3b7073e394f9bd0e}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
The FEA (Forwarding Engine Abstraction) node class. There should be one node per FEA instance. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classFeaNode_ad31c5aa95fc1b302a73b7d2276792182}{
\index{FeaNode@{FeaNode}!FeaNode@{FeaNode}}
\index{FeaNode@{FeaNode}!FeaNode@{FeaNode}}
\subsubsection[{FeaNode}]{\setlength{\rightskip}{0pt plus 5cm}FeaNode::FeaNode (
\begin{DoxyParamCaption}
\item[{{\bf EventLoop} \&}]{eventloop, }
\item[{{\bf FeaIo} \&}]{fea\_\-io, }
\item[{bool}]{is\_\-dummy}
\end{DoxyParamCaption}
)}}
\label{classFeaNode_ad31c5aa95fc1b302a73b7d2276792182}


Constructor for a given event loop. 


\begin{DoxyParams}{Parameters}
{\em eventloop} & \hyperlink{protocolthe-p}{the} event loop to use. \\
\hline
{\em fea\_\-io} & \hyperlink{protocolthe-p}{the} \hyperlink{classFeaIo}{FeaIo} instance to use. \\
\hline
{\em is\_\-dummy} & if true, then run \hyperlink{protocolthe-p}{the} FEA in dummy mode. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classFeaNode_ace2515a9da9336e69d376bd7c5e17d59}{
\index{FeaNode@{FeaNode}!eventloop@{eventloop}}
\index{eventloop@{eventloop}!FeaNode@{FeaNode}}
\subsubsection[{eventloop}]{\setlength{\rightskip}{0pt plus 5cm}{\bf EventLoop}\& FeaNode::eventloop (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaNode_ace2515a9da9336e69d376bd7c5e17d59}


Get \hyperlink{protocolthe-p}{the} event loop this service is added to. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} event loop this service is added to. 
\end{DoxyReturn}
\hypertarget{classFeaNode_aa6aa46316f7bbdf1241a54bd5e81b627}{
\index{FeaNode@{FeaNode}!fea\_\-io@{fea\_\-io}}
\index{fea\_\-io@{fea\_\-io}!FeaNode@{FeaNode}}
\subsubsection[{fea\_\-io}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FeaIo}\& FeaNode::fea\_\-io (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaNode_aa6aa46316f7bbdf1241a54bd5e81b627}


Get \hyperlink{protocolthe-p}{the} FEA I/O instance. 

\begin{DoxyReturn}{Returns}
reference to \hyperlink{protocolthe-p}{the} FEA I/O instance. 
\end{DoxyReturn}
\hypertarget{classFeaNode_a75838cfb4661103bedd842074430a78c}{
\index{FeaNode@{FeaNode}!fibconfig@{fibconfig}}
\index{fibconfig@{fibconfig}!FeaNode@{FeaNode}}
\subsubsection[{fibconfig}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FibConfig}\& FeaNode::fibconfig (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaNode_a75838cfb4661103bedd842074430a78c}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfig}{FibConfig} instance. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfig}{FibConfig} instance. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{classFibConfig}{FibConfig}. 
\end{DoxySeeAlso}
\hypertarget{classFeaNode_ab78802b751a876663b6598bfcc14135e}{
\index{FeaNode@{FeaNode}!firewall\_\-manager@{firewall\_\-manager}}
\index{firewall\_\-manager@{firewall\_\-manager}!FeaNode@{FeaNode}}
\subsubsection[{firewall\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FirewallManager}\& FeaNode::firewall\_\-manager (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaNode_ab78802b751a876663b6598bfcc14135e}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classFirewallManager}{FirewallManager} instance. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classFirewallManager}{FirewallManager} instance. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{classFirewallManager}{FirewallManager}. 
\end{DoxySeeAlso}
\hypertarget{classFeaNode_ad9d0a9c98662f881ce1b199e9494e13b}{
\index{FeaNode@{FeaNode}!have\_\-ipv4@{have\_\-ipv4}}
\index{have\_\-ipv4@{have\_\-ipv4}!FeaNode@{FeaNode}}
\subsubsection[{have\_\-ipv4}]{\setlength{\rightskip}{0pt plus 5cm}bool FeaNode::have\_\-ipv4 (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classFeaNode_ad9d0a9c98662f881ce1b199e9494e13b}


Return true if \hyperlink{protocolthe-p}{the} underlying system supports \hyperlink{classIPv4}{IPv4}. 

\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} underlying system supports \hyperlink{classIPv4}{IPv4}, otherwise false. 
\end{DoxyReturn}
\hypertarget{classFeaNode_a4cdcd27136c140e1ca7741ba0bd75936}{
\index{FeaNode@{FeaNode}!have\_\-ipv6@{have\_\-ipv6}}
\index{have\_\-ipv6@{have\_\-ipv6}!FeaNode@{FeaNode}}
\subsubsection[{have\_\-ipv6}]{\setlength{\rightskip}{0pt plus 5cm}bool FeaNode::have\_\-ipv6 (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classFeaNode_a4cdcd27136c140e1ca7741ba0bd75936}


Return true if \hyperlink{protocolthe-p}{the} underlying system supports \hyperlink{classIPv6}{IPv6}. 

\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} underlying system supports \hyperlink{classIPv6}{IPv6}, otherwise false. 
\end{DoxyReturn}
\hypertarget{classFeaNode_a96470bf5fe846714daf134b3e1b68e6d}{
\index{FeaNode@{FeaNode}!ifconfig@{ifconfig}}
\index{ifconfig@{ifconfig}!FeaNode@{FeaNode}}
\subsubsection[{ifconfig}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IfConfig}\& FeaNode::ifconfig (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaNode_a96470bf5fe846714daf134b3e1b68e6d}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfig}{IfConfig} instance. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfig}{IfConfig} instance. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{classIfConfig}{IfConfig}. 
\end{DoxySeeAlso}
\hypertarget{classFeaNode_ae15b6387f91d866306d634b2f9e8c91d}{
\index{FeaNode@{FeaNode}!io\_\-ip\_\-manager@{io\_\-ip\_\-manager}}
\index{io\_\-ip\_\-manager@{io\_\-ip\_\-manager}!FeaNode@{FeaNode}}
\subsubsection[{io\_\-ip\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IoIpManager}\& FeaNode::io\_\-ip\_\-manager (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaNode_ae15b6387f91d866306d634b2f9e8c91d}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classIoIpManager}{IoIpManager} instance. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classIoIpManager}{IoIpManager} instance. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{classIoIpManager}{IoIpManager}. 
\end{DoxySeeAlso}
\hypertarget{classFeaNode_a5b20f725c1f42803c007f2f17e448edf}{
\index{FeaNode@{FeaNode}!io\_\-link\_\-manager@{io\_\-link\_\-manager}}
\index{io\_\-link\_\-manager@{io\_\-link\_\-manager}!FeaNode@{FeaNode}}
\subsubsection[{io\_\-link\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IoLinkManager}\& FeaNode::io\_\-link\_\-manager (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaNode_a5b20f725c1f42803c007f2f17e448edf}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classIoLinkManager}{IoLinkManager} instance. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classIoLinkManager}{IoLinkManager} instance. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{classIoLinkManager}{IoLinkManager}. 
\end{DoxySeeAlso}
\hypertarget{classFeaNode_a840a20e3023bd8e3978e5d5fe8d95286}{
\index{FeaNode@{FeaNode}!io\_\-tcpudp\_\-manager@{io\_\-tcpudp\_\-manager}}
\index{io\_\-tcpudp\_\-manager@{io\_\-tcpudp\_\-manager}!FeaNode@{FeaNode}}
\subsubsection[{io\_\-tcpudp\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IoTcpUdpManager}\& FeaNode::io\_\-tcpudp\_\-manager (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaNode_a840a20e3023bd8e3978e5d5fe8d95286}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classIoTcpUdpManager}{IoTcpUdpManager} instance. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classIoTcpUdpManager}{IoTcpUdpManager} instance. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{classIoTcpUdpManager}{IoTcpUdpManager}. 
\end{DoxySeeAlso}
\hypertarget{classFeaNode_a62ce5084960c781f489e98f6eecbc203}{
\index{FeaNode@{FeaNode}!is\_\-dummy@{is\_\-dummy}}
\index{is\_\-dummy@{is\_\-dummy}!FeaNode@{FeaNode}}
\subsubsection[{is\_\-dummy}]{\setlength{\rightskip}{0pt plus 5cm}bool FeaNode::is\_\-dummy (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaNode_a62ce5084960c781f489e98f6eecbc203}


Test if running in dummy mode. 

\begin{DoxyReturn}{Returns}
true if running in dummy mode, otherwise false. 
\end{DoxyReturn}
\hypertarget{classFeaNode_ac7c20b074ccfe07acf0bd8bb154d9a28}{
\index{FeaNode@{FeaNode}!is\_\-running@{is\_\-running}}
\index{is\_\-running@{is\_\-running}!FeaNode@{FeaNode}}
\subsubsection[{is\_\-running}]{\setlength{\rightskip}{0pt plus 5cm}bool FeaNode::is\_\-running (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classFeaNode_ac7c20b074ccfe07acf0bd8bb154d9a28}


Test whether \hyperlink{protocolthe-p}{the} service is running. 

\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} service is still running, otherwise false. 
\end{DoxyReturn}
\hypertarget{classFeaNode_a25d2e5affd6155936899dae5bce89966}{
\index{FeaNode@{FeaNode}!load\_\-data\_\-plane\_\-managers@{load\_\-data\_\-plane\_\-managers}}
\index{load\_\-data\_\-plane\_\-managers@{load\_\-data\_\-plane\_\-managers}!FeaNode@{FeaNode}}
\subsubsection[{load\_\-data\_\-plane\_\-managers}]{\setlength{\rightskip}{0pt plus 5cm}int FeaNode::load\_\-data\_\-plane\_\-managers (
\begin{DoxyParamCaption}
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classFeaNode_a25d2e5affd6155936899dae5bce89966}


\hyperlink{classLoad}{Load} \hyperlink{protocolthe-p}{the} data plane managers. 


\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{classFeaNode_aed6d6975135ebfc4d0796cd5becea8eb}{
\index{FeaNode@{FeaNode}!nexthop\_\-port\_\-mapper@{nexthop\_\-port\_\-mapper}}
\index{nexthop\_\-port\_\-mapper@{nexthop\_\-port\_\-mapper}!FeaNode@{FeaNode}}
\subsubsection[{nexthop\_\-port\_\-mapper}]{\setlength{\rightskip}{0pt plus 5cm}{\bf NexthopPortMapper}\& FeaNode::nexthop\_\-port\_\-mapper (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaNode_aed6d6975135ebfc4d0796cd5becea8eb}


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

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classNexthopPortMapper}{NexthopPortMapper} instance. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{classNexthopPortMapper}{NexthopPortMapper}. 
\end{DoxySeeAlso}
\hypertarget{classFeaNode_ada2ac9ddacd3a3a385a7e3164c3e328c}{
\index{FeaNode@{FeaNode}!profile@{profile}}
\index{profile@{profile}!FeaNode@{FeaNode}}
\subsubsection[{profile}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Profile}\& FeaNode::profile (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaNode_ada2ac9ddacd3a3a385a7e3164c3e328c}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classProfile}{Profile} instance. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classProfile}{Profile} instance. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\hyperlink{classProfile}{Profile}. 
\end{DoxySeeAlso}
\hypertarget{classFeaNode_a40a207bcc07eb090c210c847f235ffaf}{
\index{FeaNode@{FeaNode}!register\_\-data\_\-plane\_\-manager@{register\_\-data\_\-plane\_\-manager}}
\index{register\_\-data\_\-plane\_\-manager@{register\_\-data\_\-plane\_\-manager}!FeaNode@{FeaNode}}
\subsubsection[{register\_\-data\_\-plane\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}int FeaNode::register\_\-data\_\-plane\_\-manager (
\begin{DoxyParamCaption}
\item[{{\bf FeaDataPlaneManager} $\ast$}]{fea\_\-data\_\-plane\_\-manager, }
\item[{bool}]{is\_\-exclusive}
\end{DoxyParamCaption}
)}}
\label{classFeaNode_a40a207bcc07eb090c210c847f235ffaf}


Register \hyperlink{classFeaDataPlaneManager}{FeaDataPlaneManager} data plane manager. 


\begin{DoxyParams}{Parameters}
{\em fea\_\-data\_\-plane\_\-manager} & \hyperlink{protocolthe-p}{the} data plane manager to register. \\
\hline
{\em is\_\-exclusive} & if true, \hyperlink{protocolthe-p}{the} manager is registered as \hyperlink{protocolthe-p}{the} exclusive manager, otherwise is added to \hyperlink{protocolthe-p}{the} list of managers. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classFeaNode_a62cdb2a76bfc860013775bd19fe7c09a}{
\index{FeaNode@{FeaNode}!shutdown@{shutdown}}
\index{shutdown@{shutdown}!FeaNode@{FeaNode}}
\subsubsection[{shutdown}]{\setlength{\rightskip}{0pt plus 5cm}int FeaNode::shutdown (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classFeaNode_a62cdb2a76bfc860013775bd19fe7c09a}


\hyperlink{classShutdown}{Shutdown} \hyperlink{protocolthe-p}{the} service operation. 

Gracefully shutdown \hyperlink{protocolthe-p}{the} FEA.

\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classFeaNode_af6d6f6f6532f94071d4f894abb7eb857}{
\index{FeaNode@{FeaNode}!startup@{startup}}
\index{startup@{startup}!FeaNode@{FeaNode}}
\subsubsection[{startup}]{\setlength{\rightskip}{0pt plus 5cm}int FeaNode::startup (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classFeaNode_af6d6f6f6532f94071d4f894abb7eb857}


\hyperlink{classStartup}{Startup} \hyperlink{protocolthe-p}{the} service operation. 

\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classFeaNode_a821a0a3b837b38198b3eefb0926bc03f}{
\index{FeaNode@{FeaNode}!unload\_\-data\_\-plane\_\-managers@{unload\_\-data\_\-plane\_\-managers}}
\index{unload\_\-data\_\-plane\_\-managers@{unload\_\-data\_\-plane\_\-managers}!FeaNode@{FeaNode}}
\subsubsection[{unload\_\-data\_\-plane\_\-managers}]{\setlength{\rightskip}{0pt plus 5cm}int FeaNode::unload\_\-data\_\-plane\_\-managers (
\begin{DoxyParamCaption}
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classFeaNode_a821a0a3b837b38198b3eefb0926bc03f}


Unload \hyperlink{protocolthe-p}{the} data plane managers. 


\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{classFeaNode_a0d623abcefe53721cc22cf5bc4cfe4a0}{
\index{FeaNode@{FeaNode}!unregister\_\-data\_\-plane\_\-manager@{unregister\_\-data\_\-plane\_\-manager}}
\index{unregister\_\-data\_\-plane\_\-manager@{unregister\_\-data\_\-plane\_\-manager}!FeaNode@{FeaNode}}
\subsubsection[{unregister\_\-data\_\-plane\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}int FeaNode::unregister\_\-data\_\-plane\_\-manager (
\begin{DoxyParamCaption}
\item[{{\bf FeaDataPlaneManager} $\ast$}]{fea\_\-data\_\-plane\_\-manager}
\end{DoxyParamCaption}
)}}
\label{classFeaNode_a0d623abcefe53721cc22cf5bc4cfe4a0}


Unregister \hyperlink{classFeaDataPlaneManager}{FeaDataPlaneManager} data plane manager. 


\begin{DoxyParams}{Parameters}
{\em fea\_\-data\_\-plane\_\-manager} & \hyperlink{protocolthe-p}{the} data plane manager to unregister. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


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