\hypertarget{classBGPPeerData}{
\section{BGPPeerData Class Reference}
\label{classBGPPeerData}\index{BGPPeerData@{BGPPeerData}}
}


Data that applies to a specific peering.  




{\ttfamily \#include $<$peer\_\-data.hh$>$}

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{classBGPPeerData_a5548b924bc1529136131642d32872421}{Direction} \{ {\bfseries SENT} =  0, 
{\bfseries RECEIVED} =  1, 
{\bfseries NEGOTIATED} =  2, 
{\bfseries ARRAY\_\-SIZE} =  3
 \}
\begin{DoxyCompactList}\small\item\em Multiprotocol option negotiation. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classBGPPeerData_a4a950353fb00b7237aae72684bdf8c26}{
{\bfseries BGPPeerData} (const \hyperlink{classLocalData}{LocalData} \&local\_\-data, const \hyperlink{classIptuple}{Iptuple} \&iptuple, \hyperlink{classAsNum}{AsNum} as, const \hyperlink{classIPv4}{IPv4} \&next\_\-hop, const uint16\_\-t holdtime)}
\label{classBGPPeerData_a4a950353fb00b7237aae72684bdf8c26}

\item 
\hypertarget{classBGPPeerData_aa42326df8bd634b4d5025f324f6f06ab}{
const \hyperlink{classIptuple}{Iptuple} \& {\bfseries iptuple} () const }
\label{classBGPPeerData_aa42326df8bd634b4d5025f324f6f06ab}

\item 
\hypertarget{classBGPPeerData_a9629fe61ec5cc1188a3247e7eade1553}{
const \hyperlink{classAsNum}{AsNum} \& {\bfseries as} () const }
\label{classBGPPeerData_a9629fe61ec5cc1188a3247e7eade1553}

\item 
\hypertarget{classBGPPeerData_ae6b5a1ffe9a70bdcef67841cead9f359}{
void {\bfseries set\_\-as} (const \hyperlink{classAsNum}{AsNum} \&a)}
\label{classBGPPeerData_ae6b5a1ffe9a70bdcef67841cead9f359}

\item 
\hypertarget{classBGPPeerData_ad0467b7bb474f5855aee63d925b4861a}{
bool {\bfseries use\_\-4byte\_\-asnums} () const }
\label{classBGPPeerData_ad0467b7bb474f5855aee63d925b4861a}

\item 
\hypertarget{classBGPPeerData_a46d95744b93361f7892a36eaaf443e6b}{
void {\bfseries set\_\-use\_\-4byte\_\-asnums} (bool use)}
\label{classBGPPeerData_a46d95744b93361f7892a36eaaf443e6b}

\item 
\hypertarget{classBGPPeerData_a69c813c034ec0d2c2843e283187dfc8a}{
bool {\bfseries we\_\-use\_\-4byte\_\-asnums} () const }
\label{classBGPPeerData_a69c813c034ec0d2c2843e283187dfc8a}

\item 
\hypertarget{classBGPPeerData_a3d1298f06376b8e3f64ee9693fd81c0c}{
uint32\_\-t {\bfseries get\_\-hold\_\-duration} () const }
\label{classBGPPeerData_a3d1298f06376b8e3f64ee9693fd81c0c}

\item 
\hypertarget{classBGPPeerData_a87c0c8be170f63a71e7aa310cccb7d85}{
void {\bfseries set\_\-hold\_\-duration} (uint32\_\-t d)}
\label{classBGPPeerData_a87c0c8be170f63a71e7aa310cccb7d85}

\item 
\hypertarget{classBGPPeerData_a89e34a876264eccd5f09fd8fc786734d}{
uint32\_\-t {\bfseries get\_\-retry\_\-duration} () const }
\label{classBGPPeerData_a89e34a876264eccd5f09fd8fc786734d}

\item 
\hypertarget{classBGPPeerData_a1a56b397d327f3128e53d625d4285e09}{
void {\bfseries set\_\-retry\_\-duration} (uint32\_\-t d)}
\label{classBGPPeerData_a1a56b397d327f3128e53d625d4285e09}

