\hypertarget{classPolicyTableSourceMatch}{
\section{PolicyTableSourceMatch$<$ A $>$ Class Template Reference}
\label{classPolicyTableSourceMatch}\index{PolicyTableSourceMatch@{PolicyTableSourceMatch}}
}


SourceMatch table has \hyperlink{protocolthe-p}{the} aditional ability to perform route dumps.  




{\ttfamily \#include $<$route\_\-table\_\-policy\_\-sm.hh$>$}

Inheritance diagram for PolicyTableSourceMatch$<$ A $>$:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classPolicyTableSourceMatch}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classPolicyTableSourceMatch_a8e457e2b38fa81616c7d58a391ecd370}{PolicyTableSourceMatch} (const string \&tablename, const Safi \&safi, \hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$parent, \hyperlink{classPolicyFilters}{PolicyFilters} \&pfs, \hyperlink{classEventLoop}{EventLoop} \&ev)
\item 
void \hyperlink{classPolicyTableSourceMatch_a9dfb25fade51ec58e80a2c8485df4e45}{push\_\-routes} (list$<$ const \hyperlink{classPeerTableInfo}{PeerTableInfo}$<$ A $>$ $\ast$ $>$ \&peer\_\-list)
\begin{DoxyCompactList}\small\item\em \hyperlink{classPush}{Push} routes of all these peers. \item\end{DoxyCompactList}\item 
\hypertarget{classPolicyTableSourceMatch_abe9a6f1cef15d5a72cbbb8fc4894a5b8}{
void {\bfseries peering\_\-is\_\-down} (const \hyperlink{classPeerHandler}{PeerHandler} $\ast$peer, uint32\_\-t genid)}
\label{classPolicyTableSourceMatch_abe9a6f1cef15d5a72cbbb8fc4894a5b8}

\item 
\hypertarget{classPolicyTableSourceMatch_a6736eb849e0c4a4d9521c90303a36686}{
void {\bfseries peering\_\-went\_\-down} (const \hyperlink{classPeerHandler}{PeerHandler} $\ast$peer, uint32\_\-t genid, \hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$caller)}
\label{classPolicyTableSourceMatch_a6736eb849e0c4a4d9521c90303a36686}

\item 
\hypertarget{classPolicyTableSourceMatch_a808cee319d05a2ceb6805a00e28bceea}{
void {\bfseries peering\_\-down\_\-complete} (const \hyperlink{classPeerHandler}{PeerHandler} $\ast$peer, uint32\_\-t genid, \hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$caller)}
\label{classPolicyTableSourceMatch_a808cee319d05a2ceb6805a00e28bceea}

\item 
\hypertarget{classPolicyTableSourceMatch_af9dc1d287e183f56c7805dada7ef2c79}{
void {\bfseries peering\_\-came\_\-up} (const \hyperlink{classPeerHandler}{PeerHandler} $\ast$peer, uint32\_\-t genid, \hyperlink{classBGPRouteTable}{BGPRouteTable}$<$ A $>$ $\ast$caller)}
\label{classPolicyTableSourceMatch_af9dc1d287e183f56c7805dada7ef2c79}

\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classPolicyTableSourceMatch_a1f03d733d164fe4a662290118a69813a}{
void \hyperlink{classPolicyTableSourceMatch_a1f03d733d164fe4a662290118a69813a}{do\_\-next\_\-route\_\-dump} ()}
\label{classPolicyTableSourceMatch_a1f03d733d164fe4a662290118a69813a}

\begin{DoxyCompactList}\small\item\em Dump \hyperlink{protocolthe-p}{the} next route. \item\end{DoxyCompactList}\item 
\hypertarget{classPolicyTableSourceMatch_ab809b83eadd8e71ac937610a17b535b2}{
void \hyperlink{classPolicyTableSourceMatch_ab809b83eadd8e71ac937610a17b535b2}{end\_\-route\_\-dump} ()}
\label{classPolicyTableSourceMatch_ab809b83eadd8e71ac937610a17b535b2}

\begin{DoxyCompactList}\small\item\em Stop dumping routes. \item\end{DoxyCompactList}\item 
\hypertarget{classPolicyTableSourceMatch_a54d9a72387dbc0653a500efde8bdc2d0}{
bool \hyperlink{classPolicyTableSourceMatch_a54d9a72387dbc0653a500efde8bdc2d0}{do\_\-background\_\-dump} ()}
\label{classPolicyTableSourceMatch_a54d9a72387dbc0653a500efde8bdc2d0}

\begin{DoxyCompactList}\small\item\em Do a background route dump. \item\end{DoxyCompactList}\item 
bool \hyperlink{classPolicyTableSourceMatch_a20b000220b885694a203f6622fcaac32}{pushing\_\-routes} ()
\begin{DoxyCompactList}\small\item\em Check whether a policy push is occuring. \item\end{DoxyCompactList}\item 
\hypertarget{classPolicyTableSourceMatch_a974adb7c54e3349c27dec0abfeb6f9e9}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries eventloop} ()}
\label{classPolicyTableSourceMatch_a974adb7c54e3349c27dec0abfeb6f9e9}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classPolicyTableSourceMatch_a1fd3d7d3aa68ee0b190c87316b37bea3}{
bool {\bfseries \_\-pushing\_\-routes}}
\label{classPolicyTableSourceMatch_a1fd3d7d3aa68ee0b190c87316b37bea3}

