\hypertarget{classLinkLsa}{
\section{LinkLsa Class Reference}
\label{classLinkLsa}\index{LinkLsa@{LinkLsa}}
}


OSPFv3 only: Link-\/LSA.  




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

Inheritance diagram for LinkLsa:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classLinkLsa}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classLinkLsa_ac801d42e3f630be8076c42aaf09c61ea}{
{\bfseries LinkLsa} (\hyperlink{structOspfTypes_a60eb031df0c10af753789ae76b185ec2}{OspfTypes::Version} version)}
\label{classLinkLsa_ac801d42e3f630be8076c42aaf09c61ea}

\item 
\hypertarget{classLinkLsa_acc5aabea9d79a897d29713739902722f}{
{\bfseries LinkLsa} (\hyperlink{structOspfTypes_a60eb031df0c10af753789ae76b185ec2}{OspfTypes::Version} version, uint8\_\-t $\ast$buf, size\_\-t len)}
\label{classLinkLsa_acc5aabea9d79a897d29713739902722f}

\item 
size\_\-t \hyperlink{classLinkLsa_a0bc42a32a4db6432a06b7921f8550ba0}{min\_\-length} () const 
\item 
uint16\_\-t \hyperlink{classLinkLsa_ac6bfbc6bd3ef34589976951687667758}{get\_\-ls\_\-type} () const 
\begin{DoxyCompactList}\small\item\em It is \hyperlink{protocolthe-p}{the} responsibilty of \hyperlink{protocolthe-p}{the} derived type to return this information. \item\end{DoxyCompactList}\item 
\hyperlink{classref__ptr}{LsaRef} \hyperlink{classLinkLsa_a0d7f3ce579b39f37947480cdd3e4dbd1}{decode} (uint8\_\-t $\ast$buf, size\_\-t \&len) const   throw (InvalidPacket)
\begin{DoxyCompactList}\small\item\em Decode an LSA. \item\end{DoxyCompactList}\item 
bool \hyperlink{classLinkLsa_a77e28a4b3d1fb4432164996d7b8ba3f5}{encode} ()
\begin{DoxyCompactList}\small\item\em Encode an LSA for transmission. \item\end{DoxyCompactList}\item 
\hypertarget{classLinkLsa_a93ede3727202a5c93bbbde9f4b54231e}{
void {\bfseries set\_\-rtr\_\-priority} (uint8\_\-t rtr\_\-priority)}
\label{classLinkLsa_a93ede3727202a5c93bbbde9f4b54231e}

\item 
\hypertarget{classLinkLsa_a1dc243fd0768c0da834dc569a0245cd2}{
uint8\_\-t {\bfseries get\_\-rtr\_\-priority} () const }
\label{classLinkLsa_a1dc243fd0768c0da834dc569a0245cd2}

\item 
\hypertarget{classLinkLsa_a47232807f7cf6157b3356c69ee77fa54}{
void {\bfseries set\_\-options} (uint32\_\-t options)}
\label{classLinkLsa_a47232807f7cf6157b3356c69ee77fa54}

\item 
\hypertarget{classLinkLsa_acae0dcb7ccf8e3ca030ee9232af3244b}{
uint32\_\-t {\bfseries get\_\-options} () const }
\label{classLinkLsa_acae0dcb7ccf8e3ca030ee9232af3244b}

\item 
\hypertarget{classLinkLsa_a6499becc128d98d111de679f08f0dd0f}{
void {\bfseries set\_\-link\_\-local\_\-address} (\hyperlink{classIPv6}{IPv6} link\_\-local\_\-address)}
\label{classLinkLsa_a6499becc128d98d111de679f08f0dd0f}

\item 
\hypertarget{classLinkLsa_a0b97bda69912f6aa8d6a532412542e8b}{
\hyperlink{classIPv6}{IPv6} {\bfseries get\_\-link\_\-local\_\-address} () const }
\label{classLinkLsa_a0b97bda69912f6aa8d6a532412542e8b}

\item 
\hypertarget{classLinkLsa_ab1672da8204d9a1328afb2d4a08f14a7}{
const list$<$ \hyperlink{classIPv6Prefix}{IPv6Prefix} $>$ \& {\bfseries get\_\-prefixes} () const }
\label{classLinkLsa_ab1672da8204d9a1328afb2d4a08f14a7}

\item 
\hypertarget{classLinkLsa_a34499169f7d4a2b9a2236da7e3739de8}{
list$<$ \hyperlink{classIPv6Prefix}{IPv6Prefix} $>$ \& {\bfseries get\_\-prefixes} ()}
\label{classLinkLsa_a34499169f7d4a2b9a2236da7e3739de8}

\item 
\hypertarget{classLinkLsa_a0f2b157bfd06a9458bb7ecd0fddac9ab}{
const char $\ast$ \hyperlink{classLinkLsa_a0f2b157bfd06a9458bb7ecd0fddac9ab}{name} () const }
\label{classLinkLsa_a0f2b157bfd06a9458bb7ecd0fddac9ab}

\begin{DoxyCompactList}\small\item\em Printable name of this LSA. \item\end{DoxyCompactList}\item 
\hypertarget{classLinkLsa_a0d4d17a8860399d202736d0e7ad90ef1}{
string \hyperlink{classLinkLsa_a0d4d17a8860399d202736d0e7ad90ef1}{str} () const }
\label{classLinkLsa_a0d4d17a8860399d202736d0e7ad90ef1}

\begin{DoxyCompactList}\small\item\em Generate a printable representation. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classLinkLsa_a6277be56475c519ef6b80e1bd9b46261}{
uint8\_\-t {\bfseries \_\-rtr\_\-priority}}
\label{classLinkLsa_a6277be56475c519ef6b80e1bd9b46261}

\item 
\hypertarget{classLinkLsa_a5866f1e3e1b8a6be09fb41479318d0c9}{
uint32\_\-t {\bfseries \_\-options}}
\label{classLinkLsa_a5866f1e3e1b8a6be09fb41479318d0c9}

\item 
\hypertarget{classLinkLsa_a6cbf833e70550ff893a4bfabc4636b4f}{
\hyperlink{classIPv6}{IPv6} {\bfseries \_\-link\_\-local\_\-address}}
\label{classLinkLsa_a6cbf833e70550ff893a4bfabc4636b4f}

\item 
\hypertarget{classLinkLsa_ae5ae47234a1c2fc70c255ca4a32b1c89}{
list$<$ \hyperlink{classIPv6Prefix}{IPv6Prefix} $>$ {\bfseries \_\-prefixes}}
\label{classLinkLsa_ae5ae47234a1c2fc70c255ca4a32b1c89}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
OSPFv3 only: Link-\/LSA. 

\subsection{Member Function Documentation}
\hypertarget{classLinkLsa_a0d7f3ce579b39f37947480cdd3e4dbd1}{
\index{LinkLsa@{LinkLsa}!decode@{decode}}
\index{decode@{decode}!LinkLsa@{LinkLsa}}
\subsubsection[{decode}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Lsa::LsaRef} LinkLsa::decode (
\begin{DoxyParamCaption}
\item[{uint8\_\-t $\ast$}]{buf, }
\item[{size\_\-t \&}]{len}
\end{DoxyParamCaption}
) const  throw ({\bf InvalidPacket})\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classLinkLsa_a0d7f3ce579b39f37947480cdd3e4dbd1}


Decode an LSA. 


\begin{DoxyParams}{Parameters}
{\em buf} & pointer to buffer. \\
\hline
{\em len} & length of \hyperlink{protocolthe-p}{the} buffer on input set to \hyperlink{protocolthe-p}{the} number of bytes consumed on output.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A reference to an LSA that manages its own memory. 
\end{DoxyReturn}


Implements \hyperlink{classLsa_a2658a7d54d470268138d15938be0f464}{Lsa}.

\hypertarget{classLinkLsa_a77e28a4b3d1fb4432164996d7b8ba3f5}{
\index{LinkLsa@{LinkLsa}!encode@{encode}}
\index{encode@{encode}!LinkLsa@{LinkLsa}}
\subsubsection[{encode}]{\setlength{\rightskip}{0pt plus 5cm}bool LinkLsa::encode (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classLinkLsa_a77e28a4b3d1fb4432164996d7b8ba3f5}


Encode an LSA for transmission. 

\begin{DoxyReturn}{Returns}
True on success. 
\end{DoxyReturn}


Implements \hyperlink{classLsa_ae3bd3a0bd24ed458cc8ac8d7e91d1c35}{Lsa}.

\hypertarget{classLinkLsa_ac6bfbc6bd3ef34589976951687667758}{
\index{LinkLsa@{LinkLsa}!get\_\-ls\_\-type@{get\_\-ls\_\-type}}
\index{get\_\-ls\_\-type@{get\_\-ls\_\-type}!LinkLsa@{LinkLsa}}
\subsubsection[{get\_\-ls\_\-type}]{\setlength{\rightskip}{0pt plus 5cm}uint16\_\-t LinkLsa::get\_\-ls\_\-type (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline, virtual\mbox{]}}}}
\label{classLinkLsa_ac6bfbc6bd3ef34589976951687667758}


It is \hyperlink{protocolthe-p}{the} responsibilty of \hyperlink{protocolthe-p}{the} derived type to return this information. 

\begin{DoxyReturn}{Returns}
The type this lsa represents. 
\end{DoxyReturn}


Implements \hyperlink{classLsa_a0dcc648678ac88856635609a17029ae9}{Lsa}.

\hypertarget{classLinkLsa_a0bc42a32a4db6432a06b7921f8550ba0}{
\index{LinkLsa@{LinkLsa}!min\_\-length@{min\_\-length}}
\index{min\_\-length@{min\_\-length}!LinkLsa@{LinkLsa}}
\subsubsection[{min\_\-length}]{\setlength{\rightskip}{0pt plus 5cm}size\_\-t LinkLsa::min\_\-length (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline, virtual\mbox{]}}}}
\label{classLinkLsa_a0bc42a32a4db6432a06b7921f8550ba0}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} minimum length of a Link-\/LSA. 
\end{DoxyReturn}


Implements \hyperlink{classLsa_ad3324ea3bfa81ff90d15690c5ccbd1e4}{Lsa}.



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