\item 
\hypertarget{classBGPPeerData_aa78767caccc7bb555a37ba03d62887bc}{
uint32\_\-t {\bfseries get\_\-keepalive\_\-duration} () const }
\label{classBGPPeerData_aa78767caccc7bb555a37ba03d62887bc}

\item 
\hypertarget{classBGPPeerData_a24af9d9a1f377825566e6557e6779404}{
void {\bfseries set\_\-keepalive\_\-duration} (uint32\_\-t d)}
\label{classBGPPeerData_a24af9d9a1f377825566e6557e6779404}

\item 
\hypertarget{classBGPPeerData_add01ed582896222c179d2222c1796153}{
const \hyperlink{classIPv4}{IPv4} \& \hyperlink{classBGPPeerData_add01ed582896222c179d2222c1796153}{id} () const }
\label{classBGPPeerData_add01ed582896222c179d2222c1796153}

\begin{DoxyCompactList}\small\item\em The peers BGP ID. \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_afc57ed513bb9784d7393ad06412d2c24}{
void {\bfseries set\_\-id} (const \hyperlink{classIPv4}{IPv4} \&i)}
\label{classBGPPeerData_afc57ed513bb9784d7393ad06412d2c24}

\item 
\hypertarget{classBGPPeerData_a9ea3931d101c5c8864ca3313643773b8}{
bool {\bfseries route\_\-reflector} () const }
\label{classBGPPeerData_a9ea3931d101c5c8864ca3313643773b8}

\item 
\hypertarget{classBGPPeerData_a21140a1fa6fa9d2782b501dcc1d4adb3}{
void {\bfseries set\_\-route\_\-reflector} (bool rr)}
\label{classBGPPeerData_a21140a1fa6fa9d2782b501dcc1d4adb3}

\item 
\hypertarget{classBGPPeerData_a2819bb94bd097d2b8bd4c9fd7bbe399a}{
bool {\bfseries confederation} () const }
\label{classBGPPeerData_a2819bb94bd097d2b8bd4c9fd7bbe399a}

\item 
\hypertarget{classBGPPeerData_a88652f901e6e136b9fa5f36e53c67216}{
void {\bfseries set\_\-confederation} (bool conf)}
\label{classBGPPeerData_a88652f901e6e136b9fa5f36e53c67216}

\item 
\hyperlink{classConfigVar}{ConfigVar}$<$ uint32\_\-t $>$ \& \hyperlink{classBGPPeerData_a069b476ad7784ab88293ca9b9b2e1d25}{get\_\-prefix\_\-limit} ()
\item 
const \hyperlink{classAsNum}{AsNum} \hyperlink{classBGPPeerData_a06c00ff3febb67e831d9bb42e03e7da8}{my\_\-AS\_\-number} () const 
\begin{DoxyCompactList}\small\item\em Return this routers AS number. \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_a59e92b1f8e71911173548c81b243be47}{
void \hyperlink{classBGPPeerData_a59e92b1f8e71911173548c81b243be47}{compute\_\-peer\_\-type} ()}
\label{classBGPPeerData_a59e92b1f8e71911173548c81b243be47}

\begin{DoxyCompactList}\small\item\em Compute \hyperlink{protocolthe-p}{the} type of this peering. \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_ade0782ee337430064b69c973c00dfcab}{
string {\bfseries get\_\-peer\_\-type\_\-str} () const }
\label{classBGPPeerData_ade0782ee337430064b69c973c00dfcab}

\item 
\hypertarget{classBGPPeerData_a2e095c7078e0eae61e0e25ebbbb64748}{
PeerType {\bfseries get\_\-peer\_\-type} () const }
\label{classBGPPeerData_a2e095c7078e0eae61e0e25ebbbb64748}

\item 
\hypertarget{classBGPPeerData_ae43cfc6dd5be124dcc8cbc0f9d18d3c5}{
bool \hyperlink{classBGPPeerData_ae43cfc6dd5be124dcc8cbc0f9d18d3c5}{ibgp} () const }
\label{classBGPPeerData_ae43cfc6dd5be124dcc8cbc0f9d18d3c5}