\item 
\hypertarget{classPolicyTableSourceMatch_a2a04bbc0af226a665a3d0f32769c6785}{
\hyperlink{classDumpIterator}{DumpIterator}$<$ A $>$ $\ast$ {\bfseries \_\-dump\_\-iter}}
\label{classPolicyTableSourceMatch_a2a04bbc0af226a665a3d0f32769c6785}

\item 
\hypertarget{classPolicyTableSourceMatch_a0fc2370f1ae7c1779b8983e8c2bd107e}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries \_\-ev}}
\label{classPolicyTableSourceMatch_a0fc2370f1ae7c1779b8983e8c2bd107e}

\item 
\hypertarget{classPolicyTableSourceMatch_af2d7e53c8c8ea91bd785839d08efdef0}{
\hyperlink{classXorpTask}{XorpTask} {\bfseries \_\-dump\_\-task}}
\label{classPolicyTableSourceMatch_af2d7e53c8c8ea91bd785839d08efdef0}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$class A$>$ class PolicyTableSourceMatch$<$ A $>$}

SourceMatch table has \hyperlink{protocolthe-p}{the} aditional ability to perform route dumps. The SourceMatch policy table will request \hyperlink{protocolthe-p}{the} route dumps from \hyperlink{protocolthe-p}{the} ribin. These dumps will eventually meet an import policy table and be translated to an add/replace or delete. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classPolicyTableSourceMatch_a8e457e2b38fa81616c7d58a391ecd370}{
\index{PolicyTableSourceMatch@{PolicyTableSourceMatch}!PolicyTableSourceMatch@{PolicyTableSourceMatch}}
\index{PolicyTableSourceMatch@{PolicyTableSourceMatch}!PolicyTableSourceMatch@{PolicyTableSourceMatch}}
\subsubsection[{PolicyTableSourceMatch}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ {\bf PolicyTableSourceMatch}$<$ A $>$::{\bf PolicyTableSourceMatch} (
\begin{DoxyParamCaption}
\item[{const string \&}]{tablename, }
\item[{const Safi \&}]{safi, }
\item[{{\bf BGPRouteTable}$<$ A $>$ $\ast$}]{parent, }
\item[{{\bf PolicyFilters} \&}]{pfs, }
\item[{{\bf EventLoop} \&}]{ev}
\end{DoxyParamCaption}
)}}
\label{classPolicyTableSourceMatch_a8e457e2b38fa81616c7d58a391ecd370}

\begin{DoxyParams}{Parameters}
{\em tablename} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} table. \\
\hline
{\em safi} & \hyperlink{protocolthe-p}{the} safi. \\
\hline
{\em parent} & \hyperlink{protocolthe-p}{the} parent table. \\
\hline
{\em pfs} & a reference to \hyperlink{protocolthe-p}{the} global policyfilters. \\
\hline
{\em ev} & event loop for this process. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classPolicyTableSourceMatch_a9dfb25fade51ec58e80a2c8485df4e45}{
\index{PolicyTableSourceMatch@{PolicyTableSourceMatch}!push\_\-routes@{push\_\-routes}}
\index{push\_\-routes@{push\_\-routes}!PolicyTableSourceMatch@{PolicyTableSourceMatch}}
\subsubsection[{push\_\-routes}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ void {\bf PolicyTableSourceMatch}$<$ A $>$::push\_\-routes (
\begin{DoxyParamCaption}
\item[{list$<$ const {\bf PeerTableInfo}$<$ A $>$ $\ast$ $>$ \&}]{peer\_\-list}
\end{DoxyParamCaption}
)}}
\label{classPolicyTableSourceMatch_a9dfb25fade51ec58e80a2c8485df4e45}


\hyperlink{classPush}{Push} routes of all these peers. 


\begin{DoxyParams}{Parameters}
{\em peer\_\-list} & peers for which routes whould be dumped. \\
\hline
\end{DoxyParams}
\hypertarget{classPolicyTableSourceMatch_a20b000220b885694a203f6622fcaac32}{
\index{PolicyTableSourceMatch@{PolicyTableSourceMatch}!pushing\_\-routes@{pushing\_\-routes}}
\index{pushing\_\-routes@{pushing\_\-routes}!PolicyTableSourceMatch@{PolicyTableSourceMatch}}
\subsubsection[{pushing\_\-routes}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A $>$ bool {\bf PolicyTableSourceMatch}$<$ A $>$::pushing\_\-routes (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classPolicyTableSourceMatch_a20b000220b885694a203f6622fcaac32}


Check whether a policy push is occuring. 

\begin{DoxyReturn}{Returns}
true if routes are being pushed 
\end{DoxyReturn}


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