\hypertarget{classIPRouteEntry}{
\section{IPRouteEntry$<$ A $>$ Class Template Reference}
\label{classIPRouteEntry}\index{IPRouteEntry@{IPRouteEntry}}
}


\hyperlink{classRouting}{Routing} Table Entry.  




{\ttfamily \#include $<$route.hh$>$}

Inheritance diagram for IPRouteEntry$<$ A $>$:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=4.000000cm]{classIPRouteEntry}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classIPRouteEntry_a8b1f0648dfb9184bcf0cd422539ce10f}{IPRouteEntry} (const \hyperlink{classIPNet}{IPNet}$<$ A $>$ \&net, \hyperlink{classRibVif}{RibVif} $\ast$vif, \hyperlink{classNextHop}{NextHop} $\ast$nexthop, const \hyperlink{classProtocol}{Protocol} \&protocol, uint32\_\-t metric)
\begin{DoxyCompactList}\small\item\em Constructor for \hyperlink{classIPRouteEntry}{IPRouteEntry}. \item\end{DoxyCompactList}\item 
\hyperlink{classIPRouteEntry_a464410679729b0d3588c40202d0b7be7}{IPRouteEntry} (const \hyperlink{classIPNet}{IPNet}$<$ A $>$ \&net, \hyperlink{classRibVif}{RibVif} $\ast$vif, \hyperlink{classNextHop}{NextHop} $\ast$nexthop, const \hyperlink{classProtocol}{Protocol} \&protocol, uint32\_\-t metric, const \hyperlink{classPolicyTags}{PolicyTags} \&policytags)
\begin{DoxyCompactList}\small\item\em Constructor for \hyperlink{classIPRouteEntry}{IPRouteEntry}. \item\end{DoxyCompactList}\item 
\hypertarget{classIPRouteEntry_ad489f93a183cf5c15be86fc779e069b7}{
\hyperlink{classIPRouteEntry_ad489f93a183cf5c15be86fc779e069b7}{$\sim$IPRouteEntry} ()}
\label{classIPRouteEntry_ad489f93a183cf5c15be86fc779e069b7}

\begin{DoxyCompactList}\small\item\em Destructor for \hyperlink{classRouting}{Routing} Table Entry. \item\end{DoxyCompactList}\item 
const \hyperlink{classIPNet}{IPNet}$<$ A $>$ \& \hyperlink{classIPRouteEntry_ab361aacebf97cee6a31eb3d259c484d6}{net} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} route entry's subnet addres. \item\end{DoxyCompactList}\item 
size\_\-t \hyperlink{classIPRouteEntry_acce7da7f15107c343261e0932a4f97fe}{prefix\_\-len} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} prefix length of \hyperlink{protocolthe-p}{the} route entry's subnet address. \item\end{DoxyCompactList}\item 
const A \& \hyperlink{classIPRouteEntry_acce340bbf55e4158aabc5f092f41bf5b}{nexthop\_\-addr} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} route entry's next-\/hop router address. \item\end{DoxyCompactList}\item 
\hyperlink{classPolicyTags}{PolicyTags} \& \hyperlink{classIPRouteEntry_a43325d409bdd538310d90a55bd519cc6}{policytags} ()
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} policy-\/tags for this route. \item\end{DoxyCompactList}\item 
const \hyperlink{classPolicyTags}{PolicyTags} \& \hyperlink{classIPRouteEntry_ad5192fcffc1cc1d3a1b5c9a1b083c365}{policytags} () const 
\item 
string \hyperlink{classIPRouteEntry_a128d2e9cf8abf3b28e4b8117311b53f0}{str} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} route entry as a string for debugging purposes. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classIPRouteEntry_a204f8cc1a90a69757415850c0f7a9923}{
\hyperlink{classIPNet}{IPNet}$<$ A $>$ {\bfseries \_\-net}}
\label{classIPRouteEntry_a204f8cc1a90a69757415850c0f7a9923}

\item 
\hypertarget{classIPRouteEntry_a2d433c6a31503701f00f5499f37b7282}{
\hyperlink{classPolicyTags}{PolicyTags} {\bfseries \_\-policytags}}
\label{classIPRouteEntry_a2d433c6a31503701f00f5499f37b7282}

\end{DoxyCompactItemize}


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