\begin{DoxyCompactList}\small\item\em true if peer type is either PEER\_\-TYPE\_\-IBGP or PEER\_\-TYPE\_\-IBGP\_\-CLIENT \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_a9f0359d90491ced0ae7e221547c1d1a6}{
bool \hyperlink{classBGPPeerData_a9f0359d90491ced0ae7e221547c1d1a6}{ibgp\_\-vanilla} () const }
\label{classBGPPeerData_a9f0359d90491ced0ae7e221547c1d1a6}

\begin{DoxyCompactList}\small\item\em true if peer type is PEER\_\-TYPE\_\-IEBGP \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_a38fc835c9a38a2237ac57d99c908b6fb}{
bool \hyperlink{classBGPPeerData_a38fc835c9a38a2237ac57d99c908b6fb}{ibgp\_\-client} () const }
\label{classBGPPeerData_a38fc835c9a38a2237ac57d99c908b6fb}

\begin{DoxyCompactList}\small\item\em true if peer type is PEER\_\-TYPE\_\-IBGP\_\-CLIENT \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_afdd4eef85c96ba7a251bcdd6730cb482}{
bool \hyperlink{classBGPPeerData_afdd4eef85c96ba7a251bcdd6730cb482}{ebgp\_\-vanilla} () const }
\label{classBGPPeerData_afdd4eef85c96ba7a251bcdd6730cb482}

\begin{DoxyCompactList}\small\item\em true if peer type is PEER\_\-TYPE\_\-EBGP \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_a63b2a893bccffe1604d0b0deb3a2d2df}{
bool \hyperlink{classBGPPeerData_a63b2a893bccffe1604d0b0deb3a2d2df}{ebgp\_\-confed} () const }
\label{classBGPPeerData_a63b2a893bccffe1604d0b0deb3a2d2df}

\begin{DoxyCompactList}\small\item\em true if peer type is PEER\_\-TYPE\_\-EBGP\_\-CONFED \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_a5d1310ad2421b3b1b8413ab8ca9b60ba}{
void {\bfseries add\_\-recv\_\-parameter} (const \hyperlink{classref__ptr}{ParameterNode} \&p)}
\label{classBGPPeerData_a5d1310ad2421b3b1b8413ab8ca9b60ba}

\item 
\hypertarget{classBGPPeerData_a5f5380fcc286f7bc2571eec542f8df7d}{
void {\bfseries remove\_\-recv\_\-parameter} (const \hyperlink{classref__ptr}{ParameterNode} \&p)}
\label{classBGPPeerData_a5f5380fcc286f7bc2571eec542f8df7d}

\item 
\hypertarget{classBGPPeerData_adafef29c75ed777a18a32ea56bb42291}{
void {\bfseries add\_\-sent\_\-parameter} (const \hyperlink{classref__ptr}{ParameterNode} \&p)}
\label{classBGPPeerData_adafef29c75ed777a18a32ea56bb42291}

\item 
\hypertarget{classBGPPeerData_ab8bd7ed270ebb7be06f581a6e058c3e4}{
void {\bfseries remove\_\-sent\_\-parameter} (const \hyperlink{classref__ptr}{ParameterNode} \&p)}
\label{classBGPPeerData_ab8bd7ed270ebb7be06f581a6e058c3e4}

\item 
\hypertarget{classBGPPeerData_a6fffeac12ee7f285df5b5ede0c86a949}{
void {\bfseries add\_\-negotiated\_\-parameter} (const \hyperlink{classref__ptr}{ParameterNode} \&p)}
\label{classBGPPeerData_a6fffeac12ee7f285df5b5ede0c86a949}

\item 
\hypertarget{classBGPPeerData_af4a7726542e6b8e1a14155734122633f}{
void {\bfseries remove\_\-negotiated\_\-parameter} (const \hyperlink{classref__ptr}{ParameterNode} \&p)}
\label{classBGPPeerData_af4a7726542e6b8e1a14155734122633f}

\item 
\hypertarget{classBGPPeerData_ae01dc645c1c9dbab547027ea848d72f0}{
const ParameterList \& {\bfseries parameter\_\-recv\_\-list} () const }
\label{classBGPPeerData_ae01dc645c1c9dbab547027ea848d72f0}

