OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BgpPeerClose Class Reference

#include <bgp_peer_close.h>

Inheritance diagram for BgpPeerClose:
Collaboration diagram for BgpPeerClose:

Public Types

typedef std::set< Address::FamilyFamilies
 
- Public Types inherited from IPeerClose
typedef std::set< Address::FamilyFamilies
 

Public Member Functions

 BgpPeerClose (BgpPeer *peer)
 
virtual ~BgpPeerClose ()
 
virtual void CustomClose ()
 
virtual void GracefulRestartStale ()
 
virtual void LongLivedGracefulRestartStale ()
 
virtual void GracefulRestartSweep ()
 
virtual bool IsReady () const
 
virtual IPeerpeer () const
 
virtual void Close (bool graceful)
 
virtual void Delete ()
 
virtual int GetGracefulRestartTime () const
 
virtual int GetLongLivedGracefulRestartTime () const
 
virtual void ReceiveEndOfRIB (Address::Family family)
 
virtual const char * GetTaskName () const
 
virtual int GetTaskInstance () const
 
virtual void MembershipRequestCallbackComplete ()
 
virtual bool IsCloseGraceful () const
 
virtual bool IsCloseLongLivedGraceful () const
 
virtual void CloseComplete ()
 
virtual void GetGracefulRestartFamilies (Families *families) const
 
virtual void GetLongLivedGracefulRestartFamilies (Families *families) const
 
virtual PeerCloseManagerGetManager () const
 
virtual void UpdateRouteStats (Address::Family family, const BgpPath *old_path, uint32_t path_flags) const
 
void AddGRCapabilities (BgpProto::OpenMessage::OptParam *opt_param)
 
void AddLLGRCapabilities (BgpProto::OpenMessage::OptParam *opt_param)
 
bool SetGRCapabilities (BgpPeerInfoData *peer_info)
 
void FillNeighborInfo (BgpNeighborResp *bnr) const
 
virtual void RestartStateMachine ()
 
const
BgpProto::OpenMessage::Capability::GR
gr_params () const
 
- Public Member Functions inherited from IPeerClose
virtual ~IPeerClose ()
 

Private Member Functions

virtual bool IsGRReady () const
 
virtual bool IsGRHelperModeEnabled () const
 
virtual const std::vector
< std::string > & 
negotiated_families () const
 
virtual const std::vector
< std::string > & 
PeerNegotiatedFamilies () const
 
virtual bool IsPeerDeleted () const
 
virtual bool IsPeerAdminDown () const
 
virtual bool IsServerDeleted () const
 
virtual bool IsServerAdminDown () const
 
virtual bool IsInGRTimerWaitState () const
 
virtual bool IsInLlgrTimerWaitState () const
 
virtual const std::vector
< BgpProto::OpenMessage::Capability * > & 
capabilities () const
 
bool IsLlgrSupportedForFamilies () const
 
bool IsCloseLongLivedGracefulInternal () const
 
 DISALLOW_COPY_AND_ASSIGN (BgpPeerClose)
 

Private Attributes

BgpPeerpeer_
 
uint64_t flap_count_
 
std::vector< std::string > negotiated_families_
 
std::vector< std::string > gr_families_
 
std::vector< std::string > llgr_families_
 
BgpProto::OpenMessage::Capability::GR gr_params_
 
BgpProto::OpenMessage::Capability::LLGR llgr_params_
 

Detailed Description

Definition at line 19 of file bgp_peer_close.h.

Member Typedef Documentation

Definition at line 21 of file bgp_peer_close.h.

Constructor & Destructor Documentation

BgpPeerClose::BgpPeerClose ( BgpPeer peer)
explicit

Definition at line 25 of file bgp_peer_close.cc.

BgpPeerClose::~BgpPeerClose ( )
virtual

Definition at line 29 of file bgp_peer_close.cc.

Member Function Documentation

void BgpPeerClose::AddGRCapabilities ( BgpProto::OpenMessage::OptParam opt_param)

Definition at line 370 of file bgp_peer_close.cc.

Here is the call graph for this function:

void BgpPeerClose::AddLLGRCapabilities ( BgpProto::OpenMessage::OptParam opt_param)

Definition at line 439 of file bgp_peer_close.cc.

Here is the call graph for this function:

const std::vector< BgpProto::OpenMessage::Capability * > & BgpPeerClose::capabilities ( ) const
privatevirtual

Definition at line 122 of file bgp_peer_close.cc.

Here is the call graph for this function:

void BgpPeerClose::Close ( bool  graceful)
virtual

Implements IPeerClose.

Definition at line 132 of file bgp_peer_close.cc.

Here is the call graph for this function:

void BgpPeerClose::CloseComplete ( )
virtual

Implements IPeerClose.

Definition at line 351 of file bgp_peer_close.cc.

Here is the call graph for this function:

void BgpPeerClose::CustomClose ( )
virtual

Implements IPeerClose.

Definition at line 36 of file bgp_peer_close.cc.

Here is the call graph for this function:

void BgpPeerClose::Delete ( )
virtual

Implements IPeerClose.

Definition at line 157 of file bgp_peer_close.cc.

Here is the call graph for this function:

BgpPeerClose::DISALLOW_COPY_AND_ASSIGN ( BgpPeerClose  )
private
void BgpPeerClose::FillNeighborInfo ( BgpNeighborResp *  bnr) const

Definition at line 461 of file bgp_peer_close.cc.

Here is the call graph for this function:

void BgpPeerClose::GetGracefulRestartFamilies ( Families families) const
virtual

Implements IPeerClose.

Definition at line 356 of file bgp_peer_close.cc.

Here is the call graph for this function:

int BgpPeerClose::GetGracefulRestartTime ( ) const
virtual

Implements IPeerClose.

Definition at line 60 of file bgp_peer_close.cc.

void BgpPeerClose::GetLongLivedGracefulRestartFamilies ( Families families) const
virtual

Implements IPeerClose.

Definition at line 363 of file bgp_peer_close.cc.

Here is the call graph for this function:

int BgpPeerClose::GetLongLivedGracefulRestartTime ( ) const
virtual

Implements IPeerClose.

Definition at line 65 of file bgp_peer_close.cc.

PeerCloseManager * BgpPeerClose::GetManager ( ) const
virtual

Implements IPeerClose.

Definition at line 32 of file bgp_peer_close.cc.

Here is the call graph for this function:

int BgpPeerClose::GetTaskInstance ( ) const
virtual

Implements IPeerClose.

Definition at line 77 of file bgp_peer_close.cc.

const char * BgpPeerClose::GetTaskName ( ) const
virtual

Implements IPeerClose.

Definition at line 73 of file bgp_peer_close.cc.

const BgpProto::OpenMessage::Capability::GR& BgpPeerClose::gr_params ( ) const
inline

Definition at line 54 of file bgp_peer_close.h.

void BgpPeerClose::GracefulRestartStale ( )
virtual

Implements IPeerClose.

Definition at line 40 of file bgp_peer_close.cc.

Here is the call graph for this function:

void BgpPeerClose::GracefulRestartSweep ( )
virtual

Implements IPeerClose.

Definition at line 47 of file bgp_peer_close.cc.

bool BgpPeerClose::IsCloseGraceful ( ) const
virtual

Implements IPeerClose.

Definition at line 240 of file bgp_peer_close.cc.

Here is the call graph for this function:

bool BgpPeerClose::IsCloseLongLivedGraceful ( ) const
virtual

Implements IPeerClose.

Definition at line 298 of file bgp_peer_close.cc.

Here is the call graph for this function:

bool BgpPeerClose::IsCloseLongLivedGracefulInternal ( ) const
private

Definition at line 304 of file bgp_peer_close.cc.

Here is the call graph for this function:

bool BgpPeerClose::IsGRHelperModeEnabled ( ) const
privatevirtual

Definition at line 85 of file bgp_peer_close.cc.

Here is the call graph for this function:

bool BgpPeerClose::IsGRReady ( ) const
privatevirtual

Definition at line 170 of file bgp_peer_close.cc.

