\hypertarget{classOspf}{
\section{Ospf$<$ A $>$ Class Template Reference}
\label{classOspf}\index{Ospf@{Ospf}}
}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classOspf_a5fefc96deab9d218d8ef4ad7626dae23}{
{\bfseries Ospf} (\hyperlink{structOspfTypes_a60eb031df0c10af753789ae76b185ec2}{OspfTypes::Version} version, \hyperlink{classEventLoop}{EventLoop} \&eventloop, \hyperlink{classIO}{IO}$<$ A $>$ $\ast$io)}
\label{classOspf_a5fefc96deab9d218d8ef4ad7626dae23}

\item 
\hyperlink{structOspfTypes_a60eb031df0c10af753789ae76b185ec2}{OspfTypes::Version} \hyperlink{classOspf_a75e19962d25782d0317c66cfbd2c9bb4}{version} ()
\item 
bool \hyperlink{classOspf_a99749ef89ef49b01a62504e1f85592fa}{running} ()
\item 
\hypertarget{classOspf_a18a44d039e633ab535f2efed9702aa2a}{
ProcessStatus \hyperlink{classOspf_a18a44d039e633ab535f2efed9702aa2a}{status} (string \&reason)}
\label{classOspf_a18a44d039e633ab535f2efed9702aa2a}

\begin{DoxyCompactList}\small\item\em Status of process. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_abb6ff1b505f1d1780a052f3e37f19daf}{
void \hyperlink{classOspf_abb6ff1b505f1d1780a052f3e37f19daf}{shutdown} ()}
\label{classOspf_abb6ff1b505f1d1780a052f3e37f19daf}

\begin{DoxyCompactList}\small\item\em \hyperlink{classShutdown}{Shutdown} OSPF. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a2edd102ec1eafb7b464a04c7d4663819}{
bool \hyperlink{classOspf_a2edd102ec1eafb7b464a04c7d4663819}{transmit} (const string \&interface, const string \&vif, A dst, A src, int ttl, uint8\_\-t $\ast$data, uint32\_\-t len)}
\label{classOspf_a2edd102ec1eafb7b464a04c7d4663819}

\begin{DoxyCompactList}\small\item\em Used to send traffic on \hyperlink{protocolthe-p}{the} \hyperlink{classIO}{IO} interface. \item\end{DoxyCompactList}\item 
void \hyperlink{classOspf_ac5c95772fcbc0a82e2ab1f34688e5de0}{receive} (const string \&interface, const string \&vif, A dst, A src, uint8\_\-t $\ast$data, uint32\_\-t len)
\begin{DoxyCompactList}\small\item\em The callback method that is called when data arrives on \hyperlink{protocolthe-p}{the} \hyperlink{classIO}{IO} interface. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a0aabc264ac2cc4813609b74667d4b187}{
bool \hyperlink{classOspf_a0aabc264ac2cc4813609b74667d4b187}{enable\_\-interface\_\-vif} (const string \&interface, const string \&vif)}
\label{classOspf_a0aabc264ac2cc4813609b74667d4b187}

\begin{DoxyCompactList}\small\item\em Enable \hyperlink{protocolthe-p}{the} interface/vif to receive frames. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a4578c49aa4e41ab82a57cb8e7650bf8c}{
bool \hyperlink{classOspf_a4578c49aa4e41ab82a57cb8e7650bf8c}{disable\_\-interface\_\-vif} (const string \&interface, const string \&vif)}
\label{classOspf_a4578c49aa4e41ab82a57cb8e7650bf8c}

\begin{DoxyCompactList}\small\item\em Disable this interface/vif from receiving frames. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_af0fb1baa245dc022d6629c4c1822ce9a}{enabled} (const string \&interface, const string \&vif)
\begin{DoxyCompactList}\small\item\em Is this interface/vif enabled? This is a question asked of \hyperlink{protocolthe-p}{the} FEA, has \hyperlink{protocolthe-p}{the} interface/vif been marked as up. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_aaf7cebb1b68c5173055cb0ce01fc4b4b}{enabled} (const string \&interface, const string \&vif, A address)
\begin{DoxyCompactList}\small\item\em Is this interface/vif/address enabled? This is a question asked of \hyperlink{protocolthe-p}{the} FEA, has \hyperlink{protocolthe-p}{the} interface/vif been marked as up. \item\end{DoxyCompactList}\item 
void \hyperlink{classOspf_abe5267e2cccbf4288497a33a625ef7fc}{register\_\-vif\_\-status} (typename \hyperlink{classIO}{IO}$<$ A $>$::VifStatusCb cb)
\begin{DoxyCompactList}\small\item\em Add a callback for tracking \hyperlink{protocolthe-p}{the} interface/vif status. \item\end{DoxyCompactList}\item 
void \hyperlink{classOspf_a3c94978af82b80b30af960a88c89532b}{register\_\-address\_\-status} (typename \hyperlink{classIO}{IO}$<$ A $>$::AddressStatusCb cb)
\begin{DoxyCompactList}\small\item\em Add a callback for tracking \hyperlink{protocolthe-p}{the} interface/vif/address status. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_a5abe67e83b7fd2cea60acc282bfe9500}{get\_\-addresses} (const string \&interface, const string \&vif, list$<$ A $>$ \&addresses) const 
\begin{DoxyCompactList}\small\item\em Get all addresses associated with this interface/vif. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_a85292129ccb95a6c23bea31c3dceefa4}{get\_\-link\_\-local\_\-address} (const string \&interface, const string \&vif, A \&address)
\begin{DoxyCompactList}\small\item\em Get a link local address for this interface/vif if available. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_a907b9d5299dc5cc439f701fa52bd6280}{get\_\-interface\_\-id} (const string \&interface, const string \&vif, uint32\_\-t \&interface\_\-id)
\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} interface ID required for OSPFv3. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a1973b01e69ccc45cac33d7e3748e25a2}{
bool \hyperlink{classOspf_a1973b01e69ccc45cac33d7e3748e25a2}{get\_\-interface\_\-vif\_\-by\_\-interface\_\-id} (uint32\_\-t interface\_\-id, string \&interface, string \&vif)}
\label{classOspf_a1973b01e69ccc45cac33d7e3748e25a2}

\begin{DoxyCompactList}\small\item\em Given an interface ID return \hyperlink{protocolthe-p}{the} interface and vif. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_a3d4a5400ddefa6c8c9723730ad0be3fe}{get\_\-prefix\_\-length} (const string \&interface, const string \&vif, A address, uint16\_\-t \&prefix\_\-length)
\item 
uint32\_\-t \hyperlink{classOspf_ae87bdb8562890ec4686a7b15c15c7f0e}{get\_\-mtu} (const string \&interface)
\item 
\hypertarget{classOspf_aca0d31ea2a7907ba61eda497b7cc19b6}{
bool \hyperlink{classOspf_aca0d31ea2a7907ba61eda497b7cc19b6}{join\_\-multicast\_\-group} (const string \&interface, const string \&vif, A mcast)}
\label{classOspf_aca0d31ea2a7907ba61eda497b7cc19b6}

\begin{DoxyCompactList}\small\item\em On \hyperlink{protocolthe-p}{the} interface/vif join this multicast group. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_aaff46a2b5fca6dad361a02d7e1ffdab3}{
bool \hyperlink{classOspf_aaff46a2b5fca6dad361a02d7e1ffdab3}{leave\_\-multicast\_\-group} (const string \&interface, const string \&vif, A mcast)}
\label{classOspf_aaff46a2b5fca6dad361a02d7e1ffdab3}

\begin{DoxyCompactList}\small\item\em On \hyperlink{protocolthe-p}{the} interface/vif leave this multicast group. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_ae32d3798c0369df30da605c43739e3da}{
bool \hyperlink{classOspf_ae32d3798c0369df30da605c43739e3da}{set\_\-hello\_\-interval} (const string \&interface, const string \&vif, \hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} area, uint16\_\-t hello\_\-interval)}
\label{classOspf_ae32d3798c0369df30da605c43739e3da}