\item 
\hypertarget{classBGPPeerData_a68eeeaac37dc9c84e4a7f871ee0d3683}{
const ParameterList \& {\bfseries parameter\_\-sent\_\-list} () const }
\label{classBGPPeerData_a68eeeaac37dc9c84e4a7f871ee0d3683}

\item 
\hypertarget{classBGPPeerData_a7797d3186eda26c3e5cb2c4ba3030628}{
const ParameterList \& {\bfseries parameter\_\-negotiated\_\-list} () const }
\label{classBGPPeerData_a7797d3186eda26c3e5cb2c4ba3030628}

\item 
void \hyperlink{classBGPPeerData_a6d7497367dfaf44fec9afc5714672bc6}{save\_\-parameters} (const ParameterList \&parameter\_\-list)
\begin{DoxyCompactList}\small\item\em Take \hyperlink{protocolthe-p}{the} optional parameters out of an open packet and save them in \_\-recv\_\-parameters. \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_a67ef532969f6903cfae2683e762ba743}{
void \hyperlink{classBGPPeerData_a67ef532969f6903cfae2683e762ba743}{open\_\-negotiation} ()}
\label{classBGPPeerData_a67ef532969f6903cfae2683e762ba743}

\begin{DoxyCompactList}\small\item\em Go through \hyperlink{protocolthe-p}{the} parameters that we have sent and \hyperlink{protocolthe-p}{the} ones that our peer has sent us and drop state into \hyperlink{protocolthe-p}{the} \_\-negotiated\_\-parameters list. \item\end{DoxyCompactList}\item 
{\footnotesize template$<$class A $>$ }\\bool \hyperlink{classBGPPeerData_a7c93df9a6d9b8f9ee33572481c5876c0}{multiprotocol} (Safi safi, \hyperlink{classBGPPeerData_a5548b924bc1529136131642d32872421}{Direction} d=NEGOTIATED) const 
\begin{DoxyCompactList}\small\item\em Which multiprotocol parameters did we send,receive and negotiate. \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_ac30ebb64fbbe5f7503e8087665dd7815}{
{\footnotesize template$<$class A $>$ }\\void {\bfseries set\_\-multiprotocol} (Safi safi, \hyperlink{classBGPPeerData_a5548b924bc1529136131642d32872421}{Direction} d=NEGOTIATED)}
\label{classBGPPeerData_ac30ebb64fbbe5f7503e8087665dd7815}

\item 
\hypertarget{classBGPPeerData_a6356d9293f676215fc5529936127a7ad}{
void {\bfseries set\_\-v4\_\-local\_\-addr} (const \hyperlink{classIPv4}{IPv4} \&addr)}
\label{classBGPPeerData_a6356d9293f676215fc5529936127a7ad}

\item 
\hypertarget{classBGPPeerData_af6c5f54198dd0081eb0495fb9ebdc7ef}{
void {\bfseries set\_\-v6\_\-local\_\-addr} (const \hyperlink{classIPv6}{IPv6} \&addr)}
\label{classBGPPeerData_af6c5f54198dd0081eb0495fb9ebdc7ef}

\item 
\hypertarget{classBGPPeerData_a0b415d8ebc8cdd207560e962c8875316}{
const \hyperlink{classIPv4}{IPv4} \& {\bfseries get\_\-v4\_\-local\_\-addr} () const }
\label{classBGPPeerData_a0b415d8ebc8cdd207560e962c8875316}

\item 
\hypertarget{classBGPPeerData_a8f06cf54e7fa54d6675b240795e82aec}{
const \hyperlink{classIPv6}{IPv6} \& {\bfseries get\_\-v6\_\-local\_\-addr} () const }
\label{classBGPPeerData_a8f06cf54e7fa54d6675b240795e82aec}

\item 
\hypertarget{classBGPPeerData_aeeabdd1cb7c0ce9691e9f64ebc7da022}{
void {\bfseries set\_\-configured\_\-hold\_\-time} (uint16\_\-t hold)}
\label{classBGPPeerData_aeeabdd1cb7c0ce9691e9f64ebc7da022}

\item 
\hypertarget{classBGPPeerData_a017d5fa5273c359526514f0b44d7628b}{
uint16\_\-t {\bfseries get\_\-configured\_\-hold\_\-time} () const }
\label{classBGPPeerData_a017d5fa5273c359526514f0b44d7628b}

