\hypertarget{classUnresolvedIPRouteEntry}{
\section{UnresolvedIPRouteEntry$<$ A $>$ Class Template Reference}
\label{classUnresolvedIPRouteEntry}\index{UnresolvedIPRouteEntry@{UnresolvedIPRouteEntry}}
}


Extended Unresolved \hyperlink{classRouteEntry}{RouteEntry}, used by \hyperlink{classExtIntTable}{ExtIntTable}.  




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

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classUnresolvedIPRouteEntry_a0cfeab8010c740fe03495d413bb0ab24}{
typedef multimap$<$ A, \hyperlink{classUnresolvedIPRouteEntry}{UnresolvedIPRouteEntry}$<$ A $>$ $\ast$ $>$ {\bfseries RouteBackLink}}
\label{classUnresolvedIPRouteEntry_a0cfeab8010c740fe03495d413bb0ab24}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classUnresolvedIPRouteEntry_a9cd8cffdfd1b9180912be5bff2e32063}{UnresolvedIPRouteEntry} (const \hyperlink{classIPRouteEntry}{IPRouteEntry}$<$ A $>$ $\ast$route)
\begin{DoxyCompactList}\small\item\em Constructor for a given \hyperlink{classIPRouteEntry}{IPRouteEntry}. \item\end{DoxyCompactList}\item 
const \hyperlink{classIPRouteEntry}{IPRouteEntry}$<$ A $>$ $\ast$ \hyperlink{classUnresolvedIPRouteEntry_a721364a7c6fb51eaefb378f1da8228ff}{route} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} route. \item\end{DoxyCompactList}\item 
void \hyperlink{classUnresolvedIPRouteEntry_a38ebd007a66533b7ce41637eee258ad8}{set\_\-backlink} (typename RouteBackLink::iterator v)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} backlink. \item\end{DoxyCompactList}\item 
RouteBackLink::iterator \hyperlink{classUnresolvedIPRouteEntry_a5ced362cc3646f46673baf432d4a4801}{backlink} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} backlink. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classUnresolvedIPRouteEntry_a90299c929e239b00a28181fe44b45508}{
RouteBackLink::iterator {\bfseries \_\-backlink}}
\label{classUnresolvedIPRouteEntry_a90299c929e239b00a28181fe44b45508}

\item 
\hypertarget{classUnresolvedIPRouteEntry_ae7e8d78a088162b1ab3e74ef1157f1c0}{
const \hyperlink{classIPRouteEntry}{IPRouteEntry}$<$ A $>$ $\ast$ {\bfseries \_\-route}}
\label{classUnresolvedIPRouteEntry_ae7e8d78a088162b1ab3e74ef1157f1c0}

\end{DoxyCompactItemize}


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

Extended Unresolved \hyperlink{classRouteEntry}{RouteEntry}, used by \hyperlink{classExtIntTable}{ExtIntTable}. This class stored an extended unresolved routing table entry, for use in \hyperlink{classExtIntTable}{ExtIntTable}. When a route with a non-\/local nexthop arrives, \hyperlink{protocolthe-p}{the} \hyperlink{classExtIntTable}{ExtIntTable} attempts to discover a local nexthop by finding \hyperlink{protocolthe-p}{the} route that packets to \hyperlink{protocolthe-p}{the} non-\/local nexthop would use. If \hyperlink{protocolthe-p}{the} local nexthop is not found, this entry is used to store \hyperlink{protocolthe-p}{the} unresolved route.