\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} hello interval in seconds. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_a43e464dc8946a1a4db5a297b972771eb}{create\_\-virtual\_\-link} (\hyperlink{structOspfTypes_a8fc36f0cbcee50cfdb0d10b192aaa53a}{OspfTypes::RouterID} rid)
\begin{DoxyCompactList}\small\item\em Create a virtual link. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_a587c3258d15c2f709be5bdfe86c05c29}{delete\_\-virtual\_\-link} (\hyperlink{structOspfTypes_a8fc36f0cbcee50cfdb0d10b192aaa53a}{OspfTypes::RouterID} rid)
\begin{DoxyCompactList}\small\item\em Delete a virtual link. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_aac4ac7d52dded18e6c6dfa77d7c62f0d}{
bool \hyperlink{classOspf_aac4ac7d52dded18e6c6dfa77d7c62f0d}{transit\_\-area\_\-virtual\_\-link} (\hyperlink{structOspfTypes_a8fc36f0cbcee50cfdb0d10b192aaa53a}{OspfTypes::RouterID} rid, \hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} transit\_\-area)}
\label{classOspf_aac4ac7d52dded18e6c6dfa77d7c62f0d}

\begin{DoxyCompactList}\small\item\em Attach this transit area to \hyperlink{protocolthe-p}{the} neighbours router ID. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_ada6bd3bba4d91e9a7d86e75ae6853b7a}{
bool \hyperlink{classOspf_ada6bd3bba4d91e9a7d86e75ae6853b7a}{set\_\-router\_\-priority} (const string \&interface, const string \&vif, \hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} area, uint8\_\-t priority)}
\label{classOspf_ada6bd3bba4d91e9a7d86e75ae6853b7a}

\begin{DoxyCompactList}\small\item\em Set router priority. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a06bff7a678e24c630fa9dfee781c6cb3}{
bool \hyperlink{classOspf_a06bff7a678e24c630fa9dfee781c6cb3}{set\_\-router\_\-dead\_\-interval} (const string \&interface, const string \&vif, \hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} area, uint32\_\-t router\_\-dead\_\-interval)}
\label{classOspf_a06bff7a678e24c630fa9dfee781c6cb3}

\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} router dead interval in seconds. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a6acbcc9e304e59c247ab97fc4b5ba92d}{
bool \hyperlink{classOspf_a6acbcc9e304e59c247ab97fc4b5ba92d}{set\_\-interface\_\-cost} (const string \&interface, const string \&vif, \hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} area, uint16\_\-t interface\_\-cost)}
\label{classOspf_a6acbcc9e304e59c247ab97fc4b5ba92d}

\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} interface cost. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a342cd83854c526ae7d0dcd7ab7f41b2f}{
bool \hyperlink{classOspf_a342cd83854c526ae7d0dcd7ab7f41b2f}{set\_\-retransmit\_\-interval} (const string \&interface, const string \&vif, \hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} area, uint16\_\-t retransmit\_\-interval)}
\label{classOspf_a342cd83854c526ae7d0dcd7ab7f41b2f}

\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} RxmtInterval. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a74c74fc809789f60757305919eca2863}{
bool \hyperlink{classOspf_a74c74fc809789f60757305919eca2863}{set\_\-inftransdelay} (const string \&interface, const string \&vif, \hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} area, uint16\_\-t inftransdelay)}
\label{classOspf_a74c74fc809789f60757305919eca2863}

\begin{DoxyCompactList}\small\item\em Set InfTransDelay. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_a7b1992c40a50215eaf3b5c350c6b18c3}{set\_\-simple\_\-authentication\_\-key} (const string \&interface, const string \&vif, \hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} area, const string \&password, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Set a simple password authentication key. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_a5c01f33f1728d27707a0faa871b9e36c}{delete\_\-simple\_\-authentication\_\-key} (const string \&interface, const string \&vif, \hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} area, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Delete a simple password authentication key. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_afcb88f26356bd6a0f9449cc39fe962d0}{set\_\-md5\_\-authentication\_\-key} (const string \&interface, const string \&vif, \hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} area, uint8\_\-t key\_\-id, const string \&password, const \hyperlink{classTimeVal}{TimeVal} \&start\_\-timeval, const \hyperlink{classTimeVal}{TimeVal} \&end\_\-timeval, const \hyperlink{classTimeVal}{TimeVal} \&max\_\-time\_\-drift, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Set an MD5 authentication key. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_ad90ff18af2b073824316314bf1743163}{delete\_\-md5\_\-authentication\_\-key} (const string \&interface, const string \&vif, \hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} area, uint8\_\-t key\_\-id, string \&error\_\-msg)
\begin{DoxyCompactList}\small\item\em Delete an MD5 authentication key. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a4b0588d5f429204cd6e1ddbe016ea515}{
bool \hyperlink{classOspf_a4b0588d5f429204cd6e1ddbe016ea515}{set\_\-passive} (const string \&interface, const string \&vif, \hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} area, bool passive, bool host)}
\label{classOspf_a4b0588d5f429204cd6e1ddbe016ea515}

\begin{DoxyCompactList}\small\item\em Toggle \hyperlink{protocolthe-p}{the} passive status of an interface. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a3549048c3f613e6528f21651b1edf047}{
bool \hyperlink{classOspf_a3549048c3f613e6528f21651b1edf047}{originate\_\-default\_\-route} (\hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} area, bool enable)}
\label{classOspf_a3549048c3f613e6528f21651b1edf047}

\begin{DoxyCompactList}\small\item\em If this is a \char`\"{}stub\char`\"{} or \char`\"{}nssa\char`\"{} area toggle \hyperlink{protocolthe-p}{the} sending of a default route. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a66491a9db3a093d35c621c692d415238}{
bool \hyperlink{classOspf_a66491a9db3a093d35c621c692d415238}{stub\_\-default\_\-cost} (\hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} area, uint32\_\-t cost)}
\label{classOspf_a66491a9db3a093d35c621c692d415238}

\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} StubDefaultCost, \hyperlink{protocolthe-p}{the} default cost sent in a default route in a \char`\"{}stub\char`\"{} or \char`\"{}nssa\char`\"{} area. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_ad37181d96226f3bbd035d0e940d74f5a}{
bool \hyperlink{classOspf_ad37181d96226f3bbd035d0e940d74f5a}{summaries} (\hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} area, bool enable)}
\label{classOspf_ad37181d96226f3bbd035d0e940d74f5a}

\begin{DoxyCompactList}\small\item\em Toggle \hyperlink{protocolthe-p}{the} sending of summaries into \char`\"{}stub\char`\"{} or \char`\"{}nssa\char`\"{} areas. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_ae5fce64df4433388221e9ec48c5ad6e2}{
bool \hyperlink{classOspf_ae5fce64df4433388221e9ec48c5ad6e2}{set\_\-ip\_\-router\_\-alert} (bool alert)}
\label{classOspf_ae5fce64df4433388221e9ec48c5ad6e2}

\begin{DoxyCompactList}\small\item\em \hyperlink{structSend}{Send} router alerts in IP packets or not. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_af8a04d06c391a59b9fbd0a7087767e69}{
bool \hyperlink{classOspf_af8a04d06c391a59b9fbd0a7087767e69}{area\_\-range\_\-add} (\hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} area, \hyperlink{classIPNet}{IPNet}$<$ A $>$ net, bool advertise)}
\label{classOspf_af8a04d06c391a59b9fbd0a7087767e69}

\begin{DoxyCompactList}\small\item\em Add area range. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a0a719c0d05ddfcc28cfb4b59e9d8ccb1}{
bool \hyperlink{classOspf_a0a719c0d05ddfcc28cfb4b59e9d8ccb1}{area\_\-range\_\-delete} (\hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} area, \hyperlink{classIPNet}{IPNet}$<$ A $>$ net)}
\label{classOspf_a0a719c0d05ddfcc28cfb4b59e9d8ccb1}

