\hypertarget{classMfeaDft}{
\section{MfeaDft Class Reference}
\label{classMfeaDft}\index{MfeaDft@{MfeaDft}}
}


The MFEA (S,G) dataflow table for monitoring forwarded bandwidth.  




{\ttfamily \#include $<$mfea\_\-dataflow.hh$>$}

Inheritance diagram for MfeaDft:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classMfeaDft}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classMfeaDft_a520726ef4ffccd2c700b039ef9e5bbb6}{MfeaDft} (\hyperlink{classMfeaNode}{MfeaNode} \&mfea\_\-node)
\begin{DoxyCompactList}\small\item\em Constructor for a given MFEA node. \item\end{DoxyCompactList}\item 
\hypertarget{classMfeaDft_a4be5785678214dded6faa44ffa8a3b25}{
virtual \hyperlink{classMfeaDft_a4be5785678214dded6faa44ffa8a3b25}{$\sim$MfeaDft} ()}
\label{classMfeaDft_a4be5785678214dded6faa44ffa8a3b25}

\begin{DoxyCompactList}\small\item\em Destructor. \item\end{DoxyCompactList}\item 
\hyperlink{classMfeaNode}{MfeaNode} \& \hyperlink{classMfeaDft_aa0d440c9fcb3f170a6ca8b9e9b089414}{mfea\_\-node} () const 
\begin{DoxyCompactList}\small\item\em Get a reference to to \hyperlink{protocolthe-p}{the} MFEA node this table belongs to. \item\end{DoxyCompactList}\item 
int \hyperlink{classMfeaDft_a735a5475f2c538ab882b511753520c1e}{family} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} address family. \item\end{DoxyCompactList}\item 
int \hyperlink{classMfeaDft_a6cf8727c27b47d1dcdf4ec5cf4ac8ec5}{add\_\-entry} (const \hyperlink{classIPvX}{IPvX} \&source, const \hyperlink{classIPvX}{IPvX} \&group, const \hyperlink{classTimeVal}{TimeVal} \&threshold\_\-interval, uint32\_\-t threshold\_\-packets, uint32\_\-t threshold\_\-bytes, bool is\_\-threshold\_\-in\_\-packets, bool is\_\-threshold\_\-in\_\-bytes, bool is\_\-geq\_\-upcall, bool is\_\-leq\_\-upcall, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Add a dataflow entry. \item\end{DoxyCompactList}\item 
int \hyperlink{classMfeaDft_adf45e60d78c3d049c60a1bc0419b5167}{delete\_\-entry} (const \hyperlink{classIPvX}{IPvX} \&source, const \hyperlink{classIPvX}{IPvX} \&group, const \hyperlink{classTimeVal}{TimeVal} \&threshold\_\-interval, uint32\_\-t threshold\_\-packets, uint32\_\-t threshold\_\-bytes, bool is\_\-threshold\_\-in\_\-packets, bool is\_\-threshold\_\-in\_\-bytes, bool is\_\-geq\_\-upcall, bool is\_\-leq\_\-upcall, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Delete a dataflow entry. \item\end{DoxyCompactList}\item 
int \hyperlink{classMfeaDft_abc38a1d4b021367ba05ecd19915b8b12}{delete\_\-entry} (const \hyperlink{classIPvX}{IPvX} \&source, const \hyperlink{classIPvX}{IPvX} \&group)
\begin{DoxyCompactList}\small\item\em Delete all dataflow entries for a given source and group address. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{classMfeaDft_a412fb3352b3516212daa57390abc7da6}{delete\_\-entry} (\hyperlink{classMfeaDfe}{MfeaDfe} $\ast$mfea\_\-dfe)
\begin{DoxyCompactList}\small\item\em Delete a given \hyperlink{classMfeaDfe}{MfeaDfe} dataflow entry. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classMfeaDft_a9fe92fde089c3865b25519b13b583ab1}{
\hyperlink{classMfeaNode}{MfeaNode} \& {\bfseries \_\-mfea\_\-node}}
\label{classMfeaDft_a9fe92fde089c3865b25519b13b583ab1}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
The MFEA (S,G) dataflow table for monitoring forwarded bandwidth. 

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


Constructor for a given MFEA node. 


\begin{DoxyParams}{Parameters}
{\em mfea\_\-node} & \hyperlink{protocolthe-p}{the} \hyperlink{classMfeaNode}{MfeaNode} this table belongs to. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classMfeaDft_a6cf8727c27b47d1dcdf4ec5cf4ac8ec5}{
\index{MfeaDft@{MfeaDft}!add\_\-entry@{add\_\-entry}}
\index{add\_\-entry@{add\_\-entry}!MfeaDft@{MfeaDft}}
\subsubsection[{add\_\-entry}]{\setlength{\rightskip}{0pt plus 5cm}int MfeaDft::add\_\-entry (
\begin{DoxyParamCaption}
\item[{const {\bf IPvX} \&}]{source, }
\item[{const {\bf IPvX} \&}]{group, }
\item[{const {\bf TimeVal} \&}]{threshold\_\-interval, }
\item[{uint32\_\-t}]{threshold\_\-packets, }
\item[{uint32\_\-t}]{threshold\_\-bytes, }
\item[{bool}]{is\_\-threshold\_\-in\_\-packets, }
\item[{bool}]{is\_\-threshold\_\-in\_\-bytes, }
\item[{bool}]{is\_\-geq\_\-upcall, }
\item[{bool}]{is\_\-leq\_\-upcall, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classMfeaDft_a6cf8727c27b47d1dcdf4ec5cf4ac8ec5}


Add a dataflow entry. 

Note: either is\_\-threshold\_\-in\_\-packets or is\_\-threshold\_\-in\_\-bytes (or both) must be true. Note: either is\_\-geq\_\-upcall or is\_\-leq\_\-upcall (but not both) must be true.


\begin{DoxyParams}{Parameters}
{\em source} & \hyperlink{protocolthe-p}{the} source address. \\
\hline
{\em group} & \hyperlink{protocolthe-p}{the} group address. \\
\hline
{\em threshold\_\-interval} & \hyperlink{protocolthe-p}{the} dataflow threshold interval. \\
\hline
{\em threshold\_\-packets} & \hyperlink{protocolthe-p}{the} threshold (in number of packets) to compare against. \\
\hline
{\em threshold\_\-bytes} & \hyperlink{protocolthe-p}{the} threshold (in number of bytes) to compare against. \\
\hline
{\em is\_\-threshold\_\-in\_\-packets} & if true, threshold\_\-packets is valid. \\
\hline
{\em is\_\-threshold\_\-in\_\-bytes} & if true, threshold\_\-bytes is valid. \\
\hline
{\em is\_\-geq\_\-upcall} & if true, \hyperlink{protocolthe-p}{the} operation for comparison is \char`\"{}$>$=\char`\"{}. \\
\hline
{\em is\_\-leq\_\-upcall} & if true, \hyperlink{protocolthe-p}{the} operation for comparison is \char`\"{}$<$=\char`\"{}. \\
\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{classMfeaDft_adf45e60d78c3d049c60a1bc0419b5167}{
\index{MfeaDft@{MfeaDft}!delete\_\-entry@{delete\_\-entry}}
\index{delete\_\-entry@{delete\_\-entry}!MfeaDft@{MfeaDft}}
\subsubsection[{delete\_\-entry}]{\setlength{\rightskip}{0pt plus 5cm}int MfeaDft::delete\_\-entry (
\begin{DoxyParamCaption}
\item[{const {\bf IPvX} \&}]{source, }
\item[{const {\bf IPvX} \&}]{group, }
\item[{const {\bf TimeVal} \&}]{threshold\_\-interval, }
\item[{uint32\_\-t}]{threshold\_\-packets, }
\item[{uint32\_\-t}]{threshold\_\-bytes, }
\item[{bool}]{is\_\-threshold\_\-in\_\-packets, }
\item[{bool}]{is\_\-threshold\_\-in\_\-bytes, }
\item[{bool}]{is\_\-geq\_\-upcall, }
\item[{bool}]{is\_\-leq\_\-upcall, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classMfeaDft_adf45e60d78c3d049c60a1bc0419b5167}


Delete a dataflow entry. 

Note: either is\_\-threshold\_\-in\_\-packets or is\_\-threshold\_\-in\_\-bytes (or both) must be true. Note: either is\_\-geq\_\-upcall or is\_\-leq\_\-upcall (but not both) must be true.


\begin{DoxyParams}{Parameters}
{\em source} & \hyperlink{protocolthe-p}{the} source address. \\
\hline
{\em group} & \hyperlink{protocolthe-p}{the} group address. \\
\hline
{\em threshold\_\-interval} & \hyperlink{protocolthe-p}{the} dataflow threshold interval. \\
\hline
{\em threshold\_\-packets} & \hyperlink{protocolthe-p}{the} threshold (in number of packets) to compare against. \\
\hline
{\em threshold\_\-bytes} & \hyperlink{protocolthe-p}{the} threshold (in number of bytes) to compare against. \\
\hline
{\em is\_\-threshold\_\-in\_\-packets} & if true, threshold\_\-packets is valid. \\
\hline
{\em is\_\-threshold\_\-in\_\-bytes} & if true, threshold\_\-bytes is valid. \\
\hline
{\em is\_\-geq\_\-upcall} & if true, \hyperlink{protocolthe-p}{the} operation for comparison is \char`\"{}$>$=\char`\"{}. \\
\hline
{\em is\_\-leq\_\-upcall} & if true, \hyperlink{protocolthe-p}{the} operation for comparison is \char`\"{}$<$=\char`\"{}. \\
\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{classMfeaDft_abc38a1d4b021367ba05ecd19915b8b12}{
\index{MfeaDft@{MfeaDft}!delete\_\-entry@{delete\_\-entry}}
\index{delete\_\-entry@{delete\_\-entry}!MfeaDft@{MfeaDft}}
\subsubsection[{delete\_\-entry}]{\setlength{\rightskip}{0pt plus 5cm}int MfeaDft::delete\_\-entry (
\begin{DoxyParamCaption}
\item[{const {\bf IPvX} \&}]{source, }
\item[{const {\bf IPvX} \&}]{group}
\end{DoxyParamCaption}
)}}
\label{classMfeaDft_abc38a1d4b021367ba05ecd19915b8b12}


Delete all dataflow entries for a given source and group address. 


\begin{DoxyParams}{Parameters}
{\em source} & \hyperlink{protocolthe-p}{the} source address. \\
\hline
{\em group} & \hyperlink{protocolthe-p}{the} group address. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classMfeaDft_a412fb3352b3516212daa57390abc7da6}{
\index{MfeaDft@{MfeaDft}!delete\_\-entry@{delete\_\-entry}}
\index{delete\_\-entry@{delete\_\-entry}!MfeaDft@{MfeaDft}}
\subsubsection[{delete\_\-entry}]{\setlength{\rightskip}{0pt plus 5cm}int MfeaDft::delete\_\-entry (
\begin{DoxyParamCaption}
\item[{{\bf MfeaDfe} $\ast$}]{mfea\_\-dfe}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classMfeaDft_a412fb3352b3516212daa57390abc7da6}


Delete a given \hyperlink{classMfeaDfe}{MfeaDfe} dataflow entry. 


\begin{DoxyParams}{Parameters}
{\em mfea\_\-dfe} & \hyperlink{protocolthe-p}{the} \hyperlink{classMfeaDfe}{MfeaDfe} dataflow entry to delete. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}
\hypertarget{classMfeaDft_a735a5475f2c538ab882b511753520c1e}{
\index{MfeaDft@{MfeaDft}!family@{family}}
\index{family@{family}!MfeaDft@{MfeaDft}}
\subsubsection[{family}]{\setlength{\rightskip}{0pt plus 5cm}int MfeaDft::family (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classMfeaDft_a735a5475f2c538ab882b511753520c1e}


Get \hyperlink{protocolthe-p}{the} address family. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} address family (e.g., AF\_\-INET or AF\_\-INET6 for \hyperlink{classIPv4}{IPv4} and \hyperlink{classIPv6}{IPv6} respectively). 
\end{DoxyReturn}
\hypertarget{classMfeaDft_aa0d440c9fcb3f170a6ca8b9e9b089414}{
\index{MfeaDft@{MfeaDft}!mfea\_\-node@{mfea\_\-node}}
\index{mfea\_\-node@{mfea\_\-node}!MfeaDft@{MfeaDft}}
\subsubsection[{mfea\_\-node}]{\setlength{\rightskip}{0pt plus 5cm}{\bf MfeaNode}\& MfeaDft::mfea\_\-node (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classMfeaDft_aa0d440c9fcb3f170a6ca8b9e9b089414}


Get a reference to to \hyperlink{protocolthe-p}{the} MFEA node this table belongs to. 

\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} MFEA node (\hyperlink{classMfeaNode}{MfeaNode}) this table belongs to. 
\end{DoxyReturn}


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