\hypertarget{classFeaDataPlaneManager}{
\section{FeaDataPlaneManager Class Reference}
\label{classFeaDataPlaneManager}\index{FeaDataPlaneManager@{FeaDataPlaneManager}}
}


FEA data plane manager base class.  




{\ttfamily \#include $<$fea\_\-data\_\-plane\_\-manager.hh$>$}

Inheritance diagram for FeaDataPlaneManager:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.857380cm]{classFeaDataPlaneManager}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classFeaDataPlaneManager_a28c5546b45c15ba437d7e9d4ec2ca1d8}{FeaDataPlaneManager} (\hyperlink{classFeaNode}{FeaNode} \&fea\_\-node, const string \&manager\_\-name)
\begin{DoxyCompactList}\small\item\em Constructor. \item\end{DoxyCompactList}\item 
\hypertarget{classFeaDataPlaneManager_a48075b57fb41eab24d65466405632f99}{
virtual \hyperlink{classFeaDataPlaneManager_a48075b57fb41eab24d65466405632f99}{$\sim$FeaDataPlaneManager} ()}
\label{classFeaDataPlaneManager_a48075b57fb41eab24d65466405632f99}

\begin{DoxyCompactList}\small\item\em Virtual destructor. \item\end{DoxyCompactList}\item 
const string \& \hyperlink{classFeaDataPlaneManager_a09417479707c1ec32c531ddcb316467c}{manager\_\-name} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} data plane manager name. \item\end{DoxyCompactList}\item 
virtual int \hyperlink{classFeaDataPlaneManager_abd06ffd130bbf3a2765b67582e3ee820}{start\_\-manager} (string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Start data plane manager operation. \item\end{DoxyCompactList}\item 
virtual int \hyperlink{classFeaDataPlaneManager_a385dcb4d63649a5e41c856f697b54cfb}{stop\_\-manager} (string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Stop data plane manager operation. \item\end{DoxyCompactList}\item 
virtual int \hyperlink{classFeaDataPlaneManager_a7c77db8543aa18d3f10522d3fe782bc4}{load\_\-plugins} (string \&error\_\-msg)=0
\begin{DoxyCompactList}\small\item\em \hyperlink{classLoad}{Load} \hyperlink{protocolthe-p}{the} plugins. \item\end{DoxyCompactList}\item 
virtual int \hyperlink{classFeaDataPlaneManager_a21d4655b8ec7ae818544493151ad775c}{unload\_\-plugins} (string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Unload \hyperlink{protocolthe-p}{the} plugins. \item\end{DoxyCompactList}\item 
virtual int \hyperlink{classFeaDataPlaneManager_aef4efc9f913f3f55af8c75586c3320d4}{register\_\-plugins} (string \&error\_\-msg)=0
\begin{DoxyCompactList}\small\item\em Register \hyperlink{protocolthe-p}{the} plugins. \item\end{DoxyCompactList}\item 
virtual int \hyperlink{classFeaDataPlaneManager_a99b1e23030aabff42e6e1de273f32eea}{unregister\_\-plugins} (string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Unregister \hyperlink{protocolthe-p}{the} plugins. \item\end{DoxyCompactList}\item 
virtual int \hyperlink{classFeaDataPlaneManager_a1ae61d37855b45d251d1bdb7fe43bb25}{start\_\-plugins} (string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Start plugins operation. \item\end{DoxyCompactList}\item 
virtual int \hyperlink{classFeaDataPlaneManager_a90d3988dd2d4bc7ec3fb329946f31311}{stop\_\-plugins} (string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Stop plugins operation. \item\end{DoxyCompactList}\item 
\hyperlink{classEventLoop}{EventLoop} \& \hyperlink{classFeaDataPlaneManager_a0f865fbcee5916e82ce30962ad5e2b45}{eventloop} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} event loop this instance is added to. \item\end{DoxyCompactList}\item 
virtual bool \hyperlink{classFeaDataPlaneManager_a0fa1c2f5d01d1a02941677273098e771}{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 
virtual bool \hyperlink{classFeaDataPlaneManager_aec017cfc1bce4bb1afd28aa671c5d0bc}{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 
\hyperlink{classIfConfig}{IfConfig} \& \hyperlink{classFeaDataPlaneManager_ab1d53b6716d1133410f22c8ce817f218}{ifconfig} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfig}{IfConfig} instance. \item\end{DoxyCompactList}\item 
\hyperlink{classFirewallManager}{FirewallManager} \& \hyperlink{classFeaDataPlaneManager_adc6a6235b1e107e6486f48c535641462}{firewall\_\-manager} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classFirewallManager}{FirewallManager} instance. \item\end{DoxyCompactList}\item 
\hyperlink{classFirewallGet}{FirewallGet} $\ast$ \hyperlink{classFeaDataPlaneManager_a5cc6f8528a101b98c709c05522b1efdc}{firewall\_\-get} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classFirewallGet}{FirewallGet} plugin. \item\end{DoxyCompactList}\item 
\hyperlink{classFirewallSet}{FirewallSet} $\ast$ \hyperlink{classFeaDataPlaneManager_af96aaede3ab0740b79b046d5b87c01b3}{firewall\_\-set} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classFirewallSet}{FirewallSet} plugin. \item\end{DoxyCompactList}\item 
\hyperlink{classFibConfig}{FibConfig} \& \hyperlink{classFeaDataPlaneManager_a87083e694460666f8c3db70868192cc4}{fibconfig} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfig}{FibConfig} instance. \item\end{DoxyCompactList}\item 
\hyperlink{classIoLinkManager}{IoLinkManager} \& \hyperlink{classFeaDataPlaneManager_aa0c2f03db9f125b3ebddabbb48b4a96f}{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{classFeaDataPlaneManager_ad615b1d257ebd0f36314fb99d842d71f}{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{classFeaDataPlaneManager_afb9ca7fc9f16ad0725e5abf8bd515ddc}{io\_\-tcpudp\_\-manager} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classIoTcpUdpManager}{IoTcpUdpManager} instance. \item\end{DoxyCompactList}\item 
\hyperlink{classIfConfigProperty}{IfConfigProperty} $\ast$ \hyperlink{classFeaDataPlaneManager_a64e0dc9ace532c0e4f00f84a4680331f}{ifconfig\_\-property} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigProperty}{IfConfigProperty} plugin. \item\end{DoxyCompactList}\item 
\hyperlink{classIfConfigGet}{IfConfigGet} $\ast$ \hyperlink{classFeaDataPlaneManager_ac111b91c5d0711ce63bc556db1b97be0}{ifconfig\_\-get} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigGet}{IfConfigGet} plugin. \item\end{DoxyCompactList}\item 
\hyperlink{classIfConfigSet}{IfConfigSet} $\ast$ \hyperlink{classFeaDataPlaneManager_a253d26fc6b966b488dbf76b836e35e42}{ifconfig\_\-set} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigSet}{IfConfigSet} plugin. \item\end{DoxyCompactList}\item 
\hyperlink{classIfConfigObserver}{IfConfigObserver} $\ast$ \hyperlink{classFeaDataPlaneManager_af7fd25be9ef7fbf8ef720f5299e04c37}{ifconfig\_\-observer} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigObserver}{IfConfigObserver} plugin. \item\end{DoxyCompactList}\item 
\hyperlink{classIfConfigVlanGet}{IfConfigVlanGet} $\ast$ \hyperlink{classFeaDataPlaneManager_a0d88c288fe40ce63d15ace7064ccdbbb}{ifconfig\_\-vlan\_\-get} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigVlanGet}{IfConfigVlanGet} plugin. \item\end{DoxyCompactList}\item 
\hyperlink{classIfConfigVlanSet}{IfConfigVlanSet} $\ast$ \hyperlink{classFeaDataPlaneManager_a9a16e79ff85a49ba5a826e69250cdb05}{ifconfig\_\-vlan\_\-set} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigVlanSet}{IfConfigVlanSet} plugin. \item\end{DoxyCompactList}\item 
\hyperlink{classFibConfigForwarding}{FibConfigForwarding} $\ast$ \hyperlink{classFeaDataPlaneManager_aa8fc4c2280c617aa457439403a65a060}{fibconfig\_\-forwarding} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigForwarding}{FibConfigForwarding} plugin. \item\end{DoxyCompactList}\item 
\hyperlink{classFibConfigEntryGet}{FibConfigEntryGet} $\ast$ \hyperlink{classFeaDataPlaneManager_a3e6a22b941e0d52037243e4e21f53ab0}{fibconfig\_\-entry\_\-get} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigEntryGet}{FibConfigEntryGet} plugin. \item\end{DoxyCompactList}\item 
\hyperlink{classFibConfigEntrySet}{FibConfigEntrySet} $\ast$ \hyperlink{classFeaDataPlaneManager_aea9fd18bfe26af3298be862c2006ea9b}{fibconfig\_\-entry\_\-set} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigEntrySet}{FibConfigEntrySet} plugin. \item\end{DoxyCompactList}\item 
\hyperlink{classFibConfigEntryObserver}{FibConfigEntryObserver} $\ast$ \hyperlink{classFeaDataPlaneManager_a050f31b4facfb100ab5ce53373d3b9fd}{fibconfig\_\-entry\_\-observer} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigEntryObserver}{FibConfigEntryObserver} plugin. \item\end{DoxyCompactList}\item 
\hyperlink{classFibConfigTableGet}{FibConfigTableGet} $\ast$ \hyperlink{classFeaDataPlaneManager_a9c0e0ba1c3a9049df14d3873113d9c76}{fibconfig\_\-table\_\-get} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigTableGet}{FibConfigTableGet} plugin. \item\end{DoxyCompactList}\item 
\hyperlink{classFibConfigTableSet}{FibConfigTableSet} $\ast$ \hyperlink{classFeaDataPlaneManager_aacc134baefa8ac9a527a263df089e68f}{fibconfig\_\-table\_\-set} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigTableSet}{FibConfigTableSet} plugin. \item\end{DoxyCompactList}\item 
\hyperlink{classFibConfigTableObserver}{FibConfigTableObserver} $\ast$ \hyperlink{classFeaDataPlaneManager_ae0ea8d5f40f10f70629ff20221cc80b5}{fibconfig\_\-table\_\-observer} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigTableObserver}{FibConfigTableObserver} plugin. \item\end{DoxyCompactList}\item 
virtual \hyperlink{classIoLink}{IoLink} $\ast$ \hyperlink{classFeaDataPlaneManager_aeb847c83fef14005be7c985e65d676b5}{allocate\_\-io\_\-link} (const \hyperlink{classIfTree}{IfTree} \&iftree, const string \&if\_\-name, const string \&vif\_\-name, uint16\_\-t ether\_\-type, const string \&filter\_\-program)=0
\begin{DoxyCompactList}\small\item\em Allocate \hyperlink{classIoLink}{IoLink} plugin instance. \item\end{DoxyCompactList}\item 
virtual void \hyperlink{classFeaDataPlaneManager_abc09a049bfcbd493719e71484f48c6ac}{deallocate\_\-io\_\-link} (\hyperlink{classIoLink}{IoLink} $\ast$io\_\-link)
\begin{DoxyCompactList}\small\item\em De-\/allocate \hyperlink{classIoLink}{IoLink} plugin. \item\end{DoxyCompactList}\item 
virtual \hyperlink{classIoIp}{IoIp} $\ast$ \hyperlink{classFeaDataPlaneManager_a645dffd83d82c78310d5caaf5fd0c963}{allocate\_\-io\_\-ip} (const \hyperlink{classIfTree}{IfTree} \&iftree, int family, uint8\_\-t ip\_\-protocol)=0
\begin{DoxyCompactList}\small\item\em Allocate \hyperlink{classIoIp}{IoIp} plugin instance. \item\end{DoxyCompactList}\item 
virtual void \hyperlink{classFeaDataPlaneManager_a3a620dab7d6c3180af53d0079442ede1}{deallocate\_\-io\_\-ip} (\hyperlink{classIoIp}{IoIp} $\ast$io\_\-ip)
\begin{DoxyCompactList}\small\item\em De-\/allocate \hyperlink{classIoIp}{IoIp} plugin. \item\end{DoxyCompactList}\item 
virtual \hyperlink{classIoTcpUdp}{IoTcpUdp} $\ast$ \hyperlink{classFeaDataPlaneManager_a56550b3c6eefcd9cfd9cc8405ecce950}{allocate\_\-io\_\-tcpudp} (const \hyperlink{classIfTree}{IfTree} \&iftree, int family, bool is\_\-tcp)=0
\begin{DoxyCompactList}\small\item\em Allocate \hyperlink{classIoTcpUdp}{IoTcpUdp} plugin instance. \item\end{DoxyCompactList}\item 
virtual void \hyperlink{classFeaDataPlaneManager_a2035a1156c9d7a253235f08896bcbdb8}{deallocate\_\-io\_\-tcpudp} (\hyperlink{classIoTcpUdp}{IoTcpUdp} $\ast$io\_\-tcpudp)
\begin{DoxyCompactList}\small\item\em De-\/allocate \hyperlink{classIoTcpUdp}{IoTcpUdp} plugin. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{classFeaDataPlaneManager_a0d0c718a75207b5e5550d3bd2071b54b}{register\_\-all\_\-plugins} (bool is\_\-exclusive, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Register all plugins. \item\end{DoxyCompactList}\item 
int \hyperlink{classFeaDataPlaneManager_abf9b451ee7d2e1d4b595907f1bf1968c}{stop\_\-all\_\-plugins} (string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Stop all plugins operation. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classFeaDataPlaneManager_a0df987d8798caf52ea9b2b41fa2ebe6b}{
\hyperlink{classFeaNode}{FeaNode} \& {\bfseries \_\-fea\_\-node}}
\label{classFeaDataPlaneManager_a0df987d8798caf52ea9b2b41fa2ebe6b}

\item 
\hypertarget{classFeaDataPlaneManager_a200f885dc28be25b9e8d5a0c4105c6e2}{
\hyperlink{classIfConfigProperty}{IfConfigProperty} $\ast$ {\bfseries \_\-ifconfig\_\-property}}
\label{classFeaDataPlaneManager_a200f885dc28be25b9e8d5a0c4105c6e2}

\item 
\hypertarget{classFeaDataPlaneManager_a84bfe4bd82b52dcc130b000dd00135a1}{
\hyperlink{classIfConfigGet}{IfConfigGet} $\ast$ {\bfseries \_\-ifconfig\_\-get}}
\label{classFeaDataPlaneManager_a84bfe4bd82b52dcc130b000dd00135a1}

\item 
\hypertarget{classFeaDataPlaneManager_acc26774dd86a59f5284d800c7f446f96}{
\hyperlink{classIfConfigSet}{IfConfigSet} $\ast$ {\bfseries \_\-ifconfig\_\-set}}
\label{classFeaDataPlaneManager_acc26774dd86a59f5284d800c7f446f96}

\item 
\hypertarget{classFeaDataPlaneManager_a6bab6f76c2f262a9cd872c30bd8a58bf}{
\hyperlink{classIfConfigObserver}{IfConfigObserver} $\ast$ {\bfseries \_\-ifconfig\_\-observer}}
\label{classFeaDataPlaneManager_a6bab6f76c2f262a9cd872c30bd8a58bf}

\item 
\hypertarget{classFeaDataPlaneManager_af20b9f3ffa6d34cd4a34bdb1c6c78d4d}{
\hyperlink{classIfConfigVlanGet}{IfConfigVlanGet} $\ast$ {\bfseries \_\-ifconfig\_\-vlan\_\-get}}
\label{classFeaDataPlaneManager_af20b9f3ffa6d34cd4a34bdb1c6c78d4d}

\item 
\hypertarget{classFeaDataPlaneManager_a9d4b9b7e68892abc276422491a8264c8}{
\hyperlink{classIfConfigVlanSet}{IfConfigVlanSet} $\ast$ {\bfseries \_\-ifconfig\_\-vlan\_\-set}}
\label{classFeaDataPlaneManager_a9d4b9b7e68892abc276422491a8264c8}

\item 
\hypertarget{classFeaDataPlaneManager_a1952520d4445d5bb24a95c3c7449bc28}{
\hyperlink{classFirewallGet}{FirewallGet} $\ast$ {\bfseries \_\-firewall\_\-get}}
\label{classFeaDataPlaneManager_a1952520d4445d5bb24a95c3c7449bc28}

\item 
\hypertarget{classFeaDataPlaneManager_af707aff3bcc339fd20af16d4140d1236}{
\hyperlink{classFirewallSet}{FirewallSet} $\ast$ {\bfseries \_\-firewall\_\-set}}
\label{classFeaDataPlaneManager_af707aff3bcc339fd20af16d4140d1236}

\item 
\hypertarget{classFeaDataPlaneManager_a91ba0ff8ba724a018f0b92a4880f9eec}{
\hyperlink{classFibConfigForwarding}{FibConfigForwarding} $\ast$ {\bfseries \_\-fibconfig\_\-forwarding}}
\label{classFeaDataPlaneManager_a91ba0ff8ba724a018f0b92a4880f9eec}

\item 
\hypertarget{classFeaDataPlaneManager_ab41c666d34ea5c9a3a7e1c5316419238}{
\hyperlink{classFibConfigEntryGet}{FibConfigEntryGet} $\ast$ {\bfseries \_\-fibconfig\_\-entry\_\-get}}
\label{classFeaDataPlaneManager_ab41c666d34ea5c9a3a7e1c5316419238}

\item 
\hypertarget{classFeaDataPlaneManager_a4715c91d7efa3f7445db9b5a3acea267}{
\hyperlink{classFibConfigEntrySet}{FibConfigEntrySet} $\ast$ {\bfseries \_\-fibconfig\_\-entry\_\-set}}
\label{classFeaDataPlaneManager_a4715c91d7efa3f7445db9b5a3acea267}

\item 
\hypertarget{classFeaDataPlaneManager_af7d24f02889ab8ee6237f2f07bb1af59}{
\hyperlink{classFibConfigEntryObserver}{FibConfigEntryObserver} $\ast$ {\bfseries \_\-fibconfig\_\-entry\_\-observer}}
\label{classFeaDataPlaneManager_af7d24f02889ab8ee6237f2f07bb1af59}

\item 
\hypertarget{classFeaDataPlaneManager_a1cb8908ad04181ddabdc7114c50d337a}{
\hyperlink{classFibConfigTableGet}{FibConfigTableGet} $\ast$ {\bfseries \_\-fibconfig\_\-table\_\-get}}
\label{classFeaDataPlaneManager_a1cb8908ad04181ddabdc7114c50d337a}

\item 
\hypertarget{classFeaDataPlaneManager_a170c429fcb547dc21802ff3b382fb43d}{
\hyperlink{classFibConfigTableSet}{FibConfigTableSet} $\ast$ {\bfseries \_\-fibconfig\_\-table\_\-set}}
\label{classFeaDataPlaneManager_a170c429fcb547dc21802ff3b382fb43d}

\item 
\hypertarget{classFeaDataPlaneManager_a454e8f3cb0cafcf904d8159aa0d690b4}{
\hyperlink{classFibConfigTableObserver}{FibConfigTableObserver} $\ast$ {\bfseries \_\-fibconfig\_\-table\_\-observer}}
\label{classFeaDataPlaneManager_a454e8f3cb0cafcf904d8159aa0d690b4}

\item 
\hypertarget{classFeaDataPlaneManager_abe94f936cbab8c2581fd340e8bacb13a}{
list$<$ \hyperlink{classIoLink}{IoLink} $\ast$ $>$ {\bfseries \_\-io\_\-link\_\-list}}
\label{classFeaDataPlaneManager_abe94f936cbab8c2581fd340e8bacb13a}

\item 
\hypertarget{classFeaDataPlaneManager_aaf174cf14523f7a1c7c54d1eca358695}{
list$<$ \hyperlink{classIoIp}{IoIp} $\ast$ $>$ {\bfseries \_\-io\_\-ip\_\-list}}
\label{classFeaDataPlaneManager_aaf174cf14523f7a1c7c54d1eca358695}

\item 
\hypertarget{classFeaDataPlaneManager_ad2c08f46a2e0d68084ca2611e48769f3}{
list$<$ \hyperlink{classIoTcpUdp}{IoTcpUdp} $\ast$ $>$ {\bfseries \_\-io\_\-tcpudp\_\-list}}
\label{classFeaDataPlaneManager_ad2c08f46a2e0d68084ca2611e48769f3}

\item 
\hypertarget{classFeaDataPlaneManager_af7e8f7a12e540ae787012eee1b0b352a}{
const string {\bfseries \_\-manager\_\-name}}
\label{classFeaDataPlaneManager_af7e8f7a12e540ae787012eee1b0b352a}

\item 
\hypertarget{classFeaDataPlaneManager_a329d25aa590f2e13a4cd3fa26ce96ecc}{
bool {\bfseries \_\-is\_\-loaded\_\-plugins}}
\label{classFeaDataPlaneManager_a329d25aa590f2e13a4cd3fa26ce96ecc}

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

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

\end{DoxyCompactItemize}


\subsection{Detailed Description}
FEA data plane manager base class. 

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


Constructor. 


\begin{DoxyParams}{Parameters}
{\em fea\_\-node} & \hyperlink{protocolthe-p}{the} \hyperlink{classFeaNode}{FeaNode} this manager belongs to. \\
\hline
{\em manager\_\-name} & \hyperlink{protocolthe-p}{the} data plane manager name. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classFeaDataPlaneManager_a645dffd83d82c78310d5caaf5fd0c963}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!allocate\_\-io\_\-ip@{allocate\_\-io\_\-ip}}
\index{allocate\_\-io\_\-ip@{allocate\_\-io\_\-ip}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{allocate\_\-io\_\-ip}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf IoIp}$\ast$ FeaDataPlaneManager::allocate\_\-io\_\-ip (
\begin{DoxyParamCaption}
\item[{const {\bf IfTree} \&}]{iftree, }
\item[{int}]{family, }
\item[{uint8\_\-t}]{ip\_\-protocol}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classFeaDataPlaneManager_a645dffd83d82c78310d5caaf5fd0c963}