\item 
\hypertarget{classBGPPeerData_af37ed45f1bb45b7e68673a7131fac951}{
void {\bfseries set\_\-delay\_\-open\_\-time} (uint32\_\-t delay\_\-open\_\-time)}
\label{classBGPPeerData_af37ed45f1bb45b7e68673a7131fac951}

\item 
\hypertarget{classBGPPeerData_a0e639f769ef53960c8e0a9887d147368}{
uint32\_\-t {\bfseries get\_\-delay\_\-open\_\-time} () const }
\label{classBGPPeerData_a0e639f769ef53960c8e0a9887d147368}

\item 
\hypertarget{classBGPPeerData_a3eba93df9a8559781f39c22a25a30b1b}{
void {\bfseries set\_\-next\_\-hop\_\-rewrite} (const \hyperlink{classIPv4}{IPv4} \&next\_\-hop)}
\label{classBGPPeerData_a3eba93df9a8559781f39c22a25a30b1b}

\item 
\hypertarget{classBGPPeerData_aeee709400beeb03e18b2052ae33627c8}{
const \hyperlink{classIPv4}{IPv4} {\bfseries get\_\-next\_\-hop\_\-rewrite} () const }
\label{classBGPPeerData_aeee709400beeb03e18b2052ae33627c8}

\item 
\hypertarget{classBGPPeerData_a1620a2017150506cfc43830e2b750232}{
void {\bfseries set\_\-md5\_\-password} (const string \&password)}
\label{classBGPPeerData_a1620a2017150506cfc43830e2b750232}

\item 
\hypertarget{classBGPPeerData_a117e620295556effe169514602dc933a}{
const string \& {\bfseries get\_\-md5\_\-password} () const }
\label{classBGPPeerData_a117e620295556effe169514602dc933a}

\item 
\hypertarget{classBGPPeerData_a8c9d230a72a733e458944305b20c4328}{
void \hyperlink{classBGPPeerData_a8c9d230a72a733e458944305b20c4328}{dump\_\-peer\_\-data} () const }
\label{classBGPPeerData_a8c9d230a72a733e458944305b20c4328}

\begin{DoxyCompactList}\small\item\em Dump \hyperlink{protocolthe-p}{the} state of \hyperlink{protocolthe-p}{the} peer data (debugging). \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classBGPPeerData_a206a5e3c8a85960a76dfeedb12abb4e3}{
void {\bfseries add\_\-parameter} (ParameterList \&p\_\-list, const \hyperlink{classref__ptr}{ParameterNode} \&p)}
\label{classBGPPeerData_a206a5e3c8a85960a76dfeedb12abb4e3}

\item 
\hypertarget{classBGPPeerData_abe8225b7993201a53ab9d36fc95bcaa9}{
void {\bfseries remove\_\-parameter} (ParameterList \&p\_\-list, const \hyperlink{classref__ptr}{ParameterNode} \&p)}
\label{classBGPPeerData_abe8225b7993201a53ab9d36fc95bcaa9}

\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classBGPPeerData_acbcb1f5b9c56c852ca828ded2b07ca54}{
const \hyperlink{classLocalData}{LocalData} \& {\bfseries \_\-local\_\-data}}
\label{classBGPPeerData_acbcb1f5b9c56c852ca828ded2b07ca54}

\item 
\hypertarget{classBGPPeerData_a0693ea9ed2411a9bee870da8942c6f2b}{
const \hyperlink{classIptuple}{Iptuple} \hyperlink{classBGPPeerData_a0693ea9ed2411a9bee870da8942c6f2b}{\_\-iptuple}}
\label{classBGPPeerData_a0693ea9ed2411a9bee870da8942c6f2b}

\begin{DoxyCompactList}\small\item\em Local Interface, Local Server \hyperlink{classPort}{Port}, \hyperlink{classPeer}{Peer} Interface and \hyperlink{classPeer}{Peer} Server \hyperlink{classPort}{Port} tuple. \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_a89f2466912b455cdef1fa516ef597e09}{
\hyperlink{classAsNum}{AsNum} {\bfseries \_\-as}}
\label{classBGPPeerData_a89f2466912b455cdef1fa516ef597e09}

\item 
\hypertarget{classBGPPeerData_a8b713c7a7ca1b00f856788517af70360}{
bool {\bfseries \_\-use\_\-4byte\_\-asnums}}
\label{classBGPPeerData_a8b713c7a7ca1b00f856788517af70360}

\item 
\hypertarget{classBGPPeerData_a567753bb314ec5517b4c79ea78bcde15}{
bool {\bfseries \_\-route\_\-reflector}}
\label{classBGPPeerData_a567753bb314ec5517b4c79ea78bcde15}

\item 
\hypertarget{classBGPPeerData_a0e9e27b4c9526d2792fb94ff21622fe8}{
bool {\bfseries \_\-confederation}}
\label{classBGPPeerData_a0e9e27b4c9526d2792fb94ff21622fe8}

\item 
\hypertarget{classBGPPeerData_a528ce2ca60348b304d5a885e69f63c48}{
\hyperlink{classConfigVar}{ConfigVar}$<$ uint32\_\-t $>$ \hyperlink{classBGPPeerData_a528ce2ca60348b304d5a885e69f63c48}{\_\-prefix\_\-limit}}
\label{classBGPPeerData_a528ce2ca60348b304d5a885e69f63c48}

\begin{DoxyCompactList}\small\item\em If enabled \hyperlink{protocolthe-p}{the} maximum number of prefixes that will be accepted on a peer before \hyperlink{protocolthe-p}{the} session is torn down. \item\end{DoxyCompactList}\item 
uint16\_\-t \hyperlink{classBGPPeerData_a3a4cf48f94f20a1ccdfaec7dde2933b7}{\_\-configured\_\-hold\_\-time}
\begin{DoxyCompactList}\small\item\em Holdtime in seconds. \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_aa81141589d383a93963949addb5e2b74}{
uint32\_\-t \hyperlink{classBGPPeerData_aa81141589d383a93963949addb5e2b74}{\_\-delay\_\-open\_\-time}}
\label{classBGPPeerData_aa81141589d383a93963949addb5e2b74}

\begin{DoxyCompactList}\small\item\em The number of seconds to wait before sending an open message. \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_a03faa02a54a4a66820a3ce321c79f66b}{
\hyperlink{classIPv4}{IPv4} \hyperlink{classBGPPeerData_a03faa02a54a4a66820a3ce321c79f66b}{\_\-id}}
\label{classBGPPeerData_a03faa02a54a4a66820a3ce321c79f66b}

\begin{DoxyCompactList}\small\item\em Peer's BGP ID. \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_a70357e5367ae4e5d11de17ca38976ef9}{
uint32\_\-t {\bfseries \_\-hold\_\-duration}}
\label{classBGPPeerData_a70357e5367ae4e5d11de17ca38976ef9}

\item 
\hypertarget{classBGPPeerData_a6ba999f68df5cb67bce398c821301868}{
uint32\_\-t {\bfseries \_\-retry\_\-duration}}
\label{classBGPPeerData_a6ba999f68df5cb67bce398c821301868}

\item 
\hypertarget{classBGPPeerData_aad91e01307ebd30b3d72abba4934bc75}{
uint32\_\-t {\bfseries \_\-keepalive\_\-duration}}
\label{classBGPPeerData_aad91e01307ebd30b3d72abba4934bc75}

\item 
\hypertarget{classBGPPeerData_ad75f6d1604f20ec397cfec3b1994911a}{
\hyperlink{classIPv4}{IPv4} \hyperlink{classBGPPeerData_ad75f6d1604f20ec397cfec3b1994911a}{\_\-nexthop\_\-ipv4}}
\label{classBGPPeerData_ad75f6d1604f20ec397cfec3b1994911a}

\begin{DoxyCompactList}\small\item\em \hyperlink{classIPv4}{IPv4} nexthop. \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_a3109af95593b3ed848336723715adf98}{
\hyperlink{classIPv6}{IPv6} \hyperlink{classBGPPeerData_a3109af95593b3ed848336723715adf98}{\_\-nexthop\_\-ipv6}}
\label{classBGPPeerData_a3109af95593b3ed848336723715adf98}