\hyperlink{classRouting}{Routing} Table Entry. This class stores a regular \hyperlink{classRIB}{RIB} routing table entry for either an \hyperlink{classIPv4}{IPv4} or an \hyperlink{classIPv6}{IPv6} route. It is a template class, where A is either a \hyperlink{protocolthe-p}{the} \hyperlink{classIPv4}{IPv4} class or \hyperlink{protocolthe-p}{the} \hyperlink{classIPv6}{IPv6} class. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classIPRouteEntry_a8b1f0648dfb9184bcf0cd422539ce10f}{
\index{IPRouteEntry@{IPRouteEntry}!IPRouteEntry@{IPRouteEntry}}
\index{IPRouteEntry@{IPRouteEntry}!IPRouteEntry@{IPRouteEntry}}
\subsubsection[{IPRouteEntry}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ {\bf IPRouteEntry}$<$ A $>$::{\bf IPRouteEntry} (
\begin{DoxyParamCaption}
\item[{const {\bf IPNet}$<$ A $>$ \&}]{net, }
\item[{{\bf RibVif} $\ast$}]{vif, }
\item[{{\bf NextHop} $\ast$}]{nexthop, }
\item[{const {\bf Protocol} \&}]{protocol, }
\item[{uint32\_\-t}]{metric}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIPRouteEntry_a8b1f0648dfb9184bcf0cd422539ce10f}


Constructor for \hyperlink{classIPRouteEntry}{IPRouteEntry}. 


\begin{DoxyParams}{Parameters}
{\em net} & \hyperlink{protocolthe-p}{the} Subnet (address and mask) of \hyperlink{protocolthe-p}{the} routing table entry. \\
\hline
{\em vif} & \hyperlink{protocolthe-p}{the} Virtual Interface on which packets matching this routing table entry should be forwarded. \\
\hline
{\em nexthop} & \hyperlink{protocolthe-p}{the} \hyperlink{classNextHop}{NextHop} router to which packets matching this entry should be forwarded. \\
\hline
{\em protocol} & \hyperlink{protocolthe-p}{the} routing protocol that originated this route. \\
\hline
{\em metric} & \hyperlink{protocolthe-p}{the} routing protocol metric for this route. \\
\hline
\end{DoxyParams}
\hypertarget{classIPRouteEntry_a464410679729b0d3588c40202d0b7be7}{
\index{IPRouteEntry@{IPRouteEntry}!IPRouteEntry@{IPRouteEntry}}
\index{IPRouteEntry@{IPRouteEntry}!IPRouteEntry@{IPRouteEntry}}
\subsubsection[{IPRouteEntry}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ {\bf IPRouteEntry}$<$ A $>$::{\bf IPRouteEntry} (
\begin{DoxyParamCaption}
\item[{const {\bf IPNet}$<$ A $>$ \&}]{net, }
\item[{{\bf RibVif} $\ast$}]{vif, }
\item[{{\bf NextHop} $\ast$}]{nexthop, }
\item[{const {\bf Protocol} \&}]{protocol, }
\item[{uint32\_\-t}]{metric, }
\item[{const {\bf PolicyTags} \&}]{policytags}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIPRouteEntry_a464410679729b0d3588c40202d0b7be7}


Constructor for \hyperlink{classIPRouteEntry}{IPRouteEntry}. 


\begin{DoxyParams}{Parameters}
{\em net} & \hyperlink{protocolthe-p}{the} Subnet (address and mask) of \hyperlink{protocolthe-p}{the} routing table entry. \\
\hline
{\em vif} & \hyperlink{protocolthe-p}{the} Virtual Interface on which packets matching this routing table entry should be forwarded. \\
\hline
{\em nexthop} & \hyperlink{protocolthe-p}{the} \hyperlink{classNextHop}{NextHop} router to which packets matching this entry should be forwarded. \\
\hline
{\em protocol} & \hyperlink{protocolthe-p}{the} routing protocol that originated this route. \\
\hline
{\em metric} & \hyperlink{protocolthe-p}{the} routing protocol metric for this route. \\
\hline
{\em policytags} & \hyperlink{protocolthe-p}{the} policy-\/tags for this route. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classIPRouteEntry_ab361aacebf97cee6a31eb3d259c484d6}{
\index{IPRouteEntry@{IPRouteEntry}!net@{net}}
\index{net@{net}!IPRouteEntry@{IPRouteEntry}}
\subsubsection[{net}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ const {\bf IPNet}$<$A$>$\& {\bf IPRouteEntry}$<$ A $>$::net (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIPRouteEntry_ab361aacebf97cee6a31eb3d259c484d6}


Get \hyperlink{protocolthe-p}{the} route entry's subnet addres. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} route entry's subnet address. 
\end{DoxyReturn}


Reimplemented from \hyperlink{classRouteEntry_a7e4353ce986730a85e522e38032d996d}{RouteEntry$<$ A $>$}.

\hypertarget{classIPRouteEntry_acce340bbf55e4158aabc5f092f41bf5b}{
\index{IPRouteEntry@{IPRouteEntry}!nexthop\_\-addr@{nexthop\_\-addr}}
\index{nexthop\_\-addr@{nexthop\_\-addr}!IPRouteEntry@{IPRouteEntry}}
\subsubsection[{nexthop\_\-addr}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ const A\& {\bf IPRouteEntry}$<$ A $>$::nexthop\_\-addr (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIPRouteEntry_acce340bbf55e4158aabc5f092f41bf5b}


Get \hyperlink{protocolthe-p}{the} route entry's next-\/hop router address. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} route entry's next-\/hop router address. If there is no next-\/hop router, then \hyperlink{protocolthe-p}{the} return value is \hyperlink{classIPv4_a98e735cb5244537f232116bdceb4b946}{IPv4::ZERO()} or \hyperlink{classIPv6_aae107b1308261861f7be34d0ceae76ff}{IPv6::ZERO()}. 
\end{DoxyReturn}
\hypertarget{classIPRouteEntry_ad5192fcffc1cc1d3a1b5c9a1b083c365}{
\index{IPRouteEntry@{IPRouteEntry}!policytags@{policytags}}
\index{policytags@{policytags}!IPRouteEntry@{IPRouteEntry}}
\subsubsection[{policytags}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ const {\bf PolicyTags}\& {\bf IPRouteEntry}$<$ A $>$::policytags (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIPRouteEntry_ad5192fcffc1cc1d3a1b5c9a1b083c365}
\begin{DoxyReturn}{Returns}
policy-\/tags associated with route. 
\end{DoxyReturn}


Reimplemented from \hyperlink{classRouteEntry_ad49bda8e1c8a676900fb97a796eaf200}{RouteEntry$<$ A $>$}.

\hypertarget{classIPRouteEntry_a43325d409bdd538310d90a55bd519cc6}{
\index{IPRouteEntry@{IPRouteEntry}!policytags@{policytags}}
\index{policytags@{policytags}!IPRouteEntry@{IPRouteEntry}}
\subsubsection[{policytags}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ {\bf PolicyTags}\& {\bf IPRouteEntry}$<$ A $>$::policytags (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIPRouteEntry_a43325d409bdd538310d90a55bd519cc6}


Get \hyperlink{protocolthe-p}{the} policy-\/tags for this route. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} policy-\/tags for this route. 
\end{DoxyReturn}


Reimplemented from \hyperlink{classRouteEntry}{RouteEntry$<$ A $>$}.

\hypertarget{classIPRouteEntry_acce7da7f15107c343261e0932a4f97fe}{
\index{IPRouteEntry@{IPRouteEntry}!prefix\_\-len@{prefix\_\-len}}
\index{prefix\_\-len@{prefix\_\-len}!IPRouteEntry@{IPRouteEntry}}
\subsubsection[{prefix\_\-len}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A$>$ size\_\-t {\bf IPRouteEntry}$<$ A $>$::prefix\_\-len (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIPRouteEntry_acce7da7f15107c343261e0932a4f97fe}


Get \hyperlink{protocolthe-p}{the} prefix length of \hyperlink{protocolthe-p}{the} route entry's subnet address. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} prefix length (in bits) of \hyperlink{protocolthe-p}{the} route entry's subnet address. 
\end{DoxyReturn}
\hypertarget{classIPRouteEntry_a128d2e9cf8abf3b28e4b8117311b53f0}{
\index{IPRouteEntry@{IPRouteEntry}!str@{str}}
\index{str@{str}!IPRouteEntry@{IPRouteEntry}}
\subsubsection[{str}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A $>$ string {\bf IPRouteEntry}$<$ A $>$::str (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classIPRouteEntry_a128d2e9cf8abf3b28e4b8117311b53f0}


Get \hyperlink{protocolthe-p}{the} route entry as a string for debugging purposes. 

\begin{DoxyReturn}{Returns}
a human readable representation of \hyperlink{protocolthe-p}{the} route entry. 
\end{DoxyReturn}


Implements \hyperlink{classRouteEntry_a254dcb60bb51a40c4f54e29fb1003a59}{RouteEntry$<$ A $>$}.



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