\begin{DoxyCompactList}\small\item\em Delete area range. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_aa02d472109133a224661026911366112}{
bool \hyperlink{classOspf_aa02d472109133a224661026911366112}{area\_\-range\_\-change\_\-state} (\hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} area, \hyperlink{classIPNet}{IPNet}$<$ A $>$ net, bool advertise)}
\label{classOspf_aa02d472109133a224661026911366112}

\begin{DoxyCompactList}\small\item\em Change \hyperlink{protocolthe-p}{the} advertised state of this area. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_a5438e9ec5615627ba52db7896b4a5333}{get\_\-lsa} (const \hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} area, const uint32\_\-t index, bool \&valid, bool \&toohigh, bool \&self, vector$<$ uint8\_\-t $>$ \&lsa)
\begin{DoxyCompactList}\small\item\em Get a single lsa from an area. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a1c2be1e417751a0b3ba0a6df2c2a332d}{
bool \hyperlink{classOspf_a1c2be1e417751a0b3ba0a6df2c2a332d}{get\_\-area\_\-list} (list$<$ \hyperlink{structOspfTypes_a8276e5e81192074d7c95e445995d18c6}{OspfTypes::AreaID} $>$ \&areas) const }
\label{classOspf_a1c2be1e417751a0b3ba0a6df2c2a332d}

\begin{DoxyCompactList}\small\item\em Get a list of all \hyperlink{protocolthe-p}{the} configured areas. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_aa29233f605e0c6fc0095e0f2238d1e42}{
bool \hyperlink{classOspf_aa29233f605e0c6fc0095e0f2238d1e42}{get\_\-neighbour\_\-list} (list$<$ \hyperlink{structOspfTypes_ab410d0371b8456f91ff133e6edf9da3f}{OspfTypes::NeighbourID} $>$ \&neighbours) const }
\label{classOspf_aa29233f605e0c6fc0095e0f2238d1e42}

\begin{DoxyCompactList}\small\item\em Get a list of all \hyperlink{protocolthe-p}{the} neighbours. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_ae205f2737d3461dd4bbf8a6b15cb682f}{get\_\-neighbour\_\-info} (\hyperlink{structOspfTypes_ab410d0371b8456f91ff133e6edf9da3f}{OspfTypes::NeighbourID} nid, \hyperlink{structNeighbourInfo}{NeighbourInfo} \&ninfo) const 
\begin{DoxyCompactList}\small\item\em Get state information about this neighbour. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a6969ca06b73f8e4059d5484aab285c6a}{
bool \hyperlink{classOspf_a6969ca06b73f8e4059d5484aab285c6a}{clear\_\-database} ()}
\label{classOspf_a6969ca06b73f8e4059d5484aab285c6a}

\begin{DoxyCompactList}\small\item\em Clear \hyperlink{protocolthe-p}{the} database. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_a4d90352532a9b5266cf1e8b733d4cf19}{add\_\-route} (\hyperlink{classIPNet}{IPNet}$<$ A $>$ net, A nexthop, uint32\_\-t nexthop\_\-id, uint32\_\-t metric, bool equal, bool discard, const \hyperlink{classPolicyTags}{PolicyTags} \&policytags)
\begin{DoxyCompactList}\small\item\em Add route. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_ab0265cd3666d42ec1736097195a4c4b7}{replace\_\-route} (\hyperlink{classIPNet}{IPNet}$<$ A $>$ net, A nexthop, uint32\_\-t nexthop\_\-id, uint32\_\-t metric, bool equal, bool discard, const \hyperlink{classPolicyTags}{PolicyTags} \&policytags)
\begin{DoxyCompactList}\small\item\em Replace route. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a9a0530e4992570e4e727006d69781768}{
bool \hyperlink{classOspf_a9a0530e4992570e4e727006d69781768}{delete\_\-route} (\hyperlink{classIPNet}{IPNet}$<$ A $>$ net)}
\label{classOspf_a9a0530e4992570e4e727006d69781768}

\begin{DoxyCompactList}\small\item\em Delete route. \item\end{DoxyCompactList}\item 
void \hyperlink{classOspf_a6b3ca95341e8452ebed4fee4a7c68675}{configure\_\-filter} (const uint32\_\-t \&filter, const string \&conf)
\begin{DoxyCompactList}\small\item\em Configure a policy filter. \item\end{DoxyCompactList}\item 
void \hyperlink{classOspf_a2ae41f055f50670fb9b63fe8b28a8a39}{reset\_\-filter} (const uint32\_\-t \&filter)
\begin{DoxyCompactList}\small\item\em Reset a policy filter. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a900bc3e4ec0cb6d5d6f015a052380998}{
void \hyperlink{classOspf_a900bc3e4ec0cb6d5d6f015a052380998}{push\_\-routes} ()}
\label{classOspf_a900bc3e4ec0cb6d5d6f015a052380998}

\begin{DoxyCompactList}\small\item\em \hyperlink{classPush}{Push} routes through policy filters for re-\/filtering. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_a05f16477c676a6918b25f217ec640d9c}{originate\_\-route} (const \hyperlink{classIPNet}{IPNet}$<$ A $>$ \&net, const A \&nexthop, const uint32\_\-t \&metric, const \hyperlink{classPolicyTags}{PolicyTags} \&policytags)
\begin{DoxyCompactList}\small\item\em Originate a route. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_afad37f0425731084655b992d84026cdd}{withdraw\_\-route} (const \hyperlink{classIPNet}{IPNet}$<$ A $>$ \&net)
\begin{DoxyCompactList}\small\item\em Withdraw a route. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a815198c1fb0e297513fb23928a0d8760}{
\hyperlink{structOspfTypes_a60eb031df0c10af753789ae76b185ec2}{OspfTypes::Version} \hyperlink{classOspf_a815198c1fb0e297513fb23928a0d8760}{get\_\-version} () const }
\label{classOspf_a815198c1fb0e297513fb23928a0d8760}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} current OSPF version. \item\end{DoxyCompactList}\item 
\hyperlink{classEventLoop}{EventLoop} \& \hyperlink{classOspf_a0bdaf665c56f92476cb40e43ba729608}{get\_\-eventloop} ()
\item 
\hypertarget{classOspf_aff187d69d0a47b29512947ba276a97f3}{
void \hyperlink{classOspf_aff187d69d0a47b29512947ba276a97f3}{set\_\-testing} (bool testing)}
\label{classOspf_aff187d69d0a47b29512947ba276a97f3}

\begin{DoxyCompactList}\small\item\em The test status of OSPF. \item\end{DoxyCompactList}\item 
bool \hyperlink{classOspf_aabcff0a3feb6a89f1f8ef5f598bb44d3}{get\_\-testing} () const 
\item 
\hyperlink{classPeerManager}{PeerManager}$<$ A $>$ \& \hyperlink{classOspf_af85d45541a99dc8151e3621b13ae9119}{get\_\-peer\_\-manager} ()
\item 
\hyperlink{classRoutingTable}{RoutingTable}$<$ A $>$ \& \hyperlink{classOspf_a890b1c77ff3dddc3d89d03cca48385cd}{get\_\-routing\_\-table} ()
\item 
\hyperlink{classLsaDecoder}{LsaDecoder} \& \hyperlink{classOspf_a856bf1ac5440614172524c72396eac83}{get\_\-lsa\_\-decoder} ()
\item 
\hyperlink{classPolicyFilters}{PolicyFilters} \& \hyperlink{classOspf_abce45488d30839cf746e60d1ce26d33c}{get\_\-policy\_\-filters} ()
\item 
\hypertarget{classOspf_acf6cd05f0a78941f2b1ed24b82ea9857}{
uint8\_\-t \hyperlink{classOspf_acf6cd05f0a78941f2b1ed24b82ea9857}{get\_\-instance\_\-id} () const }
\label{classOspf_acf6cd05f0a78941f2b1ed24b82ea9857}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} Instance ID. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_af36b9e3629f0c0d3cb601e44736cd794}{
void \hyperlink{classOspf_af36b9e3629f0c0d3cb601e44736cd794}{set\_\-instance\_\-id} (uint8\_\-t instance\_\-id)}
\label{classOspf_af36b9e3629f0c0d3cb601e44736cd794}