Allocate \hyperlink{classIoIp}{IoIp} plugin instance. 


\begin{DoxyParams}{Parameters}
{\em iftree} & \hyperlink{protocolthe-p}{the} interface tree to use. \\
\hline
{\em family} & \hyperlink{protocolthe-p}{the} address family (AF\_\-INET or AF\_\-INET6 for \hyperlink{classIPv4}{IPv4} and \hyperlink{classIPv6}{IPv6} respectively). \\
\hline
{\em ip\_\-protocol} & \hyperlink{protocolthe-p}{the} IP protocol number (IPPROTO\_\-$\ast$). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new instance of \hyperlink{classIoIp}{IoIp} plugin on success, otherwise NULL. 
\end{DoxyReturn}


Implemented in \hyperlink{classFeaDataPlaneManagerDummy_af164f66663dd4db6e62a9d68c08629e9}{FeaDataPlaneManagerDummy}, \hyperlink{classFeaDataPlaneManagerLinux_a7b7e8838b3a22bbaba288b590f5c7d45}{FeaDataPlaneManagerLinux}, and \hyperlink{classFeaDataPlaneManagerWindows_a8c629d42f8fa1530dedfd95aa76f3012}{FeaDataPlaneManagerWindows}.

\hypertarget{classFeaDataPlaneManager_aeb847c83fef14005be7c985e65d676b5}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!allocate\_\-io\_\-link@{allocate\_\-io\_\-link}}
\index{allocate\_\-io\_\-link@{allocate\_\-io\_\-link}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{allocate\_\-io\_\-link}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf IoLink}$\ast$ FeaDataPlaneManager::allocate\_\-io\_\-link (
\begin{DoxyParamCaption}
\item[{const {\bf IfTree} \&}]{iftree, }
\item[{const string \&}]{if\_\-name, }
\item[{const string \&}]{vif\_\-name, }
\item[{uint16\_\-t}]{ether\_\-type, }
\item[{const string \&}]{filter\_\-program}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classFeaDataPlaneManager_aeb847c83fef14005be7c985e65d676b5}