\begin{DoxyCompactList}\small\item\em \hyperlink{classIPv6}{IPv6} nexthop. \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_a21717e33e7ac291cd53ddc594154754f}{
PeerType {\bfseries \_\-peer\_\-type}}
\label{classBGPPeerData_a21717e33e7ac291cd53ddc594154754f}

\item 
\hypertarget{classBGPPeerData_ab2f0a322b7b800aa058896cd57c57a2c}{
ParameterList \hyperlink{classBGPPeerData_ab2f0a322b7b800aa058896cd57c57a2c}{\_\-recv\_\-parameters}}
\label{classBGPPeerData_ab2f0a322b7b800aa058896cd57c57a2c}

\begin{DoxyCompactList}\small\item\em Parameters received by our peer. \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_abd7d68ef64dfea1f54aa662562991131}{
ParameterList \hyperlink{classBGPPeerData_abd7d68ef64dfea1f54aa662562991131}{\_\-sent\_\-parameters}}
\label{classBGPPeerData_abd7d68ef64dfea1f54aa662562991131}

\begin{DoxyCompactList}\small\item\em Parameters that we have sent. \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_ac1bfd4e5d9935741c79bacc01a290021}{
ParameterList \hyperlink{classBGPPeerData_ac1bfd4e5d9935741c79bacc01a290021}{\_\-negotiated\_\-parameters}}
\label{classBGPPeerData_ac1bfd4e5d9935741c79bacc01a290021}

\begin{DoxyCompactList}\small\item\em The options that we have both agreed on. \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_a780f730c302a02f1439a335f0cba63a3}{
bool \hyperlink{classBGPPeerData_a780f730c302a02f1439a335f0cba63a3}{\_\-ipv4\_\-unicast} \mbox{[}ARRAY\_\-SIZE\mbox{]}}
\label{classBGPPeerData_a780f730c302a02f1439a335f0cba63a3}

\begin{DoxyCompactList}\small\item\em The set of different topologies that we support. \item\end{DoxyCompactList}\item 
\hypertarget{classBGPPeerData_a288be5af42bb23028521dcfaeb7252ce}{
bool {\bfseries \_\-ipv6\_\-unicast} \mbox{[}ARRAY\_\-SIZE\mbox{]}}
\label{classBGPPeerData_a288be5af42bb23028521dcfaeb7252ce}

\item 
\hypertarget{classBGPPeerData_a24f3816bff3ae7627c90d13b72399f6c}{
bool {\bfseries \_\-ipv4\_\-multicast} \mbox{[}ARRAY\_\-SIZE\mbox{]}}
\label{classBGPPeerData_a24f3816bff3ae7627c90d13b72399f6c}

\item 
\hypertarget{classBGPPeerData_a61fa2dc0df8468ee2c77608331b6586d}{
bool {\bfseries \_\-ipv6\_\-multicast} \mbox{[}ARRAY\_\-SIZE\mbox{]}}
\label{classBGPPeerData_a61fa2dc0df8468ee2c77608331b6586d}

\item 
\hypertarget{classBGPPeerData_aed7748548c8d9cdebe2a172921236ec3}{
\hyperlink{classIPv4}{IPv4} {\bfseries \_\-next\_\-hop\_\-rewrite}}
\label{classBGPPeerData_aed7748548c8d9cdebe2a172921236ec3}

\item 
\hypertarget{classBGPPeerData_a9657afd6dd9fa505fff2bc9dd5be6b03}{
string \hyperlink{classBGPPeerData_a9657afd6dd9fa505fff2bc9dd5be6b03}{\_\-md5\_\-password}}
\label{classBGPPeerData_a9657afd6dd9fa505fff2bc9dd5be6b03}

\begin{DoxyCompactList}\small\item\em The password for TCP-\/MD5 authentication. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Data that applies to a specific peering. 

\subsection{Member Function Documentation}
\hypertarget{classBGPPeerData_a069b476ad7784ab88293ca9b9b2e1d25}{
\index{BGPPeerData@{BGPPeerData}!get\_\-prefix\_\-limit@{get\_\-prefix\_\-limit}}
\index{get\_\-prefix\_\-limit@{get\_\-prefix\_\-limit}!BGPPeerData@{BGPPeerData}}
\subsubsection[{get\_\-prefix\_\-limit}]{\setlength{\rightskip}{0pt plus 5cm}{\bf ConfigVar}$<$uint32\_\-t$>$\& BGPPeerData::get\_\-prefix\_\-limit (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classBGPPeerData_a069b476ad7784ab88293ca9b9b2e1d25}
\begin{DoxyReturn}{Returns}
\hyperlink{protocolthe-p}{the} prefix limit. 
\end{DoxyReturn}
\hypertarget{classBGPPeerData_a7c93df9a6d9b8f9ee33572481c5876c0}{
\index{BGPPeerData@{BGPPeerData}!multiprotocol@{multiprotocol}}
\index{multiprotocol@{multiprotocol}!BGPPeerData@{BGPPeerData}}
\subsubsection[{multiprotocol}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class A $>$ bool BGPPeerData::multiprotocol (
\begin{DoxyParamCaption}
\item[{Safi}]{safi, }
\item[{{\bf Direction}}]{d = {\ttfamily NEGOTIATED}}
\end{DoxyParamCaption}
) const\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classBGPPeerData_a7c93df9a6d9b8f9ee33572481c5876c0}


Which multiprotocol parameters did we send,receive and negotiate. 


\begin{DoxyParams}{Parameters}
{\em safi} & -\/ Subsequent address family identifier \\
\hline
{\em d} & -\/ direction, SENT, RECEIVED or NEGOTIATED\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
true if this parameter was set 
\end{DoxyReturn}
\hypertarget{classBGPPeerData_a06c00ff3febb67e831d9bb42e03e7da8}{
\index{BGPPeerData@{BGPPeerData}!my\_\-AS\_\-number@{my\_\-AS\_\-number}}
\index{my\_\-AS\_\-number@{my\_\-AS\_\-number}!BGPPeerData@{BGPPeerData}}
\subsubsection[{my\_\-AS\_\-number}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf AsNum} BGPPeerData::my\_\-AS\_\-number (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
) const}}
\label{classBGPPeerData_a06c00ff3febb67e831d9bb42e03e7da8}


Return this routers AS number. 

Normally this is simple, but if this router is in a confederation then \hyperlink{protocolthe-p}{the} AS number depends on \hyperlink{protocolthe-p}{the} \hyperlink{protocolthe-p}{the} type of \hyperlink{protocolthe-p}{the} peering. \hypertarget{classBGPPeerData_a6d7497367dfaf44fec9afc5714672bc6}{
\index{BGPPeerData@{BGPPeerData}!save\_\-parameters@{save\_\-parameters}}
\index{save\_\-parameters@{save\_\-parameters}!BGPPeerData@{BGPPeerData}}
\subsubsection[{save\_\-parameters}]{\setlength{\rightskip}{0pt plus 5cm}void BGPPeerData::save\_\-parameters (
\begin{DoxyParamCaption}
\item[{const ParameterList \&}]{parameter\_\-list}
\end{DoxyParamCaption}
)}}
\label{classBGPPeerData_a6d7497367dfaf44fec9afc5714672bc6}


Take \hyperlink{protocolthe-p}{the} optional parameters out of an open packet and save them in \_\-recv\_\-parameters. 

The list is accessible through \hyperlink{protocolthe-p}{the} parameter\_\-recv\_\-list method. 

\subsection{Member Data Documentation}
\hypertarget{classBGPPeerData_a3a4cf48f94f20a1ccdfaec7dde2933b7}{
\index{BGPPeerData@{BGPPeerData}!\_\-configured\_\-hold\_\-time@{\_\-configured\_\-hold\_\-time}}
\index{\_\-configured\_\-hold\_\-time@{\_\-configured\_\-hold\_\-time}!BGPPeerData@{BGPPeerData}}
\subsubsection[{\_\-configured\_\-hold\_\-time}]{\setlength{\rightskip}{0pt plus 5cm}uint16\_\-t {\bf BGPPeerData::\_\-configured\_\-hold\_\-time}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classBGPPeerData_a3a4cf48f94f20a1ccdfaec7dde2933b7}


Holdtime in seconds. 

Value sent in open negotiation. 

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