\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} Instance ID. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_af3a9eb9d0f9ec175efb78ba4b87909fd}{
\hyperlink{structOspfTypes_a8fc36f0cbcee50cfdb0d10b192aaa53a}{OspfTypes::RouterID} \hyperlink{classOspf_af3a9eb9d0f9ec175efb78ba4b87909fd}{get\_\-router\_\-id} () const }
\label{classOspf_af3a9eb9d0f9ec175efb78ba4b87909fd}

\begin{DoxyCompactList}\small\item\em Get \hyperlink{protocolthe-p}{the} Router ID. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a1862bfe8960ffd0474f8057d8955fc87}{
void \hyperlink{classOspf_a1862bfe8960ffd0474f8057d8955fc87}{set\_\-router\_\-id} (\hyperlink{structOspfTypes_a8fc36f0cbcee50cfdb0d10b192aaa53a}{OspfTypes::RouterID} id)}
\label{classOspf_a1862bfe8960ffd0474f8057d8955fc87}

\begin{DoxyCompactList}\small\item\em Set \hyperlink{protocolthe-p}{the} Router ID. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a6caac1b6b37211217836430148026e81}{
bool \hyperlink{classOspf_a6caac1b6b37211217836430148026e81}{get\_\-rfc1583\_\-compatibility} () const }
\label{classOspf_a6caac1b6b37211217836430148026e81}

\begin{DoxyCompactList}\small\item\em Get RFC 1583 compatibility. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_a75d9492759921dd1449226f32e5eb30c}{
void \hyperlink{classOspf_a75d9492759921dd1449226f32e5eb30c}{set\_\-rfc1583\_\-compatibility} (bool compatibility)}
\label{classOspf_a75d9492759921dd1449226f32e5eb30c}

\begin{DoxyCompactList}\small\item\em Set RFC 1583 compatibility. \item\end{DoxyCompactList}\item 
\hypertarget{classOspf_aae942a5f1bf19997e19487e654d4e2fb}{
\hyperlink{structTrace}{Trace} \& {\bfseries trace} ()}
\label{classOspf_aae942a5f1bf19997e19487e654d4e2fb}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classOspf_acf891882ff2cfae12f9397314d091c94}{
const \hyperlink{structOspfTypes_a60eb031df0c10af753789ae76b185ec2}{OspfTypes::Version} {\bfseries \_\-version}}
\label{classOspf_acf891882ff2cfae12f9397314d091c94}

\item 
\hypertarget{classOspf_a5674c9337dbabc5b0db4ebd9f927f995}{
\hyperlink{classEventLoop}{EventLoop} \& {\bfseries \_\-eventloop}}
\label{classOspf_a5674c9337dbabc5b0db4ebd9f927f995}

\item 
\hypertarget{classOspf_a30506e6a4d6ee9b85a02c49cf1e9aca8}{
bool {\bfseries \_\-testing}}
\label{classOspf_a30506e6a4d6ee9b85a02c49cf1e9aca8}

\item 
\hypertarget{classOspf_adc07934701f302e3b814b47561ebaf4a}{
\hyperlink{classIO}{IO}$<$ A $>$ $\ast$ {\bfseries \_\-io}}
\label{classOspf_adc07934701f302e3b814b47561ebaf4a}

\item 
\hypertarget{classOspf_a286354a85e17c661f12d00e31674eeab}{
string {\bfseries \_\-reason}}
\label{classOspf_a286354a85e17c661f12d00e31674eeab}

\item 
\hypertarget{classOspf_a7040f5eb37362484cc766a7f5b3c76a0}{
ProcessStatus {\bfseries \_\-process\_\-status}}
\label{classOspf_a7040f5eb37362484cc766a7f5b3c76a0}

\item 
\hypertarget{classOspf_a115c6bdb1ad78f1a9aedd4b893a4b737}{
\hyperlink{classPacketDecoder}{PacketDecoder} {\bfseries \_\-packet\_\-decoder}}
\label{classOspf_a115c6bdb1ad78f1a9aedd4b893a4b737}

\item 
\hypertarget{classOspf_a02ea3eab776e70277b38a9e9e431c4b5}{
\hyperlink{classLsaDecoder}{LsaDecoder} {\bfseries \_\-lsa\_\-decoder}}
\label{classOspf_a02ea3eab776e70277b38a9e9e431c4b5}

\item 
\hypertarget{classOspf_a167d3ff27977f0602b8bb850c7c61738}{
\hyperlink{classPeerManager}{PeerManager}$<$ A $>$ {\bfseries \_\-peer\_\-manager}}
\label{classOspf_a167d3ff27977f0602b8bb850c7c61738}

\item 
\hypertarget{classOspf_a6ebb7698c2eb1167844ba8b47bc5811a}{
\hyperlink{classRoutingTable}{RoutingTable}$<$ A $>$ {\bfseries \_\-routing\_\-table}}
\label{classOspf_a6ebb7698c2eb1167844ba8b47bc5811a}

\item 
\hypertarget{classOspf_a9f4e5529da34583b81e02cd1e6e58c24}{
\hyperlink{classPolicyFilters}{PolicyFilters} {\bfseries \_\-policy\_\-filters}}
\label{classOspf_a9f4e5529da34583b81e02cd1e6e58c24}

\item 
\hypertarget{classOspf_a6d8eed5441227692c7aa72ff31f58b5a}{
uint8\_\-t {\bfseries \_\-instance\_\-id}}
\label{classOspf_a6d8eed5441227692c7aa72ff31f58b5a}

\item 
\hypertarget{classOspf_a370545522f2a017407cf48ecdd689f3c}{
\hyperlink{structOspfTypes_a8fc36f0cbcee50cfdb0d10b192aaa53a}{OspfTypes::RouterID} {\bfseries \_\-router\_\-id}}
\label{classOspf_a370545522f2a017407cf48ecdd689f3c}

\item 
\hypertarget{classOspf_a0ee67634a0d56ed709c98a02435ed9b1}{
bool {\bfseries \_\-rfc1583\_\-compatibility}}
\label{classOspf_a0ee67634a0d56ed709c98a02435ed9b1}

\item 
\hypertarget{classOspf_a0a1c922ff069dddacf9b9c132e9e097a}{
map$<$ string, uint32\_\-t $>$ {\bfseries \_\-iidmap}}
\label{classOspf_a0a1c922ff069dddacf9b9c132e9e097a}

\item 
\hypertarget{classOspf_aea19cb092e5c804c68372e6e6a42225a}{
\hyperlink{structTrace}{Trace} {\bfseries \_\-trace}}
\label{classOspf_aea19cb092e5c804c68372e6e6a42225a}

\end{DoxyCompactItemize}
\subsubsection*{template$<$typename A$>$ class Ospf$<$ A $>$}



\subsection{Member Function Documentation}
\hypertarget{classOspf_a4d90352532a9b5266cf1e8b733d4cf19}{
\index{Ospf@{Ospf}!add\_\-route@{add\_\-route}}
\index{add\_\-route@{add\_\-route}!Ospf@{Ospf}}
\subsubsection[{add\_\-route}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ bool {\bf Ospf}$<$ A $>$::add\_\-route (
\begin{DoxyParamCaption}
\item[{{\bf IPNet}$<$ A $>$}]{net, }
\item[{A}]{nexthop, }
\item[{uint32\_\-t}]{nexthop\_\-id, }
\item[{uint32\_\-t}]{metric, }
\item[{bool}]{equal, }
\item[{bool}]{discard, }
\item[{const {\bf PolicyTags} \&}]{policytags}
\end{DoxyParamCaption}
)}}
\label{classOspf_a4d90352532a9b5266cf1e8b733d4cf19}