This 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{classUnresolvedIPRouteEntry_a9cd8cffdfd1b9180912be5bff2e32063}{
\index{UnresolvedIPRouteEntry@{UnresolvedIPRouteEntry}!UnresolvedIPRouteEntry@{UnresolvedIPRouteEntry}}
\index{UnresolvedIPRouteEntry@{UnresolvedIPRouteEntry}!UnresolvedIPRouteEntry@{UnresolvedIPRouteEntry}}
\subsubsection[{UnresolvedIPRouteEntry}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A $>$ {\bf UnresolvedIPRouteEntry}$<$ A $>$::{\bf UnresolvedIPRouteEntry} (
\begin{DoxyParamCaption}
\item[{const {\bf IPRouteEntry}$<$ A $>$ $\ast$}]{route}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classUnresolvedIPRouteEntry_a9cd8cffdfd1b9180912be5bff2e32063}


Constructor for a given \hyperlink{classIPRouteEntry}{IPRouteEntry}. 


\begin{DoxyParams}{Parameters}
{\em route} & \hyperlink{protocolthe-p}{the} \hyperlink{classIPRouteEntry}{IPRouteEntry} route. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classUnresolvedIPRouteEntry_a5ced362cc3646f46673baf432d4a4801}{
\index{UnresolvedIPRouteEntry@{UnresolvedIPRouteEntry}!backlink@{backlink}}
\index{backlink@{backlink}!UnresolvedIPRouteEntry@{UnresolvedIPRouteEntry}}
\subsubsection[{backlink}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ {\bf UnresolvedIPRouteEntry}$<$ A $>$::RouteBackLink::iterator {\bf UnresolvedIPRouteEntry}$<$ A $>$::backlink (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classUnresolvedIPRouteEntry_a5ced362cc3646f46673baf432d4a4801}


Get \hyperlink{protocolthe-p}{the} backlink. 

\begin{DoxySeeAlso}{See also}
\hyperlink{classUnresolvedIPRouteEntry_a38ebd007a66533b7ce41637eee258ad8}{UnresolvedIPRouteEntry$<$A$>$::set\_\-backlink}
\end{DoxySeeAlso}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} backlink iterator. 
\end{DoxyReturn}
\hypertarget{classUnresolvedIPRouteEntry_a721364a7c6fb51eaefb378f1da8228ff}{
\index{UnresolvedIPRouteEntry@{UnresolvedIPRouteEntry}!route@{route}}
\index{route@{route}!UnresolvedIPRouteEntry@{UnresolvedIPRouteEntry}}
\subsubsection[{route}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A $>$ const {\bf IPRouteEntry}$<$A$>$$\ast$ {\bf UnresolvedIPRouteEntry}$<$ A $>$::route (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classUnresolvedIPRouteEntry_a721364a7c6fb51eaefb378f1da8228ff}


Get \hyperlink{protocolthe-p}{the} route. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} route. 
\end{DoxyReturn}
\hypertarget{classUnresolvedIPRouteEntry_a38ebd007a66533b7ce41637eee258ad8}{
\index{UnresolvedIPRouteEntry@{UnresolvedIPRouteEntry}!set\_\-backlink@{set\_\-backlink}}
\index{set\_\-backlink@{set\_\-backlink}!UnresolvedIPRouteEntry@{UnresolvedIPRouteEntry}}
\subsubsection[{set\_\-backlink}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ void {\bf UnresolvedIPRouteEntry}$<$ A $>$::set\_\-backlink (
\begin{DoxyParamCaption}
\item[{typename RouteBackLink::iterator}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classUnresolvedIPRouteEntry_a38ebd007a66533b7ce41637eee258ad8}


Set \hyperlink{protocolthe-p}{the} backlink. 

When an unresolved route is created, \hyperlink{protocolthe-p}{the} \hyperlink{classExtIntTable}{ExtIntTable} will store a link to it in a multimap that is indexed by \hyperlink{protocolthe-p}{the} unresolved nexthop. This will allow all \hyperlink{protocolthe-p}{the} routes affected by a change (e.g., resolving \hyperlink{protocolthe-p}{the} nexthop) to be found easily. However, if \hyperlink{protocolthe-p}{the} EGP parent goes away, we need to remove \hyperlink{protocolthe-p}{the} links from this multimap, and \hyperlink{protocolthe-p}{the} backlink provides an iterator into \hyperlink{protocolthe-p}{the} multimap that makes this operation very efficient.


\begin{DoxyParams}{Parameters}
{\em backlink} & \hyperlink{protocolthe-p}{the} \hyperlink{classExtIntTable}{ExtIntTable} multimap iterator for this route. \\
\hline
\end{DoxyParams}


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