\hypertarget{classPolicyFilter}{
\section{PolicyFilter Class Reference}
\label{classPolicyFilter}\index{PolicyFilter@{PolicyFilter}}
}


A generic policy filter.  




{\ttfamily \#include $<$policy\_\-filter.hh$>$}

Inheritance diagram for PolicyFilter:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classPolicyFilter}
\end{center}
\end{figure}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classPolicyFilter_1_1ConfError}{ConfError}
\begin{DoxyCompactList}\small\item\em Exception thrown on configuration error. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{classPolicyFilter_a992b938c2a0c1a2d15d11ea663d65824}{configure} (const string \&str)
\begin{DoxyCompactList}\small\item\em Configure \hyperlink{protocolthe-p}{the} filter. \item\end{DoxyCompactList}\item 
void \hyperlink{classPolicyFilter_a71bb7a7cc291ab70287245f05012317b}{reset} ()
\begin{DoxyCompactList}\small\item\em Reset \hyperlink{protocolthe-p}{the} filter. \item\end{DoxyCompactList}\item 
bool \hyperlink{classPolicyFilter_a34c3836c98bfb913645b9f447510d46e}{acceptRoute} (\hyperlink{classVarRW}{VarRW} \&varrw)
\begin{DoxyCompactList}\small\item\em See if a route is accepted by \hyperlink{protocolthe-p}{the} filter. \item\end{DoxyCompactList}\item 
\hypertarget{classPolicyFilter_a4eb49e402c87f979732505d2523ebb83}{
void {\bfseries set\_\-profiler\_\-exec} (\hyperlink{classPolicyProfiler}{PolicyProfiler} $\ast$profiler)}
\label{classPolicyFilter_a4eb49e402c87f979732505d2523ebb83}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classPolicyFilter_aeb07601aa76f479af707fa745309f840}{
vector$<$ \hyperlink{classPolicyInstr}{PolicyInstr} $\ast$ $>$ $\ast$ {\bfseries \_\-policies}}
\label{classPolicyFilter_aeb07601aa76f479af707fa745309f840}

\item 
\hypertarget{classPolicyFilter_a2ca3709a566d36ec5e7e480853964e02}{
\hyperlink{classSetManager}{SetManager} {\bfseries \_\-sman}}
\label{classPolicyFilter_a2ca3709a566d36ec5e7e480853964e02}

\item 
\hypertarget{classPolicyFilter_a7a313099e5afe7649f90292eb93c11c1}{
\hyperlink{classIvExec}{IvExec} {\bfseries \_\-exec}}
\label{classPolicyFilter_a7a313099e5afe7649f90292eb93c11c1}

\item 
\hypertarget{classPolicyFilter_af2fd4c10d4953017e69864ee480c4f4c}{
\hyperlink{classPolicyProfiler}{PolicyProfiler} $\ast$ {\bfseries \_\-profiler\_\-exec}}
\label{classPolicyFilter_af2fd4c10d4953017e69864ee480c4f4c}

\item 
\hypertarget{classPolicyFilter_a32b72ca9351ec51708647facb1afd1b6}{
SUBR $\ast$ {\bfseries \_\-subr}}
\label{classPolicyFilter_a32b72ca9351ec51708647facb1afd1b6}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
A generic policy filter. It may accept/reject/modify any route which supports \hyperlink{classVarRW}{VarRW}. 

\subsection{Member Function Documentation}
\hypertarget{classPolicyFilter_a34c3836c98bfb913645b9f447510d46e}{
\index{PolicyFilter@{PolicyFilter}!acceptRoute@{acceptRoute}}
\index{acceptRoute@{acceptRoute}!PolicyFilter@{PolicyFilter}}
\subsubsection[{acceptRoute}]{\setlength{\rightskip}{0pt plus 5cm}bool PolicyFilter::acceptRoute (
\begin{DoxyParamCaption}
\item[{{\bf VarRW} \&}]{varrw}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classPolicyFilter_a34c3836c98bfb913645b9f447510d46e}


See if a route is accepted by \hyperlink{protocolthe-p}{the} filter. 

The route may be modified by \hyperlink{protocolthe-p}{the} filter \mbox{[}through \hyperlink{classVarRW}{VarRW}\mbox{]}.

\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} route is accepted, false otherwise. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em varrw} & \hyperlink{protocolthe-p}{the} \hyperlink{classVarRW}{VarRW} associated with \hyperlink{protocolthe-p}{the} route being filtered. \\
\hline
\end{DoxyParams}


Implements \hyperlink{classFilterBase_a3c2be411c10e8d42fe9ac69edd7378ff}{FilterBase}.

\hypertarget{classPolicyFilter_a992b938c2a0c1a2d15d11ea663d65824}{
\index{PolicyFilter@{PolicyFilter}!configure@{configure}}
\index{configure@{configure}!PolicyFilter@{PolicyFilter}}
\subsubsection[{configure}]{\setlength{\rightskip}{0pt plus 5cm}void PolicyFilter::configure (
\begin{DoxyParamCaption}
\item[{const string \&}]{str}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classPolicyFilter_a992b938c2a0c1a2d15d11ea663d65824}


Configure \hyperlink{protocolthe-p}{the} filter. 


\begin{DoxyParams}{Parameters}
{\em str} & filter configuration. \\
\hline
\end{DoxyParams}


Implements \hyperlink{classFilterBase_afb5726167c1530611499febf7bfc9835}{FilterBase}.

\hypertarget{classPolicyFilter_a71bb7a7cc291ab70287245f05012317b}{
\index{PolicyFilter@{PolicyFilter}!reset@{reset}}
\index{reset@{reset}!PolicyFilter@{PolicyFilter}}
\subsubsection[{reset}]{\setlength{\rightskip}{0pt plus 5cm}void PolicyFilter::reset (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classPolicyFilter_a71bb7a7cc291ab70287245f05012317b}


Reset \hyperlink{protocolthe-p}{the} filter. 

Filter becomes a NO-\/operation -\/-\/ default action should be returned everytime an acceptRoute is called. 

Implements \hyperlink{classFilterBase_a0c8325520c41f4c475a9f8e831ca273c}{FilterBase}.



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