Allocate \hyperlink{classIoLink}{IoLink} plugin instance. 


\begin{DoxyParams}{Parameters}
{\em iftree} & \hyperlink{protocolthe-p}{the} interface tree to use. \\
\hline
{\em if\_\-name} & \hyperlink{protocolthe-p}{the} interface name. \\
\hline
{\em vif\_\-name} & \hyperlink{protocolthe-p}{the} vif name. \\
\hline
{\em ether\_\-type} & \hyperlink{protocolthe-p}{the} EtherType protocol number. If it is 0 then it is unused. \\
\hline
{\em filter\_\-program} & \hyperlink{protocolthe-p}{the} option filter program to be applied on \hyperlink{protocolthe-p}{the} received packets. The program uses tcpdump(1) style expression. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new instance of \hyperlink{classIoLink}{IoLink} plugin on success, otherwise NULL. 
\end{DoxyReturn}


Implemented in \hyperlink{classFeaDataPlaneManagerDummy_aaa30bbb13731675a9f5f7c93148f2298}{FeaDataPlaneManagerDummy}, \hyperlink{classFeaDataPlaneManagerLinux_a4d5a15a3530d875d4eb69cf1018f956e}{FeaDataPlaneManagerLinux}, and \hyperlink{classFeaDataPlaneManagerWindows_ab2a66baa2b14563a76d5e95667901604}{FeaDataPlaneManagerWindows}.

\hypertarget{classFeaDataPlaneManager_a56550b3c6eefcd9cfd9cc8405ecce950}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!allocate\_\-io\_\-tcpudp@{allocate\_\-io\_\-tcpudp}}
\index{allocate\_\-io\_\-tcpudp@{allocate\_\-io\_\-tcpudp}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{allocate\_\-io\_\-tcpudp}]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf IoTcpUdp}$\ast$ FeaDataPlaneManager::allocate\_\-io\_\-tcpudp (
\begin{DoxyParamCaption}
\item[{const {\bf IfTree} \&}]{iftree, }
\item[{int}]{family, }
\item[{bool}]{is\_\-tcp}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classFeaDataPlaneManager_a56550b3c6eefcd9cfd9cc8405ecce950}


Allocate \hyperlink{classIoTcpUdp}{IoTcpUdp} plugin instance. 


\begin{DoxyParams}{Parameters}
{\em iftree} & \hyperlink{protocolthe-p}{the} interface tree to use. \\
\hline
{\em family} & \hyperlink{protocolthe-p}{the} address family (AF\_\-INET or AF\_\-INET6 for \hyperlink{classIPv4}{IPv4} and \hyperlink{classIPv6}{IPv6} respectively). \\
\hline
{\em is\_\-tcp} & if true allocate a TCP entry, otherwise UDP. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new instance of \hyperlink{classIoTcpUdp}{IoTcpUdp} plugin on success, otherwise NULL. 
\end{DoxyReturn}


Implemented in \hyperlink{classFeaDataPlaneManagerDummy_a4b809abad13d6182f0bfb9cb9844c1c8}{FeaDataPlaneManagerDummy}, \hyperlink{classFeaDataPlaneManagerLinux_a539225cd64af8fe4356f5167dab651e8}{FeaDataPlaneManagerLinux}, and \hyperlink{classFeaDataPlaneManagerWindows_a4cdc7c2d1a19853d50f491da51304ad2}{FeaDataPlaneManagerWindows}.

\hypertarget{classFeaDataPlaneManager_a3a620dab7d6c3180af53d0079442ede1}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!deallocate\_\-io\_\-ip@{deallocate\_\-io\_\-ip}}
\index{deallocate\_\-io\_\-ip@{deallocate\_\-io\_\-ip}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{deallocate\_\-io\_\-ip}]{\setlength{\rightskip}{0pt plus 5cm}void FeaDataPlaneManager::deallocate\_\-io\_\-ip (
\begin{DoxyParamCaption}
\item[{{\bf IoIp} $\ast$}]{io\_\-ip}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classFeaDataPlaneManager_a3a620dab7d6c3180af53d0079442ede1}


De-\/allocate \hyperlink{classIoIp}{IoIp} plugin. 


\begin{DoxyParams}{Parameters}
{\em io\_\-ip} & \hyperlink{protocolthe-p}{the} \hyperlink{classIoIp}{IoIp} plugin to deallocate. \\
\hline
\end{DoxyParams}
\hypertarget{classFeaDataPlaneManager_abc09a049bfcbd493719e71484f48c6ac}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!deallocate\_\-io\_\-link@{deallocate\_\-io\_\-link}}
\index{deallocate\_\-io\_\-link@{deallocate\_\-io\_\-link}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{deallocate\_\-io\_\-link}]{\setlength{\rightskip}{0pt plus 5cm}void FeaDataPlaneManager::deallocate\_\-io\_\-link (
\begin{DoxyParamCaption}
\item[{{\bf IoLink} $\ast$}]{io\_\-link}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classFeaDataPlaneManager_abc09a049bfcbd493719e71484f48c6ac}


De-\/allocate \hyperlink{classIoLink}{IoLink} plugin. 


\begin{DoxyParams}{Parameters}
{\em io\_\-link} & \hyperlink{protocolthe-p}{the} \hyperlink{classIoLink}{IoLink} plugin to deallocate. \\
\hline
\end{DoxyParams}
\hypertarget{classFeaDataPlaneManager_a2035a1156c9d7a253235f08896bcbdb8}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!deallocate\_\-io\_\-tcpudp@{deallocate\_\-io\_\-tcpudp}}
\index{deallocate\_\-io\_\-tcpudp@{deallocate\_\-io\_\-tcpudp}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{deallocate\_\-io\_\-tcpudp}]{\setlength{\rightskip}{0pt plus 5cm}void FeaDataPlaneManager::deallocate\_\-io\_\-tcpudp (
\begin{DoxyParamCaption}
\item[{{\bf IoTcpUdp} $\ast$}]{io\_\-tcpudp}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classFeaDataPlaneManager_a2035a1156c9d7a253235f08896bcbdb8}


De-\/allocate \hyperlink{classIoTcpUdp}{IoTcpUdp} plugin. 


\begin{DoxyParams}{Parameters}
{\em io\_\-tcpudp} & \hyperlink{protocolthe-p}{the} \hyperlink{classIoTcpUdp}{IoTcpUdp} plugin to deallocate. \\
\hline
\end{DoxyParams}
\hypertarget{classFeaDataPlaneManager_a0f865fbcee5916e82ce30962ad5e2b45}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!eventloop@{eventloop}}
\index{eventloop@{eventloop}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{eventloop}]{\setlength{\rightskip}{0pt plus 5cm}{\bf EventLoop} \& FeaDataPlaneManager::eventloop (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classFeaDataPlaneManager_a0f865fbcee5916e82ce30962ad5e2b45}


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

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} event loop this instance is added to. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_a87083e694460666f8c3db70868192cc4}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!fibconfig@{fibconfig}}
\index{fibconfig@{fibconfig}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{fibconfig}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FibConfig} \& FeaDataPlaneManager::fibconfig (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classFeaDataPlaneManager_a87083e694460666f8c3db70868192cc4}


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

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classFibConfig}{FibConfig} instance. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_a3e6a22b941e0d52037243e4e21f53ab0}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!fibconfig\_\-entry\_\-get@{fibconfig\_\-entry\_\-get}}
\index{fibconfig\_\-entry\_\-get@{fibconfig\_\-entry\_\-get}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{fibconfig\_\-entry\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FibConfigEntryGet}$\ast$ FeaDataPlaneManager::fibconfig\_\-entry\_\-get (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaDataPlaneManager_a3e6a22b941e0d52037243e4e21f53ab0}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigEntryGet}{FibConfigEntryGet} plugin. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigEntryGet}{FibConfigEntryGet} plugin. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_a050f31b4facfb100ab5ce53373d3b9fd}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!fibconfig\_\-entry\_\-observer@{fibconfig\_\-entry\_\-observer}}
\index{fibconfig\_\-entry\_\-observer@{fibconfig\_\-entry\_\-observer}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{fibconfig\_\-entry\_\-observer}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FibConfigEntryObserver}$\ast$ FeaDataPlaneManager::fibconfig\_\-entry\_\-observer (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaDataPlaneManager_a050f31b4facfb100ab5ce53373d3b9fd}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigEntryObserver}{FibConfigEntryObserver} plugin. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigEntryObserver}{FibConfigEntryObserver} plugin. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_aea9fd18bfe26af3298be862c2006ea9b}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!fibconfig\_\-entry\_\-set@{fibconfig\_\-entry\_\-set}}
\index{fibconfig\_\-entry\_\-set@{fibconfig\_\-entry\_\-set}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{fibconfig\_\-entry\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FibConfigEntrySet}$\ast$ FeaDataPlaneManager::fibconfig\_\-entry\_\-set (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaDataPlaneManager_aea9fd18bfe26af3298be862c2006ea9b}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigEntrySet}{FibConfigEntrySet} plugin. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigEntrySet}{FibConfigEntrySet} plugin. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_aa8fc4c2280c617aa457439403a65a060}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!fibconfig\_\-forwarding@{fibconfig\_\-forwarding}}
\index{fibconfig\_\-forwarding@{fibconfig\_\-forwarding}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{fibconfig\_\-forwarding}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FibConfigForwarding}$\ast$ FeaDataPlaneManager::fibconfig\_\-forwarding (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaDataPlaneManager_aa8fc4c2280c617aa457439403a65a060}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigForwarding}{FibConfigForwarding} plugin. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigForwarding}{FibConfigForwarding} plugin. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_a9c0e0ba1c3a9049df14d3873113d9c76}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!fibconfig\_\-table\_\-get@{fibconfig\_\-table\_\-get}}
\index{fibconfig\_\-table\_\-get@{fibconfig\_\-table\_\-get}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{fibconfig\_\-table\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FibConfigTableGet}$\ast$ FeaDataPlaneManager::fibconfig\_\-table\_\-get (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaDataPlaneManager_a9c0e0ba1c3a9049df14d3873113d9c76}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigTableGet}{FibConfigTableGet} plugin. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigEntryGet}{FibConfigEntryGet} plugin. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_ae0ea8d5f40f10f70629ff20221cc80b5}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!fibconfig\_\-table\_\-observer@{fibconfig\_\-table\_\-observer}}
\index{fibconfig\_\-table\_\-observer@{fibconfig\_\-table\_\-observer}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{fibconfig\_\-table\_\-observer}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FibConfigTableObserver}$\ast$ FeaDataPlaneManager::fibconfig\_\-table\_\-observer (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaDataPlaneManager_ae0ea8d5f40f10f70629ff20221cc80b5}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigTableObserver}{FibConfigTableObserver} plugin. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigEntryObserver}{FibConfigEntryObserver} plugin. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_aacc134baefa8ac9a527a263df089e68f}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!fibconfig\_\-table\_\-set@{fibconfig\_\-table\_\-set}}
\index{fibconfig\_\-table\_\-set@{fibconfig\_\-table\_\-set}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{fibconfig\_\-table\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FibConfigTableSet}$\ast$ FeaDataPlaneManager::fibconfig\_\-table\_\-set (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaDataPlaneManager_aacc134baefa8ac9a527a263df089e68f}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigTableSet}{FibConfigTableSet} plugin. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classFibConfigEntryGet}{FibConfigEntryGet} plugin. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_a5cc6f8528a101b98c709c05522b1efdc}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!firewall\_\-get@{firewall\_\-get}}
\index{firewall\_\-get@{firewall\_\-get}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{firewall\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FirewallGet}$\ast$ FeaDataPlaneManager::firewall\_\-get (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaDataPlaneManager_a5cc6f8528a101b98c709c05522b1efdc}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classFirewallGet}{FirewallGet} plugin. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classFirewallGet}{FirewallGet} plugin. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_adc6a6235b1e107e6486f48c535641462}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!firewall\_\-manager@{firewall\_\-manager}}
\index{firewall\_\-manager@{firewall\_\-manager}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{firewall\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FirewallManager} \& FeaDataPlaneManager::firewall\_\-manager (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classFeaDataPlaneManager_adc6a6235b1e107e6486f48c535641462}


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

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classFirewallManager}{FirewallManager} instance. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_af96aaede3ab0740b79b046d5b87c01b3}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!firewall\_\-set@{firewall\_\-set}}
\index{firewall\_\-set@{firewall\_\-set}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{firewall\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FirewallSet}$\ast$ FeaDataPlaneManager::firewall\_\-set (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaDataPlaneManager_af96aaede3ab0740b79b046d5b87c01b3}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classFirewallSet}{FirewallSet} plugin. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classFirewallSet}{FirewallSet} plugin. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_a0fa1c2f5d01d1a02941677273098e771}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!have\_\-ipv4@{have\_\-ipv4}}
\index{have\_\-ipv4@{have\_\-ipv4}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{have\_\-ipv4}]{\setlength{\rightskip}{0pt plus 5cm}bool FeaDataPlaneManager::have\_\-ipv4 (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classFeaDataPlaneManager_a0fa1c2f5d01d1a02941677273098e771}


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{classFeaDataPlaneManager_aec017cfc1bce4bb1afd28aa671c5d0bc}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!have\_\-ipv6@{have\_\-ipv6}}
\index{have\_\-ipv6@{have\_\-ipv6}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{have\_\-ipv6}]{\setlength{\rightskip}{0pt plus 5cm}bool FeaDataPlaneManager::have\_\-ipv6 (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classFeaDataPlaneManager_aec017cfc1bce4bb1afd28aa671c5d0bc}


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{classFeaDataPlaneManager_ab1d53b6716d1133410f22c8ce817f218}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!ifconfig@{ifconfig}}
\index{ifconfig@{ifconfig}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{ifconfig}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IfConfig} \& FeaDataPlaneManager::ifconfig (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classFeaDataPlaneManager_ab1d53b6716d1133410f22c8ce817f218}


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

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classIfConfig}{IfConfig} instance. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_ac111b91c5d0711ce63bc556db1b97be0}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!ifconfig\_\-get@{ifconfig\_\-get}}
\index{ifconfig\_\-get@{ifconfig\_\-get}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{ifconfig\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IfConfigGet}$\ast$ FeaDataPlaneManager::ifconfig\_\-get (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaDataPlaneManager_ac111b91c5d0711ce63bc556db1b97be0}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigGet}{IfConfigGet} plugin. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigGet}{IfConfigGet} plugin. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_af7fd25be9ef7fbf8ef720f5299e04c37}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!ifconfig\_\-observer@{ifconfig\_\-observer}}
\index{ifconfig\_\-observer@{ifconfig\_\-observer}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{ifconfig\_\-observer}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IfConfigObserver}$\ast$ FeaDataPlaneManager::ifconfig\_\-observer (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaDataPlaneManager_af7fd25be9ef7fbf8ef720f5299e04c37}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigObserver}{IfConfigObserver} plugin. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigObserver}{IfConfigObserver} plugin. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_a64e0dc9ace532c0e4f00f84a4680331f}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!ifconfig\_\-property@{ifconfig\_\-property}}
\index{ifconfig\_\-property@{ifconfig\_\-property}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{ifconfig\_\-property}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IfConfigProperty}$\ast$ FeaDataPlaneManager::ifconfig\_\-property (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaDataPlaneManager_a64e0dc9ace532c0e4f00f84a4680331f}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigProperty}{IfConfigProperty} plugin. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigGet}{IfConfigGet} plugin. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_a253d26fc6b966b488dbf76b836e35e42}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!ifconfig\_\-set@{ifconfig\_\-set}}
\index{ifconfig\_\-set@{ifconfig\_\-set}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{ifconfig\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IfConfigSet}$\ast$ FeaDataPlaneManager::ifconfig\_\-set (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaDataPlaneManager_a253d26fc6b966b488dbf76b836e35e42}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigSet}{IfConfigSet} plugin. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigSet}{IfConfigSet} plugin. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_a0d88c288fe40ce63d15ace7064ccdbbb}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!ifconfig\_\-vlan\_\-get@{ifconfig\_\-vlan\_\-get}}
\index{ifconfig\_\-vlan\_\-get@{ifconfig\_\-vlan\_\-get}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{ifconfig\_\-vlan\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IfConfigVlanGet}$\ast$ FeaDataPlaneManager::ifconfig\_\-vlan\_\-get (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaDataPlaneManager_a0d88c288fe40ce63d15ace7064ccdbbb}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigVlanGet}{IfConfigVlanGet} plugin. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigVlanGet}{IfConfigVlanGet} plugin. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_a9a16e79ff85a49ba5a826e69250cdb05}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!ifconfig\_\-vlan\_\-set@{ifconfig\_\-vlan\_\-set}}
\index{ifconfig\_\-vlan\_\-set@{ifconfig\_\-vlan\_\-set}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{ifconfig\_\-vlan\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IfConfigVlanSet}$\ast$ FeaDataPlaneManager::ifconfig\_\-vlan\_\-set (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaDataPlaneManager_a9a16e79ff85a49ba5a826e69250cdb05}


Get \hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigVlanSet}{IfConfigVlanSet} plugin. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classIfConfigVlanSet}{IfConfigVlanSet} plugin. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_ad615b1d257ebd0f36314fb99d842d71f}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!io\_\-ip\_\-manager@{io\_\-ip\_\-manager}}
\index{io\_\-ip\_\-manager@{io\_\-ip\_\-manager}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{io\_\-ip\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IoIpManager} \& FeaDataPlaneManager::io\_\-ip\_\-manager (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classFeaDataPlaneManager_ad615b1d257ebd0f36314fb99d842d71f}


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

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classIoIpManager}{IoIpManager} instance. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_aa0c2f03db9f125b3ebddabbb48b4a96f}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!io\_\-link\_\-manager@{io\_\-link\_\-manager}}
\index{io\_\-link\_\-manager@{io\_\-link\_\-manager}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{io\_\-link\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IoLinkManager} \& FeaDataPlaneManager::io\_\-link\_\-manager (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classFeaDataPlaneManager_aa0c2f03db9f125b3ebddabbb48b4a96f}


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

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classIoLinkManager}{IoLinkManager} instance. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_afb9ca7fc9f16ad0725e5abf8bd515ddc}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!io\_\-tcpudp\_\-manager@{io\_\-tcpudp\_\-manager}}
\index{io\_\-tcpudp\_\-manager@{io\_\-tcpudp\_\-manager}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{io\_\-tcpudp\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IoTcpUdpManager} \& FeaDataPlaneManager::io\_\-tcpudp\_\-manager (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classFeaDataPlaneManager_afb9ca7fc9f16ad0725e5abf8bd515ddc}


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

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} \hyperlink{classIoTcpUdpManager}{IoTcpUdpManager} instance. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_a7c77db8543aa18d3f10522d3fe782bc4}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!load\_\-plugins@{load\_\-plugins}}
\index{load\_\-plugins@{load\_\-plugins}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{load\_\-plugins}]{\setlength{\rightskip}{0pt plus 5cm}virtual int FeaDataPlaneManager::load\_\-plugins (
\begin{DoxyParamCaption}
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classFeaDataPlaneManager_a7c77db8543aa18d3f10522d3fe782bc4}


\hyperlink{classLoad}{Load} \hyperlink{protocolthe-p}{the} plugins. 


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


Implemented in \hyperlink{classFeaDataPlaneManagerDummy_a0d7d87d187cedd50a550f5523e9e7886}{FeaDataPlaneManagerDummy}, \hyperlink{classFeaDataPlaneManagerLinux_a687a13c6474c79fbe38dd232c6ed3f72}{FeaDataPlaneManagerLinux}, and \hyperlink{classFeaDataPlaneManagerWindows_ab55877650db5088dcbc251ef689b0b55}{FeaDataPlaneManagerWindows}.

\hypertarget{classFeaDataPlaneManager_a09417479707c1ec32c531ddcb316467c}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!manager\_\-name@{manager\_\-name}}
\index{manager\_\-name@{manager\_\-name}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{manager\_\-name}]{\setlength{\rightskip}{0pt plus 5cm}const string\& FeaDataPlaneManager::manager\_\-name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classFeaDataPlaneManager_a09417479707c1ec32c531ddcb316467c}


Get \hyperlink{protocolthe-p}{the} data plane manager name. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} data plane name. 
\end{DoxyReturn}
\hypertarget{classFeaDataPlaneManager_a0d0c718a75207b5e5550d3bd2071b54b}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!register\_\-all\_\-plugins@{register\_\-all\_\-plugins}}
\index{register\_\-all\_\-plugins@{register\_\-all\_\-plugins}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{register\_\-all\_\-plugins}]{\setlength{\rightskip}{0pt plus 5cm}int FeaDataPlaneManager::register\_\-all\_\-plugins (
\begin{DoxyParamCaption}
\item[{bool}]{is\_\-exclusive, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected\mbox{]}}}}
\label{classFeaDataPlaneManager_a0d0c718a75207b5e5550d3bd2071b54b}


Register all plugins. 


\begin{DoxyParams}{Parameters}
{\em is\_\-exclusive} & if true, \hyperlink{protocolthe-p}{the} plugins are registered as \hyperlink{protocolthe-p}{the} exclusive plugins, otherwise are added to \hyperlink{protocolthe-p}{the} lists of plugins. \\
\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{classFeaDataPlaneManager_aef4efc9f913f3f55af8c75586c3320d4}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!register\_\-plugins@{register\_\-plugins}}
\index{register\_\-plugins@{register\_\-plugins}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{register\_\-plugins}]{\setlength{\rightskip}{0pt plus 5cm}virtual int FeaDataPlaneManager::register\_\-plugins (
\begin{DoxyParamCaption}
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}pure virtual\mbox{]}}}}
\label{classFeaDataPlaneManager_aef4efc9f913f3f55af8c75586c3320d4}