Here is the call graph for this function:

bool BgpPeerClose::IsInGRTimerWaitState ( ) const
privatevirtual

Definition at line 109 of file bgp_peer_close.cc.

Here is the call graph for this function:

bool BgpPeerClose::IsInLlgrTimerWaitState ( ) const
privatevirtual

Definition at line 113 of file bgp_peer_close.cc.

Here is the call graph for this function:

bool BgpPeerClose::IsLlgrSupportedForFamilies ( ) const
private

Definition at line 275 of file bgp_peer_close.cc.

Here is the call graph for this function:

bool BgpPeerClose::IsPeerAdminDown ( ) const
privatevirtual

Definition at line 97 of file bgp_peer_close.cc.

Here is the call graph for this function:

bool BgpPeerClose::IsPeerDeleted ( ) const
privatevirtual

Definition at line 93 of file bgp_peer_close.cc.

Here is the call graph for this function:

bool BgpPeerClose::IsReady ( ) const
virtual

Implements IPeerClose.

Definition at line 51 of file bgp_peer_close.cc.

Here is the call graph for this function:

bool BgpPeerClose::IsServerAdminDown ( ) const
privatevirtual

Definition at line 105 of file bgp_peer_close.cc.

Here is the call graph for this function:

bool BgpPeerClose::IsServerDeleted ( ) const
privatevirtual

Definition at line 101 of file bgp_peer_close.cc.

Here is the call graph for this function:

void BgpPeerClose::LongLivedGracefulRestartStale ( )
virtual

Implements IPeerClose.

Definition at line 44 of file bgp_peer_close.cc.

void BgpPeerClose::MembershipRequestCallbackComplete ( )
virtual

Implements IPeerClose.

Definition at line 81 of file bgp_peer_close.cc.

Here is the call graph for this function:

const std::vector< std::string > & BgpPeerClose::negotiated_families ( ) const
privatevirtual

Definition at line 117 of file bgp_peer_close.cc.

IPeer * BgpPeerClose::peer ( ) const
virtual

Implements IPeerClose.

Definition at line 55 of file bgp_peer_close.cc.

const std::vector< std::string > & BgpPeerClose::PeerNegotiatedFamilies ( ) const
privatevirtual

Definition at line 89 of file bgp_peer_close.cc.

Here is the call graph for this function:

void BgpPeerClose::ReceiveEndOfRIB ( Address::Family  family)
virtual

Implements IPeerClose.

Definition at line 69 of file bgp_peer_close.cc.

Here is the call graph for this function:

void BgpPeerClose::RestartStateMachine ( )
virtual

Definition at line 345 of file bgp_peer_close.cc.

Here is the call graph for this function:

bool BgpPeerClose::SetGRCapabilities ( BgpPeerInfoData *  peer_info)

Definition at line 406 of file bgp_peer_close.cc.

Here is the call graph for this function:

void BgpPeerClose::UpdateRouteStats ( Address::Family  family,
const BgpPath old_path,
uint32_t  path_flags 
) const
virtual

Implements IPeerClose.

Definition at line 126 of file bgp_peer_close.cc.

Here is the call graph for this function:

Member Data Documentation

uint64_t BgpPeerClose::flap_count_
private

Definition at line 75 of file bgp_peer_close.h.

std::vector<std::string> BgpPeerClose::gr_families_
private

Definition at line 77 of file bgp_peer_close.h.

BgpProto::OpenMessage::Capability::GR BgpPeerClose::gr_params_
private

Definition at line 79 of file bgp_peer_close.h.

std::vector<std::string> BgpPeerClose::llgr_families_
private

Definition at line 78 of file bgp_peer_close.h.

BgpProto::OpenMessage::Capability::LLGR BgpPeerClose::llgr_params_
private

Definition at line 80 of file bgp_peer_close.h.

std::vector<std::string> BgpPeerClose::negotiated_families_
private

Definition at line 76 of file bgp_peer_close.h.

BgpPeer* BgpPeerClose::peer_
private

Definition at line 74 of file bgp_peer_close.h.


The documentation for this class was generated from the following files: