\hypertarget{classIfTreeAddr4}{
\section{IfTreeAddr4 Class Reference}
\label{classIfTreeAddr4}\index{IfTreeAddr4@{IfTreeAddr4}}
}


Class for holding an \hyperlink{classIPv4}{IPv4} interface address and address related items.  




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

Inheritance diagram for IfTreeAddr4:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=3.000000cm]{classIfTreeAddr4}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classIfTreeAddr4_a1e21d42f953a52870ffe4a37af1abffd}{
{\bfseries IfTreeAddr4} (const \hyperlink{classIPv4}{IPv4} \&addr)}
\label{classIfTreeAddr4_a1e21d42f953a52870ffe4a37af1abffd}

\item 
\hypertarget{classIfTreeAddr4_a171dcf2cecb9c480555268ef097f24e9}{
const \hyperlink{classIPv4}{IPv4} \& {\bfseries addr} () const }
\label{classIfTreeAddr4_a171dcf2cecb9c480555268ef097f24e9}

\item 
\hypertarget{classIfTreeAddr4_a41bc17f993e62ceecdd5751cfdd1cc6f}{
bool {\bfseries enabled} () const }
\label{classIfTreeAddr4_a41bc17f993e62ceecdd5751cfdd1cc6f}

\item 
\hypertarget{classIfTreeAddr4_aa3a25e5ec6250f359681757a89e17376}{
bool {\bfseries broadcast} () const }
\label{classIfTreeAddr4_aa3a25e5ec6250f359681757a89e17376}

\item 
\hypertarget{classIfTreeAddr4_a42d151bb6617aa9ddea675023d2c42b9}{
bool {\bfseries loopback} () const }
\label{classIfTreeAddr4_a42d151bb6617aa9ddea675023d2c42b9}

\item 
\hypertarget{classIfTreeAddr4_afa846711f1d1a0bdb186db1a0069c505}{
bool {\bfseries point\_\-to\_\-point} () const }
\label{classIfTreeAddr4_afa846711f1d1a0bdb186db1a0069c505}

\item 
\hypertarget{classIfTreeAddr4_a81ecf7efc41e2ad932a4cb1daaafcb02}{
bool {\bfseries multicast} () const }
\label{classIfTreeAddr4_a81ecf7efc41e2ad932a4cb1daaafcb02}

\item 
\hypertarget{classIfTreeAddr4_a217645cfe5887723a1cf0c0bb65e65fd}{
void {\bfseries set\_\-enabled} (bool en)}
\label{classIfTreeAddr4_a217645cfe5887723a1cf0c0bb65e65fd}

\item 
\hypertarget{classIfTreeAddr4_a0494322ad78c12cfcad3f85eaac25518}{
void {\bfseries set\_\-broadcast} (bool v)}
\label{classIfTreeAddr4_a0494322ad78c12cfcad3f85eaac25518}

\item 
\hypertarget{classIfTreeAddr4_a4d0c5bebfe0e4de70b986033637ab396}{
void {\bfseries set\_\-loopback} (bool v)}
\label{classIfTreeAddr4_a4d0c5bebfe0e4de70b986033637ab396}

\item 
\hypertarget{classIfTreeAddr4_a5f7fc307526185a30b0ff07988743c1b}{
void {\bfseries set\_\-point\_\-to\_\-point} (bool v)}
\label{classIfTreeAddr4_a5f7fc307526185a30b0ff07988743c1b}

\item 
\hypertarget{classIfTreeAddr4_ac72a4f638ecdd497269074b209da83ec}{
void {\bfseries set\_\-multicast} (bool v)}
\label{classIfTreeAddr4_ac72a4f638ecdd497269074b209da83ec}

\item 
\hypertarget{classIfTreeAddr4_af33794be1c3c759f9b1ae8963dec7a41}{
uint32\_\-t \hyperlink{classIfTreeAddr4_af33794be1c3c759f9b1ae8963dec7a41}{prefix\_\-len} () const }
\label{classIfTreeAddr4_af33794be1c3c759f9b1ae8963dec7a41}

\begin{DoxyCompactList}\small\item\em Get prefix length associates with address. \item\end{DoxyCompactList}\item 
int \hyperlink{classIfTreeAddr4_a76f62d7726528308f344720fe7855cd3}{set\_\-prefix\_\-len} (uint32\_\-t prefix\_\-len)
\begin{DoxyCompactList}\small\item\em Set prefix length associate with address. \item\end{DoxyCompactList}\item 
\hyperlink{classIPv4}{IPv4} \hyperlink{classIfTreeAddr4_a47981be998d2d6c9c1730ead75aafbeb}{bcast} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} broadcast address. \item\end{DoxyCompactList}\item 
void \hyperlink{classIfTreeAddr4_aad4d1c5ee6d45f50c87509bfc95e1a78}{set\_\-bcast} (const \hyperlink{classIPv4}{IPv4} \&baddr)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} broadcast address. \item\end{DoxyCompactList}\item 
\hyperlink{classIPv4}{IPv4} \hyperlink{classIfTreeAddr4_aa9da016fe2b38cb3ea222d4c7b90e036}{endpoint} () const 
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} endpoint address of a point-\/to-\/point link. \item\end{DoxyCompactList}\item 
void \hyperlink{classIfTreeAddr4_a5a649073290bdb45747e7dadd33b9674}{set\_\-endpoint} (const \hyperlink{classIPv4}{IPv4} \&oaddr)
\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} endpoint address of a point-\/to-\/point link. \item\end{DoxyCompactList}\item 
\hypertarget{classIfTreeAddr4_a8464848a7d918f0287a06fcd4d2fa931}{
void \hyperlink{classIfTreeAddr4_a8464848a7d918f0287a06fcd4d2fa931}{copy\_\-state} (const \hyperlink{classIfTreeAddr4}{IfTreeAddr4} \&o)}
\label{classIfTreeAddr4_a8464848a7d918f0287a06fcd4d2fa931}

\begin{DoxyCompactList}\small\item\em Copy state of internal variables from another \hyperlink{classIfTreeAddr4}{IfTreeAddr4}. \item\end{DoxyCompactList}\item 
bool \hyperlink{classIfTreeAddr4_ab321c6d5a51ba3a8d7e2061418e66bb3}{is\_\-same\_\-state} (const \hyperlink{classIfTreeAddr4}{IfTreeAddr4} \&o)
\begin{DoxyCompactList}\small\item\em Test if \hyperlink{protocolthe-p}{the} address-\/specific internal state is same. \item\end{DoxyCompactList}\item 
\hypertarget{classIfTreeAddr4_ad441703df12496ed430ca95fdcb22940}{
void \hyperlink{classIfTreeAddr4_ad441703df12496ed430ca95fdcb22940}{finalize\_\-state} ()}
\label{classIfTreeAddr4_ad441703df12496ed430ca95fdcb22940}

\begin{DoxyCompactList}\small\item\em Virtual method to be implemented to flush out state associated objects, ie if an object is marked CREATED or CHANGED it should be marked NO\_\-CHANGE, if an object is marked DELETED, it should be removed from \hyperlink{protocolthe-p}{the} relevant container and destructed. \item\end{DoxyCompactList}\item 
\hypertarget{classIfTreeAddr4_a74bff0b2f25e0819281a96e46ca241ea}{
string {\bfseries str} () const }
\label{classIfTreeAddr4_a74bff0b2f25e0819281a96e46ca241ea}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classIfTreeAddr4_a805d99ff1d023c6974a0da00e6ed8310}{
\hyperlink{classIPv4}{IPv4} {\bfseries \_\-addr}}
\label{classIfTreeAddr4_a805d99ff1d023c6974a0da00e6ed8310}

\item 
\hypertarget{classIfTreeAddr4_acee3899a015a41a1edab1b31e12298a6}{
bool {\bfseries \_\-enabled}}
\label{classIfTreeAddr4_acee3899a015a41a1edab1b31e12298a6}

\item 
\hypertarget{classIfTreeAddr4_ab4918f7b72ac0f1043906955f46caccb}{
bool {\bfseries \_\-broadcast}}
\label{classIfTreeAddr4_ab4918f7b72ac0f1043906955f46caccb}

\item 
\hypertarget{classIfTreeAddr4_aad9128cd18b0dfeb216fd23615e2b7a6}{
bool {\bfseries \_\-loopback}}
\label{classIfTreeAddr4_aad9128cd18b0dfeb216fd23615e2b7a6}

\item 
\hypertarget{classIfTreeAddr4_a42a0ba05650c9ead330c5bd7a136b840}{
bool {\bfseries \_\-point\_\-to\_\-point}}
\label{classIfTreeAddr4_a42a0ba05650c9ead330c5bd7a136b840}

\item 
\hypertarget{classIfTreeAddr4_a19624670dc0efa70030fa15a0d2197fe}{
bool {\bfseries \_\-multicast}}
\label{classIfTreeAddr4_a19624670dc0efa70030fa15a0d2197fe}

\item 
\hypertarget{classIfTreeAddr4_aa622b6b53da0850f21c1e79bddbbb064}{
\hyperlink{classIPv4}{IPv4} {\bfseries \_\-oaddr}}
\label{classIfTreeAddr4_aa622b6b53da0850f21c1e79bddbbb064}

\item 
\hypertarget{classIfTreeAddr4_a085c460cd7541bfe1c94f2997f7d5069}{
uint32\_\-t {\bfseries \_\-prefix\_\-len}}
\label{classIfTreeAddr4_a085c460cd7541bfe1c94f2997f7d5069}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
Class for holding an \hyperlink{classIPv4}{IPv4} interface address and address related items. 

\subsection{Member Function Documentation}
\hypertarget{classIfTreeAddr4_a47981be998d2d6c9c1730ead75aafbeb}{
\index{IfTreeAddr4@{IfTreeAddr4}!bcast@{bcast}}
\index{bcast@{bcast}!IfTreeAddr4@{IfTreeAddr4}}
\subsubsection[{bcast}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IPv4} IfTreeAddr4::bcast (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classIfTreeAddr4_a47981be998d2d6c9c1730ead75aafbeb}


Get \hyperlink{protocolthe-p}{the} broadcast address. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} broadcast address or \hyperlink{classIPv4_a98e735cb5244537f232116bdceb4b946}{IPv4::ZERO()} if there is no broadcast address set. 
\end{DoxyReturn}
\hypertarget{classIfTreeAddr4_aa9da016fe2b38cb3ea222d4c7b90e036}{
\index{IfTreeAddr4@{IfTreeAddr4}!endpoint@{endpoint}}
\index{endpoint@{endpoint}!IfTreeAddr4@{IfTreeAddr4}}
\subsubsection[{endpoint}]{\setlength{\rightskip}{0pt plus 5cm}{\bf IPv4} IfTreeAddr4::endpoint (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classIfTreeAddr4_aa9da016fe2b38cb3ea222d4c7b90e036}


Get \hyperlink{protocolthe-p}{the} endpoint address of a point-\/to-\/point link. 

\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} broadcast address or \hyperlink{classIPv4_a98e735cb5244537f232116bdceb4b946}{IPv4::ZERO()} if there is no broadcast address set. 
\end{DoxyReturn}
\hypertarget{classIfTreeAddr4_ab321c6d5a51ba3a8d7e2061418e66bb3}{
\index{IfTreeAddr4@{IfTreeAddr4}!is\_\-same\_\-state@{is\_\-same\_\-state}}
\index{is\_\-same\_\-state@{is\_\-same\_\-state}!IfTreeAddr4@{IfTreeAddr4}}
\subsubsection[{is\_\-same\_\-state}]{\setlength{\rightskip}{0pt plus 5cm}bool IfTreeAddr4::is\_\-same\_\-state (
\begin{DoxyParamCaption}
\item[{const {\bf IfTreeAddr4} \&}]{o}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classIfTreeAddr4_ab321c6d5a51ba3a8d7e2061418e66bb3}


Test if \hyperlink{protocolthe-p}{the} address-\/specific internal state is same. 


\begin{DoxyParams}{Parameters}
{\em o} & \hyperlink{protocolthe-p}{the} \hyperlink{classIfTreeAddr4}{IfTreeAddr4} to compare against. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if \hyperlink{protocolthe-p}{the} address-\/specific internal state is same. 
\end{DoxyReturn}
\hypertarget{classIfTreeAddr4_aad4d1c5ee6d45f50c87509bfc95e1a78}{
\index{IfTreeAddr4@{IfTreeAddr4}!set\_\-bcast@{set\_\-bcast}}
\index{set\_\-bcast@{set\_\-bcast}!IfTreeAddr4@{IfTreeAddr4}}
\subsubsection[{set\_\-bcast}]{\setlength{\rightskip}{0pt plus 5cm}void IfTreeAddr4::set\_\-bcast (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4} \&}]{baddr}
\end{DoxyParamCaption}
)}}
\label{classIfTreeAddr4_aad4d1c5ee6d45f50c87509bfc95e1a78}


Set \hyperlink{protocolthe-p}{the} broadcast address. 


\begin{DoxyParams}{Parameters}
{\em baddr} & \hyperlink{protocolthe-p}{the} broadcast address. \\
\hline
\end{DoxyParams}
\hypertarget{classIfTreeAddr4_a5a649073290bdb45747e7dadd33b9674}{
\index{IfTreeAddr4@{IfTreeAddr4}!set\_\-endpoint@{set\_\-endpoint}}
\index{set\_\-endpoint@{set\_\-endpoint}!IfTreeAddr4@{IfTreeAddr4}}
\subsubsection[{set\_\-endpoint}]{\setlength{\rightskip}{0pt plus 5cm}void IfTreeAddr4::set\_\-endpoint (
\begin{DoxyParamCaption}
\item[{const {\bf IPv4} \&}]{oaddr}
\end{DoxyParamCaption}
)}}
\label{classIfTreeAddr4_a5a649073290bdb45747e7dadd33b9674}


Set \hyperlink{protocolthe-p}{the} endpoint address of a point-\/to-\/point link. 


\begin{DoxyParams}{Parameters}
{\em oaddr} & \hyperlink{protocolthe-p}{the} endpoint address. \\
\hline
\end{DoxyParams}
\hypertarget{classIfTreeAddr4_a76f62d7726528308f344720fe7855cd3}{
\index{IfTreeAddr4@{IfTreeAddr4}!set\_\-prefix\_\-len@{set\_\-prefix\_\-len}}
\index{set\_\-prefix\_\-len@{set\_\-prefix\_\-len}!IfTreeAddr4@{IfTreeAddr4}}
\subsubsection[{set\_\-prefix\_\-len}]{\setlength{\rightskip}{0pt plus 5cm}int IfTreeAddr4::set\_\-prefix\_\-len (
\begin{DoxyParamCaption}
\item[{uint32\_\-t}]{prefix\_\-len}
\end{DoxyParamCaption}
)}}
\label{classIfTreeAddr4_a76f62d7726528308f344720fe7855cd3}


Set prefix length associate with address. 

\begin{DoxyReturn}{Returns}
XORP\_\-OK on success, otherwise XORP\_\-ERROR. 
\end{DoxyReturn}


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