Register \hyperlink{protocolthe-p}{the} plugins. 

\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


Implemented in \hyperlink{classFeaDataPlaneManagerDummy_aec545e663d83573e712340047a2cc39d}{FeaDataPlaneManagerDummy}, \hyperlink{classFeaDataPlaneManagerLinux_ae7ded697c83097ecd4068bf13343a330}{FeaDataPlaneManagerLinux}, and \hyperlink{classFeaDataPlaneManagerWindows_af51f9b190e071a7ef0be498066205491}{FeaDataPlaneManagerWindows}.

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


Start data plane manager 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}


Reimplemented in \hyperlink{classFeaDataPlaneManagerWindows_a43bda2ffd5b95970ac6253af4a2bde6f}{FeaDataPlaneManagerWindows}.

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


Start plugins 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{classFeaDataPlaneManager_abf9b451ee7d2e1d4b595907f1bf1968c}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!stop\_\-all\_\-plugins@{stop\_\-all\_\-plugins}}
\index{stop\_\-all\_\-plugins@{stop\_\-all\_\-plugins}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{stop\_\-all\_\-plugins}]{\setlength{\rightskip}{0pt plus 5cm}int FeaDataPlaneManager::stop\_\-all\_\-plugins (
\begin{DoxyParamCaption}
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}protected\mbox{]}}}}
\label{classFeaDataPlaneManager_abf9b451ee7d2e1d4b595907f1bf1968c}