Add route. 


\begin{DoxyParams}{Parameters}
{\em net} & network \\
\hline
{\em nexthop} & \\
\hline
{\em nexthop\_\-id} & interface ID towards \hyperlink{protocolthe-p}{the} nexthop \\
\hline
{\em metric} & to network \\
\hline
{\em equal} & true if this in another route to \hyperlink{protocolthe-p}{the} same destination. \\
\hline
{\em discard} & true if this is a discard route. \\
\hline
{\em policytags} & policy info to \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. \\
\hline
\end{DoxyParams}
\hypertarget{classOspf_a6b3ca95341e8452ebed4fee4a7c68675}{
\index{Ospf@{Ospf}!configure\_\-filter@{configure\_\-filter}}
\index{configure\_\-filter@{configure\_\-filter}!Ospf@{Ospf}}
\subsubsection[{configure\_\-filter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ void {\bf Ospf}$<$ A $>$::configure\_\-filter (
\begin{DoxyParamCaption}
\item[{const uint32\_\-t \&}]{filter, }
\item[{const string \&}]{conf}
\end{DoxyParamCaption}
)}}
\label{classOspf_a6b3ca95341e8452ebed4fee4a7c68675}


Configure a policy filter. 


\begin{DoxyParams}{Parameters}
{\em filter} & Id of filter to configure. \\
\hline
{\em conf} & \hyperlink{classConfiguration}{Configuration} of filter. \\
\hline
\end{DoxyParams}
\hypertarget{classOspf_a43e464dc8946a1a4db5a297b972771eb}{
\index{Ospf@{Ospf}!create\_\-virtual\_\-link@{create\_\-virtual\_\-link}}
\index{create\_\-virtual\_\-link@{create\_\-virtual\_\-link}!Ospf@{Ospf}}
\subsubsection[{create\_\-virtual\_\-link}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ bool {\bf Ospf}$<$ A $>$::create\_\-virtual\_\-link (
\begin{DoxyParamCaption}
\item[{{\bf OspfTypes::RouterID}}]{rid}
\end{DoxyParamCaption}
)}}
\label{classOspf_a43e464dc8946a1a4db5a297b972771eb}


Create a virtual link. 


\begin{DoxyParams}{Parameters}
{\em rid} & neighbours router ID. \\
\hline
\end{DoxyParams}
\hypertarget{classOspf_ad90ff18af2b073824316314bf1743163}{
\index{Ospf@{Ospf}!delete\_\-md5\_\-authentication\_\-key@{delete\_\-md5\_\-authentication\_\-key}}
\index{delete\_\-md5\_\-authentication\_\-key@{delete\_\-md5\_\-authentication\_\-key}!Ospf@{Ospf}}
\subsubsection[{delete\_\-md5\_\-authentication\_\-key}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ bool {\bf Ospf}$<$ A $>$::delete\_\-md5\_\-authentication\_\-key (
\begin{DoxyParamCaption}
\item[{const string \&}]{interface, }
\item[{const string \&}]{vif, }
\item[{{\bf OspfTypes::AreaID}}]{area, }
\item[{uint8\_\-t}]{key\_\-id, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classOspf_ad90ff18af2b073824316314bf1743163}


Delete an MD5 authentication key. 

Note that after \hyperlink{protocolthe-p}{the} deletion if there are no more valid MD5 keys, \hyperlink{protocolthe-p}{the} MD5 authentication handler is replaced with a Null authentication handler.


\begin{DoxyParams}{Parameters}
{\em interface} & \hyperlink{protocolthe-p}{the} interface name. \\
\hline
{\em vif} & \hyperlink{protocolthe-p}{the} vif name. \\
\hline
{\em area} & \hyperlink{protocolthe-p}{the} area ID. \\
\hline
{\em key\_\-id} & \hyperlink{protocolthe-p}{the} ID of \hyperlink{protocolthe-p}{the} key to delete. \\
\hline
{\em \hyperlink{protocolthe-p}{the}} & error message (if error). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true on success, otherwise false. 
\end{DoxyReturn}
\hypertarget{classOspf_a5c01f33f1728d27707a0faa871b9e36c}{
\index{Ospf@{Ospf}!delete\_\-simple\_\-authentication\_\-key@{delete\_\-simple\_\-authentication\_\-key}}
\index{delete\_\-simple\_\-authentication\_\-key@{delete\_\-simple\_\-authentication\_\-key}!Ospf@{Ospf}}
\subsubsection[{delete\_\-simple\_\-authentication\_\-key}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ bool {\bf Ospf}$<$ A $>$::delete\_\-simple\_\-authentication\_\-key (
\begin{DoxyParamCaption}
\item[{const string \&}]{interface, }
\item[{const string \&}]{vif, }
\item[{{\bf OspfTypes::AreaID}}]{area, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classOspf_a5c01f33f1728d27707a0faa871b9e36c}


Delete a simple password authentication key. 

Note that after \hyperlink{protocolthe-p}{the} deletion \hyperlink{protocolthe-p}{the} simple password authentication handler is replaced with a Null authentication handler.


\begin{DoxyParams}{Parameters}
{\em interface} & \hyperlink{protocolthe-p}{the} interface name. \\
\hline
{\em vif} & \hyperlink{protocolthe-p}{the} vif name. \\
\hline
{\em area} & \hyperlink{protocolthe-p}{the} area ID. \\
\hline
{\em \hyperlink{protocolthe-p}{the}} & error message (if error). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true on success, otherwise false. 
\end{DoxyReturn}
\hypertarget{classOspf_a587c3258d15c2f709be5bdfe86c05c29}{
\index{Ospf@{Ospf}!delete\_\-virtual\_\-link@{delete\_\-virtual\_\-link}}
\index{delete\_\-virtual\_\-link@{delete\_\-virtual\_\-link}!Ospf@{Ospf}}
\subsubsection[{delete\_\-virtual\_\-link}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ bool {\bf Ospf}$<$ A $>$::delete\_\-virtual\_\-link (
\begin{DoxyParamCaption}
\item[{{\bf OspfTypes::RouterID}}]{rid}
\end{DoxyParamCaption}
)}}
\label{classOspf_a587c3258d15c2f709be5bdfe86c05c29}


Delete a virtual link. 


\begin{DoxyParams}{Parameters}
{\em rid} & neighbours router ID. \\
\hline
\end{DoxyParams}
\hypertarget{classOspf_af0fb1baa245dc022d6629c4c1822ce9a}{
\index{Ospf@{Ospf}!enabled@{enabled}}
\index{enabled@{enabled}!Ospf@{Ospf}}
\subsubsection[{enabled}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ bool {\bf Ospf}$<$ A $>$::enabled (
\begin{DoxyParamCaption}
\item[{const string \&}]{interface, }
\item[{const string \&}]{vif}
\end{DoxyParamCaption}
)}}
\label{classOspf_af0fb1baa245dc022d6629c4c1822ce9a}


Is this interface/vif enabled? This is a question asked of \hyperlink{protocolthe-p}{the} FEA, has \hyperlink{protocolthe-p}{the} interface/vif been marked as up. 

\begin{DoxyReturn}{Returns}
true if it is. 
\end{DoxyReturn}
\hypertarget{classOspf_aaf7cebb1b68c5173055cb0ce01fc4b4b}{
\index{Ospf@{Ospf}!enabled@{enabled}}
\index{enabled@{enabled}!Ospf@{Ospf}}
\subsubsection[{enabled}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ bool {\bf Ospf}$<$ A $>$::enabled (
\begin{DoxyParamCaption}
\item[{const string \&}]{interface, }
\item[{const string \&}]{vif, }
\item[{A}]{address}
\end{DoxyParamCaption}
)}}
\label{classOspf_aaf7cebb1b68c5173055cb0ce01fc4b4b}


Is this interface/vif/address enabled? This is a question asked of \hyperlink{protocolthe-p}{the} FEA, has \hyperlink{protocolthe-p}{the} interface/vif been marked as up. 

\begin{DoxyReturn}{Returns}
true if it is. 
\end{DoxyReturn}
\hypertarget{classOspf_a5abe67e83b7fd2cea60acc282bfe9500}{
\index{Ospf@{Ospf}!get\_\-addresses@{get\_\-addresses}}
\index{get\_\-addresses@{get\_\-addresses}!Ospf@{Ospf}}
\subsubsection[{get\_\-addresses}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ bool {\bf Ospf}$<$ A $>$::get\_\-addresses (
\begin{DoxyParamCaption}
\item[{const string \&}]{interface, }
\item[{const string \&}]{vif, }
\item[{list$<$ A $>$ \&}]{addresses}
\end{DoxyParamCaption}
) const}}
\label{classOspf_a5abe67e83b7fd2cea60acc282bfe9500}


Get all addresses associated with this interface/vif. 


\begin{DoxyParams}{Parameters}
{\em interface} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} interface \\
\hline
{\em vif} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif \\
\hline
{\em addresses} & (out argument) list of associated addresses\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if there are no errors. 
\end{DoxyReturn}
\hypertarget{classOspf_a0bdaf665c56f92476cb40e43ba729608}{
\index{Ospf@{Ospf}!get\_\-eventloop@{get\_\-eventloop}}
\index{get\_\-eventloop@{get\_\-eventloop}!Ospf@{Ospf}}
\subsubsection[{get\_\-eventloop}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ {\bf EventLoop}\& {\bf Ospf}$<$ A $>$::get\_\-eventloop (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classOspf_a0bdaf665c56f92476cb40e43ba729608}
\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} eventloop, required for timers etc... 
\end{DoxyReturn}
\hypertarget{classOspf_a907b9d5299dc5cc439f701fa52bd6280}{
\index{Ospf@{Ospf}!get\_\-interface\_\-id@{get\_\-interface\_\-id}}
\index{get\_\-interface\_\-id@{get\_\-interface\_\-id}!Ospf@{Ospf}}
\subsubsection[{get\_\-interface\_\-id}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ bool {\bf Ospf}$<$ A $>$::get\_\-interface\_\-id (
\begin{DoxyParamCaption}
\item[{const string \&}]{interface, }
\item[{const string \&}]{vif, }
\item[{uint32\_\-t \&}]{interface\_\-id}
\end{DoxyParamCaption}
)}}
\label{classOspf_a907b9d5299dc5cc439f701fa52bd6280}


Get \hyperlink{protocolthe-p}{the} interface ID required for OSPFv3. 

The vif argument is required for virtual links. \hypertarget{classOspf_a85292129ccb95a6c23bea31c3dceefa4}{
\index{Ospf@{Ospf}!get\_\-link\_\-local\_\-address@{get\_\-link\_\-local\_\-address}}
\index{get\_\-link\_\-local\_\-address@{get\_\-link\_\-local\_\-address}!Ospf@{Ospf}}
\subsubsection[{get\_\-link\_\-local\_\-address}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ bool {\bf Ospf}$<$ A $>$::get\_\-link\_\-local\_\-address (
\begin{DoxyParamCaption}
\item[{const string \&}]{interface, }
\item[{const string \&}]{vif, }
\item[{A \&}]{address}
\end{DoxyParamCaption}
)}}
\label{classOspf_a85292129ccb95a6c23bea31c3dceefa4}


Get a link local address for this interface/vif if available. 


\begin{DoxyParams}{Parameters}
{\em interface} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} interface \\
\hline
{\em vif} & \hyperlink{protocolthe-p}{the} name of \hyperlink{protocolthe-p}{the} vif \\
\hline
{\em address} & (out argument) set if address is found.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if a link local address is available. 
\end{DoxyReturn}
\hypertarget{classOspf_a5438e9ec5615627ba52db7896b4a5333}{
\index{Ospf@{Ospf}!get\_\-lsa@{get\_\-lsa}}
\index{get\_\-lsa@{get\_\-lsa}!Ospf@{Ospf}}
\subsubsection[{get\_\-lsa}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ bool {\bf Ospf}$<$ A $>$::get\_\-lsa (
\begin{DoxyParamCaption}
\item[{const {\bf OspfTypes::AreaID}}]{area, }
\item[{const uint32\_\-t}]{index, }
\item[{bool \&}]{valid, }
\item[{bool \&}]{toohigh, }
\item[{bool \&}]{self, }
\item[{vector$<$ uint8\_\-t $>$ \&}]{lsa}
\end{DoxyParamCaption}
)}}
\label{classOspf_a5438e9ec5615627ba52db7896b4a5333}


Get a single lsa from an area. 

A stateless mechanism to get LSAs. The client of this interface should start from zero and continue to request LSAs (incrementing index) until toohigh becomes true.


\begin{DoxyParams}{Parameters}
{\em area} & database that is being searched. \\
\hline
{\em index} & into database starting from 0. \\
\hline
{\em valid} & true if a LSA has been returned. Some index values do not contain LSAs. This should not be considered an error. \\
\hline
{\em toohigh} & true if no more LSA exist after this index. \\
\hline
{\em self} & if true this LSA was originated by this router. \\
\hline
{\em lsa} & if valid is true \hyperlink{protocolthe-p}{the} LSA at index. \\
\hline
\end{DoxyParams}
\hypertarget{classOspf_a856bf1ac5440614172524c72396eac83}{
\index{Ospf@{Ospf}!get\_\-lsa\_\-decoder@{get\_\-lsa\_\-decoder}}
\index{get\_\-lsa\_\-decoder@{get\_\-lsa\_\-decoder}!Ospf@{Ospf}}
\subsubsection[{get\_\-lsa\_\-decoder}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ {\bf LsaDecoder}\& {\bf Ospf}$<$ A $>$::get\_\-lsa\_\-decoder (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classOspf_a856bf1ac5440614172524c72396eac83}
\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} LSA decoder. 
\end{DoxyReturn}
\hypertarget{classOspf_ae87bdb8562890ec4686a7b15c15c7f0e}{
\index{Ospf@{Ospf}!get\_\-mtu@{get\_\-mtu}}
\index{get\_\-mtu@{get\_\-mtu}!Ospf@{Ospf}}
\subsubsection[{get\_\-mtu}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ uint32\_\-t {\bf Ospf}$<$ A $>$::get\_\-mtu (
\begin{DoxyParamCaption}
\item[{const string \&}]{interface}
\end{DoxyParamCaption}
)}}
\label{classOspf_ae87bdb8562890ec4686a7b15c15c7f0e}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} mtu for this interface. 
\end{DoxyReturn}
\hypertarget{classOspf_ae205f2737d3461dd4bbf8a6b15cb682f}{
\index{Ospf@{Ospf}!get\_\-neighbour\_\-info@{get\_\-neighbour\_\-info}}
\index{get\_\-neighbour\_\-info@{get\_\-neighbour\_\-info}!Ospf@{Ospf}}
\subsubsection[{get\_\-neighbour\_\-info}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ bool {\bf Ospf}$<$ A $>$::get\_\-neighbour\_\-info (
\begin{DoxyParamCaption}
\item[{{\bf OspfTypes::NeighbourID}}]{nid, }
\item[{{\bf NeighbourInfo} \&}]{ninfo}
\end{DoxyParamCaption}
) const}}
\label{classOspf_ae205f2737d3461dd4bbf8a6b15cb682f}


Get state information about this neighbour. 


\begin{DoxyParams}{Parameters}
{\em nid} & neighbour information is being request about. \\
\hline
{\em ninfo} & if neighbour is found its information. \\
\hline
\end{DoxyParams}
\hypertarget{classOspf_af85d45541a99dc8151e3621b13ae9119}{
\index{Ospf@{Ospf}!get\_\-peer\_\-manager@{get\_\-peer\_\-manager}}
\index{get\_\-peer\_\-manager@{get\_\-peer\_\-manager}!Ospf@{Ospf}}
\subsubsection[{get\_\-peer\_\-manager}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ {\bf PeerManager}$<$A$>$\& {\bf Ospf}$<$ A $>$::get\_\-peer\_\-manager (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classOspf_af85d45541a99dc8151e3621b13ae9119}
\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classPeerManager}{PeerManager}. 
\end{DoxyReturn}
\hypertarget{classOspf_abce45488d30839cf746e60d1ce26d33c}{
\index{Ospf@{Ospf}!get\_\-policy\_\-filters@{get\_\-policy\_\-filters}}
\index{get\_\-policy\_\-filters@{get\_\-policy\_\-filters}!Ospf@{Ospf}}
\subsubsection[{get\_\-policy\_\-filters}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ {\bf PolicyFilters}\& {\bf Ospf}$<$ A $>$::get\_\-policy\_\-filters (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classOspf_abce45488d30839cf746e60d1ce26d33c}
\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} policy filters 
\end{DoxyReturn}
\hypertarget{classOspf_a3d4a5400ddefa6c8c9723730ad0be3fe}{
\index{Ospf@{Ospf}!get\_\-prefix\_\-length@{get\_\-prefix\_\-length}}
\index{get\_\-prefix\_\-length@{get\_\-prefix\_\-length}!Ospf@{Ospf}}
\subsubsection[{get\_\-prefix\_\-length}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ bool {\bf Ospf}$<$ A $>$::get\_\-prefix\_\-length (
\begin{DoxyParamCaption}
\item[{const string \&}]{interface, }
\item[{const string \&}]{vif, }
\item[{A}]{address, }
\item[{uint16\_\-t \&}]{prefix\_\-length}
\end{DoxyParamCaption}
)}}
\label{classOspf_a3d4a5400ddefa6c8c9723730ad0be3fe}
\begin{DoxyReturn}{Returns}
prefix length for this address. 
\end{DoxyReturn}
\hypertarget{classOspf_a890b1c77ff3dddc3d89d03cca48385cd}{
\index{Ospf@{Ospf}!get\_\-routing\_\-table@{get\_\-routing\_\-table}}
\index{get\_\-routing\_\-table@{get\_\-routing\_\-table}!Ospf@{Ospf}}
\subsubsection[{get\_\-routing\_\-table}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ {\bf RoutingTable}$<$A$>$\& {\bf Ospf}$<$ A $>$::get\_\-routing\_\-table (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classOspf_a890b1c77ff3dddc3d89d03cca48385cd}
\begin{DoxyReturn}{Returns}
a reference to \hyperlink{protocolthe-p}{the} \hyperlink{classRoutingTable}{RoutingTable}. 
\end{DoxyReturn}
\hypertarget{classOspf_aabcff0a3feb6a89f1f8ef5f598bb44d3}{
\index{Ospf@{Ospf}!get\_\-testing@{get\_\-testing}}
\index{get\_\-testing@{get\_\-testing}!Ospf@{Ospf}}
\subsubsection[{get\_\-testing}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ bool {\bf Ospf}$<$ A $>$::get\_\-testing (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classOspf_aabcff0a3feb6a89f1f8ef5f598bb44d3}
\begin{DoxyReturn}{Returns}
true if OSPF is being tested. 
\end{DoxyReturn}
\hypertarget{classOspf_a05f16477c676a6918b25f217ec640d9c}{
\index{Ospf@{Ospf}!originate\_\-route@{originate\_\-route}}
\index{originate\_\-route@{originate\_\-route}!Ospf@{Ospf}}
\subsubsection[{originate\_\-route}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ bool {\bf Ospf}$<$ A $>$::originate\_\-route (
\begin{DoxyParamCaption}
\item[{const {\bf IPNet}$<$ A $>$ \&}]{net, }
\item[{const A \&}]{nexthop, }
\item[{const uint32\_\-t \&}]{metric, }
\item[{const {\bf PolicyTags} \&}]{policytags}
\end{DoxyParamCaption}
)}}
\label{classOspf_a05f16477c676a6918b25f217ec640d9c}


Originate a route. 


\begin{DoxyParams}{Parameters}
{\em net} & to announce \\
\hline
{\em nexthop} & to forward to \\
\hline
{\em metric} & \\
\hline
{\em policytags} & policy-\/tags associated with route.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true on success 
\end{DoxyReturn}
\hypertarget{classOspf_ac5c95772fcbc0a82e2ab1f34688e5de0}{
\index{Ospf@{Ospf}!receive@{receive}}
\index{receive@{receive}!Ospf@{Ospf}}
\subsubsection[{receive}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ void {\bf Ospf}$<$ A $>$::receive (
\begin{DoxyParamCaption}
\item[{const string \&}]{interface, }
\item[{const string \&}]{vif, }
\item[{A}]{dst, }
\item[{A}]{src, }
\item[{uint8\_\-t $\ast$}]{data, }
\item[{uint32\_\-t}]{len}
\end{DoxyParamCaption}
)}}
\label{classOspf_ac5c95772fcbc0a82e2ab1f34688e5de0}


The callback method that is called when data arrives on \hyperlink{protocolthe-p}{the} \hyperlink{classIO}{IO} interface. 

All packets for OSPF are received through this interface.

All good packets are sent to \hyperlink{protocolthe-p}{the} peer manager which verifies that \hyperlink{protocolthe-p}{the} packet is expected and authenticates \hyperlink{protocolthe-p}{the} packet if necessary. The peer manager can choose to accept \hyperlink{protocolthe-p}{the} packet in which case it becomes \hyperlink{protocolthe-p}{the} owner. If \hyperlink{protocolthe-p}{the} packet is rejected this routine will delete \hyperlink{protocolthe-p}{the} packet. \hypertarget{classOspf_a3c94978af82b80b30af960a88c89532b}{
\index{Ospf@{Ospf}!register\_\-address\_\-status@{register\_\-address\_\-status}}
\index{register\_\-address\_\-status@{register\_\-address\_\-status}!Ospf@{Ospf}}
\subsubsection[{register\_\-address\_\-status}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ void {\bf Ospf}$<$ A $>$::register\_\-address\_\-status (
\begin{DoxyParamCaption}
\item[{typename {\bf IO}$<$ A $>$::AddressStatusCb}]{cb}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classOspf_a3c94978af82b80b30af960a88c89532b}


Add a callback for tracking \hyperlink{protocolthe-p}{the} interface/vif/address status. 

The callback will be invoked whenever \hyperlink{protocolthe-p}{the} status of \hyperlink{protocolthe-p}{the} tuple (interface, vif, address) is changed from disabled to enabled or vice-\/versa.


\begin{DoxyParams}{Parameters}
{\em cb} & \hyperlink{protocolthe-p}{the} callback to register. \\
\hline
\end{DoxyParams}
\hypertarget{classOspf_abe5267e2cccbf4288497a33a625ef7fc}{
\index{Ospf@{Ospf}!register\_\-vif\_\-status@{register\_\-vif\_\-status}}
\index{register\_\-vif\_\-status@{register\_\-vif\_\-status}!Ospf@{Ospf}}
\subsubsection[{register\_\-vif\_\-status}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ void {\bf Ospf}$<$ A $>$::register\_\-vif\_\-status (
\begin{DoxyParamCaption}
\item[{typename {\bf IO}$<$ A $>$::VifStatusCb}]{cb}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classOspf_abe5267e2cccbf4288497a33a625ef7fc}


Add a callback for tracking \hyperlink{protocolthe-p}{the} interface/vif status. 

The callback will be invoked whenever \hyperlink{protocolthe-p}{the} status of \hyperlink{protocolthe-p}{the} tuple (interface, vif) is changed from disabled to enabled or vice-\/versa.


\begin{DoxyParams}{Parameters}
{\em cb} & \hyperlink{protocolthe-p}{the} callback to register. \\
\hline
\end{DoxyParams}
\hypertarget{classOspf_ab0265cd3666d42ec1736097195a4c4b7}{
\index{Ospf@{Ospf}!replace\_\-route@{replace\_\-route}}
\index{replace\_\-route@{replace\_\-route}!Ospf@{Ospf}}
\subsubsection[{replace\_\-route}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ bool {\bf Ospf}$<$ A $>$::replace\_\-route (
\begin{DoxyParamCaption}
\item[{{\bf IPNet}$<$ A $>$}]{net, }
\item[{A}]{nexthop, }
\item[{uint32\_\-t}]{nexthop\_\-id, }
\item[{uint32\_\-t}]{metric, }
\item[{bool}]{equal, }
\item[{bool}]{discard, }
\item[{const {\bf PolicyTags} \&}]{policytags}
\end{DoxyParamCaption}
)}}
\label{classOspf_ab0265cd3666d42ec1736097195a4c4b7}


Replace route. 


\begin{DoxyParams}{Parameters}
{\em net} & network \\
\hline
{\em nexthop} & \\
\hline
{\em nexthop\_\-id} & interface ID towards \hyperlink{protocolthe-p}{the} nexthop \\
\hline
{\em metric} & to network \\
\hline
{\em equal} & true if this in another route to \hyperlink{protocolthe-p}{the} same destination. \\
\hline
{\em discard} & true if this is a discard route. \\
\hline
{\em policytags} & policy info to \hyperlink{protocolthe-p}{the} \hyperlink{classRIB}{RIB}. \\
\hline
\end{DoxyParams}
\hypertarget{classOspf_a2ae41f055f50670fb9b63fe8b28a8a39}{
\index{Ospf@{Ospf}!reset\_\-filter@{reset\_\-filter}}
\index{reset\_\-filter@{reset\_\-filter}!Ospf@{Ospf}}
\subsubsection[{reset\_\-filter}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ void {\bf Ospf}$<$ A $>$::reset\_\-filter (
\begin{DoxyParamCaption}
\item[{const uint32\_\-t \&}]{filter}
\end{DoxyParamCaption}
)}}
\label{classOspf_a2ae41f055f50670fb9b63fe8b28a8a39}


Reset a policy filter. 


\begin{DoxyParams}{Parameters}
{\em filter} & Id of filter to reset. \\
\hline
\end{DoxyParams}
\hypertarget{classOspf_a99749ef89ef49b01a62504e1f85592fa}{
\index{Ospf@{Ospf}!running@{running}}
\index{running@{running}!Ospf@{Ospf}}
\subsubsection[{running}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ bool {\bf Ospf}$<$ A $>$::running (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classOspf_a99749ef89ef49b01a62504e1f85592fa}
\begin{DoxyReturn}{Returns}
true if ospf should still be running. 
\end{DoxyReturn}
\hypertarget{classOspf_afcb88f26356bd6a0f9449cc39fe962d0}{
\index{Ospf@{Ospf}!set\_\-md5\_\-authentication\_\-key@{set\_\-md5\_\-authentication\_\-key}}
\index{set\_\-md5\_\-authentication\_\-key@{set\_\-md5\_\-authentication\_\-key}!Ospf@{Ospf}}
\subsubsection[{set\_\-md5\_\-authentication\_\-key}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ bool {\bf Ospf}$<$ A $>$::set\_\-md5\_\-authentication\_\-key (
\begin{DoxyParamCaption}
\item[{const string \&}]{interface, }
\item[{const string \&}]{vif, }
\item[{{\bf OspfTypes::AreaID}}]{area, }
\item[{uint8\_\-t}]{key\_\-id, }
\item[{const string \&}]{password, }
\item[{const {\bf TimeVal} \&}]{start\_\-timeval, }
\item[{const {\bf TimeVal} \&}]{end\_\-timeval, }
\item[{const {\bf TimeVal} \&}]{max\_\-time\_\-drift, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classOspf_afcb88f26356bd6a0f9449cc39fe962d0}


Set an MD5 authentication key. 

Note that \hyperlink{protocolthe-p}{the} current authentication handler is replaced with an MD5 authentication handler.


\begin{DoxyParams}{Parameters}
{\em interface} & \hyperlink{protocolthe-p}{the} interface name. \\
\hline
{\em vif} & \hyperlink{protocolthe-p}{the} vif name. \\
\hline
{\em area} & \hyperlink{protocolthe-p}{the} area ID. \\
\hline
{\em key\_\-id} & unique ID associated with key. \\
\hline
{\em password} & phrase used for MD5 digest computation. \\
\hline
{\em start\_\-timeval} & start time when key becomes valid. \\
\hline
{\em end\_\-timeval} & end time when key becomes invalid. \\
\hline
{\em max\_\-time\_\-drift} & \hyperlink{protocolthe-p}{the} maximum time drift among all routers. \\
\hline
{\em \hyperlink{protocolthe-p}{the}} & error message (if error). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true on success, otherwise false. 
\end{DoxyReturn}
\hypertarget{classOspf_a7b1992c40a50215eaf3b5c350c6b18c3}{
\index{Ospf@{Ospf}!set\_\-simple\_\-authentication\_\-key@{set\_\-simple\_\-authentication\_\-key}}
\index{set\_\-simple\_\-authentication\_\-key@{set\_\-simple\_\-authentication\_\-key}!Ospf@{Ospf}}
\subsubsection[{set\_\-simple\_\-authentication\_\-key}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A $>$ bool {\bf Ospf}$<$ A $>$::set\_\-simple\_\-authentication\_\-key (
\begin{DoxyParamCaption}
\item[{const string \&}]{interface, }
\item[{const string \&}]{vif, }
\item[{{\bf OspfTypes::AreaID}}]{area, }
\item[{const string \&}]{password, }
\item[{string \&}]{error\_\-msg}
\end{DoxyParamCaption}
)}}
\label{classOspf_a7b1992c40a50215eaf3b5c350c6b18c3}


Set a simple password authentication key. 

Note that \hyperlink{protocolthe-p}{the} current authentication handler is replaced with a simple password authentication handler.


\begin{DoxyParams}{Parameters}
{\em interface} & \hyperlink{protocolthe-p}{the} interface name. \\
\hline
{\em vif} & \hyperlink{protocolthe-p}{the} vif name. \\
\hline
{\em area} & \hyperlink{protocolthe-p}{the} area ID. \\
\hline
{\em password} & \hyperlink{protocolthe-p}{the} password to set. \\
\hline
{\em \hyperlink{protocolthe-p}{the}} & error message (if error). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true on success, otherwise false. 
\end{DoxyReturn}
\hypertarget{classOspf_a75e19962d25782d0317c66cfbd2c9bb4}{
\index{Ospf@{Ospf}!version@{version}}
\index{version@{version}!Ospf@{Ospf}}
\subsubsection[{version}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ {\bf OspfTypes::Version} {\bf Ospf}$<$ A $>$::version (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classOspf_a75e19962d25782d0317c66cfbd2c9bb4}
\begin{DoxyReturn}{Returns}
version of OSPF this implementation represents. 
\end{DoxyReturn}
\hypertarget{classOspf_afad37f0425731084655b992d84026cdd}{
\index{Ospf@{Ospf}!withdraw\_\-route@{withdraw\_\-route}}
\index{withdraw\_\-route@{withdraw\_\-route}!Ospf@{Ospf}}
\subsubsection[{withdraw\_\-route}]{\setlength{\rightskip}{0pt plus 5cm}template$<$typename A$>$ bool {\bf Ospf}$<$ A $>$::withdraw\_\-route (
\begin{DoxyParamCaption}
\item[{const {\bf IPNet}$<$ A $>$ \&}]{net}
\end{DoxyParamCaption}
)}}
\label{classOspf_afad37f0425731084655b992d84026cdd}


Withdraw a route. 


\begin{DoxyParams}{Parameters}
{\em net} & to withdraw\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true on success 
\end{DoxyReturn}


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