Stop all plugins 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{classFeaDataPlaneManager_a385dcb4d63649a5e41c856f697b54cfb}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!stop\_\-manager@{stop\_\-manager}}
\index{stop\_\-manager@{stop\_\-manager}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{stop\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}int FeaDataPlaneManager::stop\_\-manager (
\begin{DoxyParamCaption}
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classFeaDataPlaneManager_a385dcb4d63649a5e41c856f697b54cfb}


Stop data plane manager 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{classFeaDataPlaneManager_a90d3988dd2d4bc7ec3fb329946f31311}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!stop\_\-plugins@{stop\_\-plugins}}
\index{stop\_\-plugins@{stop\_\-plugins}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{stop\_\-plugins}]{\setlength{\rightskip}{0pt plus 5cm}int FeaDataPlaneManager::stop\_\-plugins (
\begin{DoxyParamCaption}
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classFeaDataPlaneManager_a90d3988dd2d4bc7ec3fb329946f31311}


Stop plugins 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{classFeaDataPlaneManager_a21d4655b8ec7ae818544493151ad775c}{
\index{FeaDataPlaneManager@{FeaDataPlaneManager}!unload\_\-plugins@{unload\_\-plugins}}
\index{unload\_\-plugins@{unload\_\-plugins}!FeaDataPlaneManager@{FeaDataPlaneManager}}
\subsubsection[{unload\_\-plugins}]{\setlength{\rightskip}{0pt plus 5cm}int FeaDataPlaneManager::unload\_\-plugins (
\begin{DoxyParamCaption}
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classFeaDataPlaneManager_a21d4655b8ec7ae818544493151ad775c}


Unload \hyperlink{protocolthe-p}{the} plugins. 


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


Reimplemented in \hyperlink{classFeaDataPlaneManagerLinux_ace76e2c8773caf8affd427879dc932da}{FeaDataPlaneManagerLinux}.

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


Unregister \hyperlink{protocolthe-p}{the} plugins. 


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


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