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

#include <bgp_server.h>

Collaboration diagram for BgpServer:

Classes

class  ConfigUpdater
 
class  DeleteActor
 

Public Types

typedef boost::function< void()> AdminDownCb
 
typedef boost::function< void(uint8_t)> DSCPUpdateCb
 
typedef boost::function< void(as_t,
as_t)> 
ASNUpdateCb
 
typedef boost::function< void(Ip4Address)> IdentifierUpdateCb
 
typedef boost::function< void(BgpPeer *)> VisitorFn
 
typedef std::set
< IStaticRouteMgr * > 
StaticRouteMgrList
 

Public Member Functions

 BgpServer (EventManager *evm)
 
virtual ~BgpServer ()
 
virtual std::string ToString () const
 
uint16_t GetGracefulRestartTime () const
 
uint32_t GetLongLivedGracefulRestartTime () const
 
bool IsFastConvergenceEnabled () const
 
uint16_t GetXmppHoldTime () const
 
bool IsNextHopCheckEnabled () const
 
uint32_t GetEndOfRibReceiveTime () const
 
uint32_t GetEndOfRibSendTime () const
 
int RegisterPeer (BgpPeer *peer)
 
void UnregisterPeer (BgpPeer *peer)
 
BgpPeerFindPeer (const std::string &name)
 
BgpPeerFindNextPeer (const std::string &name=std::string())
 
void InsertPeer (TcpSession::Endpoint remote, BgpPeer *peer)
 
void RemovePeer (TcpSession::Endpoint remote, BgpPeer *peer)
 
virtual BgpPeerFindPeer (TcpSession::Endpoint remote) const
 
BgpPeerFindExactPeer (const BgpPeer *peer) const
 
void Shutdown ()
 
void VisitBgpPeers (BgpServer::VisitorFn) const
 
BgpSessionManagersession_manager ()
 
BgpUpdateSenderupdate_sender ()
 
LifetimeManagerlifetime_manager ()
 
BgpConfigManagerconfig_manager ()
 
const BgpConfigManagerconfig_manager () const
 
RoutingInstanceMgrrouting_instance_mgr ()
 
const RoutingInstanceMgrrouting_instance_mgr () const
 
RoutingPolicyMgrrouting_policy_mgr ()
 
const RoutingPolicyMgrrouting_policy_mgr () const
 
RTargetGroupMgrrtarget_group_mgr ()
 
const RTargetGroupMgrrtarget_group_mgr () const
 
BgpConditionListenercondition_listener (Address::Family family)
 
BgpConditionListenercondition_listener (SCAddress::Family family)
 
IServiceChainMgrservice_chain_mgr (SCAddress::Family family)
 
RoutePathReplicatorreplicator (Address::Family family)
 
const RoutePathReplicatorreplicator (Address::Family family) const
 
BgpMembershipManagermembership_mgr ()
 
const BgpMembershipManagermembership_mgr () const
 
AsPathDBaspath_db ()
 
AsPath4ByteDBaspath_4byte_db ()
 
As4PathDBas4path_db ()
 
BgpAttrDBattr_db ()
 
BgpOListDBolist_db ()
 
ClusterListDBcluster_list_db ()
 
CommunityDBcomm_db ()
 
EdgeDiscoveryDBedge_discovery_db ()
 
EdgeForwardingDBedge_forwarding_db ()
 
ExtCommunityDBextcomm_db ()
 
OriginVnPathDBovnpath_db ()
 
PmsiTunnelDBpmsi_tunnel_db ()
 
bool IsDeleted () const
 
bool IsReadyForDeletion ()
 
void RetryDelete ()
 
bool logging_disabled () const
 
void set_logging_disabled (bool flag)
 
bool destroyed () const
 
void set_destroyed ()
 
DBdatabase ()
 
const std::string & localname () const
 
bool admin_down () const
 
uint32_t cluster_id () const
 
void set_cluster_id (uint32_t id)
 
as_t autonomous_system () const
 
void set_autonomous_system (as_t asn)
 
as_t local_autonomous_system () const
 
uint32_t bgp_identifier () const
 
uint32_t bgp_identifier_u32 () const
 
std::string bgp_identifier_string () const
 
void UpdateBgpIdentifier (const Ip4Address &identifier)
 
uint32_t hold_time () const
 
bool HasSelfConfiguration () const
 
uint32_t num_routing_instance () const
 
uint32_t num_deleted_routing_instance () const
 
uint32_t num_bgp_peer () const
 
uint32_t num_deleting_bgp_peer () const
 
void increment_deleting_count ()
 
void decrement_deleting_count ()
 
uint32_t num_bgpaas_peer () const
 
uint32_t num_deleting_bgpaas_peer () const
 
void increment_deleting_bgpaas_count ()
 
void decrement_deleting_bgpaas_count ()
 
uint32_t get_output_queue_depth () const
 
uint32_t num_service_chains () const
 
uint32_t num_down_service_chains () const
 
uint32_t num_static_routes () const
 
uint32_t num_down_static_routes () const
 
void IncrementUpPeerCount ()
 
void DecrementUpPeerCount ()
 
uint32_t NumUpPeer () const
 
void IncrementUpBgpaasPeerCount ()
 
void DecrementUpBgpaasPeerCount ()
 
uint32_t NumUpBgpaasPeer () const
 
LifetimeActordeleter ()
 
boost::asio::io_context * ioservice ()
 
void increment_message_build_error () const
 
uint64_t message_build_error () const
 
int RegisterAdminDownCallback (AdminDownCb callback)
 
void UnregisterAdminDownCallback (int listener)
 
void NotifyAdminDown ()
 
int RegisterASNUpdateCallback (ASNUpdateCb callback)
 
void UnregisterASNUpdateCallback (int listener)
 
void NotifyASNUpdate (as_t old_asn, as_t old_local_asn)
 
int RegisterIdentifierUpdateCallback (IdentifierUpdateCb callback)
 
void UnregisterIdentifierUpdateCallback (int listener)
 
void NotifyIdentifierUpdate (Ip4Address old_identifier)
 
int RegisterDSCPUpdateCallback (DSCPUpdateCb cb)
 
void UnregisterDSCPUpdateCallback (int listener)
 
void NotifyDSCPUpdate (int new_dscp_value)
 
void InsertStaticRouteMgr (IStaticRouteMgr *srt_manager)
 
void RemoveStaticRouteMgr (IStaticRouteMgr *srt_manager)
 
void NotifyAllStaticRoutes ()
 
uint32_t GetStaticRouteCount () const
 
uint32_t GetDownStaticRouteCount () const
 
BgpGlobalSystemConfigglobal_config ()
 
const BgpGlobalSystemConfigglobal_config () const
 
BgpGlobalQosConfigglobal_qos ()
 
bool gr_helper_disable () const
 
void set_gr_helper_disable (bool gr_helper_disable)
 
bool IsGRHelperModeEnabled () const
 
bool CollectStats (BgpRouterState *state, bool first) const
 
bool IsServerStartingUp () const
 
time_t GetRTargetTableLastUpdatedTimeStamp () const
 
bool mvpn_ipv4_enable () const
 
void set_mvpn_ipv4_enable (bool flag)
 
bool enable_4byte_as () const
 
void set_enable_4byte_as (bool flag)
 
bool ignore_aspath () const
 
void set_ignore_aspath (bool flag)
 

Static Public Member Functions

static void Initialize ()
 
static void Terminate ()
 

Private Types

typedef std::map< std::string,
BgpPeer * > 
BgpPeerList
 
typedef std::vector< AdminDownCbAdminDownListenersList
 
typedef std::vector< ASNUpdateCbASNUpdateListenersList
 
typedef std::vector
< IdentifierUpdateCb
IdentifierUpdateListenersList
 
typedef std::vector< DSCPUpdateCbDSCPUpdateListenersList
 
typedef std::multimap
< TcpSession::Endpoint,
BgpPeer * > 
EndpointPeerList
 

Private Member Functions

void RoutingInstanceMgrDeletionComplete (RoutingInstanceMgr *mgr)
 
void FillPeerStats (const BgpPeer *peer) const
 
void ClearBgpaaSPeers ()
 
 DISALLOW_COPY_AND_ASSIGN (BgpServer)
 

Private Attributes

tbb::spin_rw_mutex rw_mutex_
 
bool admin_down_
 
AdminDownListenersList admin_down_listeners_
 
boost::dynamic_bitset admin_down_bmap_
 
uint32_t cluster_id_
 
as_t autonomous_system_
 
as_t local_autonomous_system_
 
ASNUpdateListenersList asn_listeners_
 
boost::dynamic_bitset asn_bmap_
 
Ip4Address bgp_identifier_
 
uint32_t bgp_identifier_u32_
 
IdentifierUpdateListenersList id_listeners_
 
boost::dynamic_bitset id_bmap_
 
DSCPUpdateListenersList dscp_listeners_
 
boost::dynamic_bitset dscp_bmap_
 
uint32_t hold_time_
 
bool gr_helper_disable_
 
StaticRouteMgrList srt_manager_list_
 
DB db_
 
boost::dynamic_bitset peer_bmap_
 
tbb::atomic< uint32_t > bgp_count_
 
tbb::atomic< uint32_t > num_up_peer_
 
tbb::atomic< uint32_t > deleting_count_
 
tbb::atomic< uint32_t > bgpaas_count_
 
tbb::atomic< uint32_t > num_up_bgpaas_peer_
 
tbb::atomic< uint32_t > deleting_bgpaas_count_
 
BgpPeerList peer_list_
 
EndpointPeerList endpoint_peer_list_
 
boost::scoped_ptr
< LifetimeManager
lifetime_manager_
 
boost::scoped_ptr< DeleteActordeleter_
 
bool destroyed_
 
bool logging_disabled_
 
bool mvpn_ipv4_enable_
 
bool ignore_aspath_
 
boost::scoped_ptr< AsPathDBaspath_db_
 
boost::scoped_ptr< AsPath4ByteDBaspath_4byte_db_
 
boost::scoped_ptr< As4PathDBas4path_db_
 
boost::scoped_ptr< BgpOListDBolist_db_
 
boost::scoped_ptr< ClusterListDBcluster_list_db_
 
boost::scoped_ptr< CommunityDBcomm_db_
 
boost::scoped_ptr
< EdgeDiscoveryDB
edge_discovery_db_
 
boost::scoped_ptr
< EdgeForwardingDB
edge_forwarding_db_
 
boost::scoped_ptr< ExtCommunityDBextcomm_db_
 
boost::scoped_ptr< OriginVnPathDBovnpath_db_
 
boost::scoped_ptr< PmsiTunnelDBpmsi_tunnel_db_
 
boost::scoped_ptr< BgpAttrDBattr_db_
 
BgpSessionManagersession_mgr_
 
boost::scoped_ptr
< BgpUpdateSender
update_sender_
 
boost::scoped_ptr
< RoutingInstanceMgr
inst_mgr_
 
boost::scoped_ptr
< RoutingPolicyMgr
policy_mgr_
 
boost::scoped_ptr
< RTargetGroupMgr
rtarget_group_mgr_
 
boost::scoped_ptr
< BgpMembershipManager
membership_mgr_
 
boost::scoped_ptr
< BgpConditionListener
inet_condition_listener_
 
boost::scoped_ptr
< BgpConditionListener
inet6_condition_listener_
 
boost::scoped_ptr
< BgpConditionListener
evpn_condition_listener_
 
boost::scoped_ptr
< BgpConditionListener
evpn6_condition_listener_
 
boost::scoped_ptr
< RoutePathReplicator
inetvpn_replicator_
 
boost::scoped_ptr
< RoutePathReplicator
ermvpn_replicator_
 
boost::scoped_ptr
< RoutePathReplicator
mvpn_replicator_
 
boost::scoped_ptr
< RoutePathReplicator
evpn_replicator_
 
boost::scoped_ptr
< RoutePathReplicator
inet6vpn_replicator_
 
boost::scoped_ptr
< IServiceChainMgr
inet_service_chain_mgr_
 
boost::scoped_ptr
< IServiceChainMgr
inet6_service_chain_mgr_
 
boost::scoped_ptr
< IServiceChainMgr
evpn_service_chain_mgr_
 
boost::scoped_ptr
< IServiceChainMgr
evpn6_service_chain_mgr_
 
boost::scoped_ptr
< BgpGlobalSystemConfig
global_config_
 
boost::scoped_ptr
< BgpGlobalQosConfig
global_qos_
 
boost::scoped_ptr
< BgpConfigManager
config_mgr_
 
boost::scoped_ptr< ConfigUpdaterupdater_
 
tbb::atomic< uint64_t > message_build_error_
 

Friends

class BgpServerTest
 
class BgpServerUnitTest
 

Detailed Description

Definition at line 58 of file bgp_server.h.

Member Typedef Documentation

typedef boost::function<void()> BgpServer::AdminDownCb

Definition at line 60 of file bgp_server.h.

typedef std::vector<AdminDownCb> BgpServer::AdminDownListenersList
private

Definition at line 316 of file bgp_server.h.

typedef boost::function<void(as_t, as_t)> BgpServer::ASNUpdateCb

Definition at line 62 of file bgp_server.h.

typedef std::vector<ASNUpdateCb> BgpServer::ASNUpdateListenersList
private

Definition at line 317 of file bgp_server.h.

typedef std::map<std::string, BgpPeer *> BgpServer::BgpPeerList
private

Definition at line 315 of file bgp_server.h.

typedef boost::function<void(uint8_t)> BgpServer::DSCPUpdateCb

Definition at line 61 of file bgp_server.h.

typedef std::vector<DSCPUpdateCb> BgpServer::DSCPUpdateListenersList
private

Definition at line 319 of file bgp_server.h.

typedef std::multimap<TcpSession::Endpoint, BgpPeer *> BgpServer::EndpointPeerList
private

Definition at line 320 of file bgp_server.h.

typedef boost::function<void(Ip4Address)> BgpServer::IdentifierUpdateCb

Definition at line 63 of file bgp_server.h.

Definition at line 318 of file bgp_server.h.

Definition at line 65 of file bgp_server.h.

typedef boost::function<void(BgpPeer *)> BgpServer::VisitorFn

Definition at line 64 of file bgp_server.h.

Constructor & Destructor Documentation

BgpServer::BgpServer ( EventManager evm)
explicit

Definition at line 478 of file bgp_server.cc.

BgpServer::~BgpServer ( )
virtual

Definition at line 542 of file bgp_server.cc.

Member Function Documentation

bool BgpServer::admin_down ( ) const
inline

Definition at line 202 of file bgp_server.h.

As4PathDB* BgpServer::as4path_db ( )
inline

Definition at line 180 of file bgp_server.h.

AsPath4ByteDB* BgpServer::aspath_4byte_db ( )
inline

Definition at line 179 of file bgp_server.h.

AsPathDB* BgpServer::aspath_db ( )
inline

Definition at line 178 of file bgp_server.h.

BgpAttrDB* BgpServer::attr_db ( )
inline

Definition at line 181 of file bgp_server.h.

as_t BgpServer::autonomous_system ( ) const
inline

Definition at line 205 of file bgp_server.h.

uint32_t BgpServer::bgp_identifier ( ) const
inline

Definition at line 208 of file bgp_server.h.

std::string BgpServer::bgp_identifier_string ( ) const
inline

Definition at line 211 of file bgp_server.h.

uint32_t BgpServer::bgp_identifier_u32 ( ) const
inline

Definition at line 209 of file bgp_server.h.

void BgpServer::ClearBgpaaSPeers ( )
private

Definition at line 656 of file bgp_server.cc.

uint32_t BgpServer::cluster_id ( ) const
inline

Definition at line 203 of file bgp_server.h.

ClusterListDB* BgpServer::cluster_list_db ( )
inline

Definition at line 183 of file bgp_server.h.

bool BgpServer::CollectStats ( BgpRouterState *  state,
bool  first 
) const

Definition at line 1065 of file bgp_server.cc.

Here is the call graph for this function:

CommunityDB* BgpServer::comm_db ( )
inline

Definition at line 184 of file bgp_server.h.

BgpConditionListener* BgpServer::condition_listener ( Address::Family  family)
inline

Definition at line 114 of file bgp_server.h.

BgpConditionListener* BgpServer::condition_listener ( SCAddress::Family  family)
inline

Definition at line 122 of file bgp_server.h.

BgpConfigManager* BgpServer::config_manager ( )
inline

Definition at line 100 of file bgp_server.h.

const BgpConfigManager* BgpServer::config_manager ( ) const
inline

Definition at line 101 of file bgp_server.h.

DB* BgpServer::database ( )
inline

Definition at line 200 of file bgp_server.h.

void BgpServer::decrement_deleting_bgpaas_count ( )
inline

Definition at line 233 of file bgp_server.h.

void BgpServer::decrement_deleting_count ( )
inline

Definition at line 225 of file bgp_server.h.

void BgpServer::DecrementUpBgpaasPeerCount ( )
inline

Definition at line 258 of file bgp_server.h.

void BgpServer::DecrementUpPeerCount ( )
inline

Definition at line 248 of file bgp_server.h.

LifetimeActor * BgpServer::deleter ( )

Definition at line 564 of file bgp_server.cc.

bool BgpServer::destroyed ( ) const
inline

Definition at line 197 of file bgp_server.h.

BgpServer::DISALLOW_COPY_AND_ASSIGN ( BgpServer  )
private
EdgeDiscoveryDB* BgpServer::edge_discovery_db ( )
inline

Definition at line 185 of file bgp_server.h.

EdgeForwardingDB* BgpServer::edge_forwarding_db ( )
inline

Definition at line 186 of file bgp_server.h.

bool BgpServer::enable_4byte_as ( ) const

Definition at line 726 of file bgp_server.cc.

Here is the call graph for this function:

ExtCommunityDB* BgpServer::extcomm_db ( )
inline

Definition at line 187 of file bgp_server.h.

void BgpServer::FillPeerStats ( const BgpPeer peer) const
private

Definition at line 1036 of file bgp_server.cc.

Here is the call graph for this function:

BgpPeer * BgpServer::FindExactPeer ( const BgpPeer peer) const

Definition at line 667 of file bgp_server.cc.

Here is the call graph for this function:

BgpPeer * BgpServer::FindNextPeer ( const std::string &  name = std::string())

Definition at line 634 of file bgp_server.cc.

BgpPeer* BgpServer::FindPeer ( const std::string &  name)
BgpPeer * BgpServer::FindPeer ( TcpSession::Endpoint  remote) const
virtual

Definition at line 662 of file bgp_server.cc.

uint32_t BgpServer::get_output_queue_depth ( ) const

Definition at line 758 of file bgp_server.cc.

Here is the call graph for this function:

uint32_t BgpServer::GetDownStaticRouteCount ( ) const

Definition at line 1025 of file bgp_server.cc.

Here is the call graph for this function:

uint32_t BgpServer::GetEndOfRibReceiveTime ( ) const

Definition at line 714 of file bgp_server.cc.

uint32_t BgpServer::GetEndOfRibSendTime ( ) const

Definition at line 718 of file bgp_server.cc.

uint16_t BgpServer::GetGracefulRestartTime ( ) const

Definition at line 696 of file bgp_server.cc.

uint32_t BgpServer::GetLongLivedGracefulRestartTime ( ) const

Definition at line 702 of file bgp_server.cc.

time_t BgpServer::GetRTargetTableLastUpdatedTimeStamp ( ) const

Definition at line 1206 of file bgp_server.cc.

Here is the call graph for this function:

uint32_t BgpServer::GetStaticRouteCount ( ) const

Definition at line 1014 of file bgp_server.cc.

Here is the call graph for this function:

uint16_t BgpServer::GetXmppHoldTime ( ) const

Definition at line 708 of file bgp_server.cc.

BgpGlobalSystemConfig* BgpServer::global_config ( )
inline

Definition at line 290 of file bgp_server.h.

const BgpGlobalSystemConfig* BgpServer::global_config ( ) const
inline

Definition at line 291 of file bgp_server.h.

BgpGlobalQosConfig* BgpServer::global_qos ( )
inline

Definition at line 294 of file bgp_server.h.

bool BgpServer::gr_helper_disable ( ) const
inline

Definition at line 295 of file bgp_server.h.

bool BgpServer::HasSelfConfiguration ( ) const

Definition at line 568 of file bgp_server.cc.

Here is the call graph for this function:

uint32_t BgpServer::hold_time ( ) const
inline

Definition at line 215 of file bgp_server.h.

bool BgpServer::ignore_aspath ( ) const
inline

Definition at line 307 of file bgp_server.h.

void BgpServer::increment_deleting_bgpaas_count ( )
inline

Definition at line 232 of file bgp_server.h.

void BgpServer::increment_deleting_count ( )
inline

Definition at line 224 of file bgp_server.h.

void BgpServer::increment_message_build_error ( ) const
inline

Definition at line 269 of file bgp_server.h.

void BgpServer::IncrementUpBgpaasPeerCount ( )
inline

Definition at line 255 of file bgp_server.h.

void BgpServer::IncrementUpPeerCount ( )
inline

Definition at line 245 of file bgp_server.h.

void BgpServer::Initialize ( )
static

Definition at line 548 of file bgp_server.cc.

Here is the call graph for this function:

void BgpServer::InsertPeer ( TcpSession::Endpoint  remote,
BgpPeer peer 
)

Definition at line 639 of file bgp_server.cc.

void BgpServer::InsertStaticRouteMgr ( IStaticRouteMgr srt_manager)

Definition at line 992 of file bgp_server.cc.

boost::asio::io_context * BgpServer::ioservice ( )

Definition at line 682 of file bgp_server.cc.

Here is the call graph for this function:

bool BgpServer::IsDeleted ( ) const

Definition at line 415 of file bgp_server.cc.

bool BgpServer::IsFastConvergenceEnabled ( ) const

Definition at line 686 of file bgp_server.cc.

bool BgpServer::IsGRHelperModeEnabled ( ) const

Definition at line 734 of file bgp_server.cc.

bool BgpServer::IsNextHopCheckEnabled ( ) const

Definition at line 690 of file bgp_server.cc.

bool BgpServer::IsReadyForDeletion ( )

Definition at line 425 of file bgp_server.cc.

Here is the call graph for this function:

bool BgpServer::IsServerStartingUp ( ) const

Definition at line 722 of file bgp_server.cc.

Here is the call graph for this function:

LifetimeManager* BgpServer::lifetime_manager ( )
inline

Definition at line 99 of file bgp_server.h.

as_t BgpServer::local_autonomous_system ( ) const
inline

Definition at line 207 of file bgp_server.h.

const string & BgpServer::localname ( ) const

Definition at line 678 of file bgp_server.cc.

bool BgpServer::logging_disabled ( ) const
inline

Definition at line 194 of file bgp_server.h.

BgpMembershipManager* BgpServer::membership_mgr ( )
inline

Definition at line 173 of file bgp_server.h.

const BgpMembershipManager* BgpServer::membership_mgr ( ) const
inline

Definition at line 174 of file bgp_server.h.

uint64_t BgpServer::message_build_error ( ) const
inline

Definition at line 270 of file bgp_server.h.

bool BgpServer::mvpn_ipv4_enable ( ) const
inline

Definition at line 303 of file bgp_server.h.

void BgpServer::NotifyAdminDown ( )

Definition at line 846 of file bgp_server.cc.

void BgpServer::NotifyAllStaticRoutes ( )

Definition at line 1004 of file bgp_server.cc.

Here is the call graph for this function:

void BgpServer::NotifyASNUpdate ( as_t  old_asn,
as_t  old_local_asn 
)

Definition at line 891 of file bgp_server.cc.

void BgpServer::NotifyDSCPUpdate ( int  new_dscp_value)

Definition at line 936 of file bgp_server.cc.

void BgpServer::NotifyIdentifierUpdate ( Ip4Address  old_identifier)

Definition at line 981 of file bgp_server.cc.

uint32_t BgpServer::num_bgp_peer ( ) const
inline

Definition at line 222 of file bgp_server.h.

uint32_t BgpServer::num_bgpaas_peer ( ) const
inline

Definition at line 230 of file bgp_server.h.

uint32_t BgpServer::num_deleted_routing_instance ( ) const

Definition at line 753 of file bgp_server.cc.

uint32_t BgpServer::num_deleting_bgp_peer ( ) const
inline

Definition at line 223 of file bgp_server.h.

uint32_t BgpServer::num_deleting_bgpaas_peer ( ) const
inline

Definition at line 231 of file bgp_server.h.

uint32_t BgpServer::num_down_service_chains ( ) const

Definition at line 785 of file bgp_server.cc.

uint32_t BgpServer::num_down_static_routes ( ) const

Definition at line 800 of file bgp_server.cc.

Here is the call graph for this function:

uint32_t BgpServer::num_routing_instance ( ) const

Definition at line 748 of file bgp_server.cc.

uint32_t BgpServer::num_service_chains ( ) const

Definition at line 774 of file bgp_server.cc.

uint32_t BgpServer::num_static_routes ( ) const

Definition at line 796 of file bgp_server.cc.

Here is the call graph for this function:

uint32_t BgpServer::NumUpBgpaasPeer ( ) const
inline

Definition at line 262 of file bgp_server.h.

uint32_t BgpServer::NumUpPeer ( ) const
inline

Definition at line 252 of file bgp_server.h.

BgpOListDB* BgpServer::olist_db ( )
inline

Definition at line 182 of file bgp_server.h.

OriginVnPathDB* BgpServer::ovnpath_db ( )
inline

Definition at line 188 of file bgp_server.h.

PmsiTunnelDB* BgpServer::pmsi_tunnel_db ( )
inline

Definition at line 189 of file bgp_server.h.

int BgpServer::RegisterAdminDownCallback ( AdminDownCb  callback)

Definition at line 811 of file bgp_server.cc.

int BgpServer::RegisterASNUpdateCallback ( ASNUpdateCb  callback)

Definition at line 857 of file bgp_server.cc.

int BgpServer::RegisterDSCPUpdateCallback ( DSCPUpdateCb  cb)

Definition at line 902 of file bgp_server.cc.

int BgpServer::RegisterIdentifierUpdateCallback ( IdentifierUpdateCb  callback)

Definition at line 947 of file bgp_server.cc.

int BgpServer::RegisterPeer ( BgpPeer peer)

Definition at line 578 of file bgp_server.cc.

Here is the call graph for this function:

void BgpServer::RemovePeer ( TcpSession::Endpoint  remote,
BgpPeer peer 
)

Definition at line 645 of file bgp_server.cc.

void BgpServer::RemoveStaticRouteMgr ( IStaticRouteMgr srt_manager)

Definition at line 998 of file bgp_server.cc.

RoutePathReplicator* BgpServer::replicator ( Address::Family  family)
inline

Definition at line 146 of file bgp_server.h.

const RoutePathReplicator* BgpServer::replicator ( Address::Family  family) const
inline

Definition at line 159 of file bgp_server.h.

void BgpServer::RetryDelete ( )

Definition at line 419 of file bgp_server.cc.

RoutingInstanceMgr* BgpServer::routing_instance_mgr ( )
inline

Definition at line 102 of file bgp_server.h.

const RoutingInstanceMgr* BgpServer::routing_instance_mgr ( ) const
inline

Definition at line 103 of file bgp_server.h.

RoutingPolicyMgr* BgpServer::routing_policy_mgr ( )
inline

Definition at line 106 of file bgp_server.h.

const RoutingPolicyMgr* BgpServer::routing_policy_mgr ( ) const
inline

Definition at line 107 of file bgp_server.h.

void BgpServer::RoutingInstanceMgrDeletionComplete ( RoutingInstanceMgr mgr)
private
RTargetGroupMgr* BgpServer::rtarget_group_mgr ( )
inline

Definition at line 110 of file bgp_server.h.

const RTargetGroupMgr* BgpServer::rtarget_group_mgr ( ) const
inline

Definition at line 111 of file bgp_server.h.

IServiceChainMgr* BgpServer::service_chain_mgr ( SCAddress::Family  family)
inline

Definition at line 134 of file bgp_server.h.

BgpSessionManager* BgpServer::session_manager ( )
inline

Definition at line 97 of file bgp_server.h.

void BgpServer::set_autonomous_system ( as_t  asn)
inline

Definition at line 206 of file bgp_server.h.

void BgpServer::set_cluster_id ( uint32_t  id)
inline

Definition at line 204 of file bgp_server.h.

void BgpServer::set_destroyed ( )
inline

Definition at line 198 of file bgp_server.h.

void BgpServer::set_enable_4byte_as ( bool  flag)

Definition at line 730 of file bgp_server.cc.

Here is the call graph for this function:

void BgpServer::set_gr_helper_disable ( bool  gr_helper_disable)
inline

Definition at line 296 of file bgp_server.h.

Here is the call graph for this function:

void BgpServer::set_ignore_aspath ( bool  flag)
inline

Definition at line 308 of file bgp_server.h.

void BgpServer::set_logging_disabled ( bool  flag)
inline

Definition at line 195 of file bgp_server.h.

void BgpServer::set_mvpn_ipv4_enable ( bool  flag)
inline

Definition at line 304 of file bgp_server.h.

void BgpServer::Shutdown ( )

Definition at line 560 of file bgp_server.cc.

void BgpServer::Terminate ( )
static

Definition at line 552 of file bgp_server.cc.

Here is the call graph for this function:

string BgpServer::ToString ( ) const
virtual

Definition at line 556 of file bgp_server.cc.

void BgpServer::UnregisterAdminDownCallback ( int  listener)

Definition at line 827 of file bgp_server.cc.

void BgpServer::UnregisterASNUpdateCallback ( int  listener)

Definition at line 873 of file bgp_server.cc.

void BgpServer::UnregisterDSCPUpdateCallback ( int  listener)

Definition at line 918 of file bgp_server.cc.

void BgpServer::UnregisterIdentifierUpdateCallback ( int  listener)

Definition at line 963 of file bgp_server.cc.

void BgpServer::UnregisterPeer ( BgpPeer peer)

Definition at line 602 of file bgp_server.cc.

Here is the call graph for this function:

BgpUpdateSender* BgpServer::update_sender ( )
inline

Definition at line 98 of file bgp_server.h.

void BgpServer::UpdateBgpIdentifier ( const Ip4Address identifier)

Definition at line 1213 of file bgp_server.cc.

Here is the call graph for this function:

void BgpServer::VisitBgpPeers ( BgpServer::VisitorFn  fn) const

Definition at line 804 of file bgp_server.cc.

Friends And Related Function Documentation

friend class BgpServerTest
friend

Definition at line 312 of file bgp_server.h.

friend class BgpServerUnitTest
friend

Definition at line 314 of file bgp_server.h.

Member Data Documentation

bool BgpServer::admin_down_
private

Definition at line 328 of file bgp_server.h.

boost::dynamic_bitset BgpServer::admin_down_bmap_
private

Definition at line 330 of file bgp_server.h.

AdminDownListenersList BgpServer::admin_down_listeners_
private

Definition at line 329 of file bgp_server.h.

boost::scoped_ptr<As4PathDB> BgpServer::as4path_db_
private

Definition at line 367 of file bgp_server.h.

boost::dynamic_bitset BgpServer::asn_bmap_
private

Definition at line 335 of file bgp_server.h.

ASNUpdateListenersList BgpServer::asn_listeners_
private

Definition at line 334 of file bgp_server.h.

boost::scoped_ptr<AsPath4ByteDB> BgpServer::aspath_4byte_db_
private

Definition at line 366 of file bgp_server.h.

boost::scoped_ptr<AsPathDB> BgpServer::aspath_db_
private

Definition at line 365 of file bgp_server.h.

boost::scoped_ptr<BgpAttrDB> BgpServer::attr_db_
private

Definition at line 376 of file bgp_server.h.

as_t BgpServer::autonomous_system_
private

Definition at line 332 of file bgp_server.h.

tbb::atomic<uint32_t> BgpServer::bgp_count_
private

Definition at line 348 of file bgp_server.h.

Ip4Address BgpServer::bgp_identifier_
private

Definition at line 336 of file bgp_server.h.

uint32_t BgpServer::bgp_identifier_u32_
private

Definition at line 337 of file bgp_server.h.

tbb::atomic<uint32_t> BgpServer::bgpaas_count_
private

Definition at line 351 of file bgp_server.h.

uint32_t BgpServer::cluster_id_
private

Definition at line 331 of file bgp_server.h.

boost::scoped_ptr<ClusterListDB> BgpServer::cluster_list_db_
private

Definition at line 369 of file bgp_server.h.

boost::scoped_ptr<CommunityDB> BgpServer::comm_db_
private

Definition at line 370 of file bgp_server.h.

boost::scoped_ptr<BgpConfigManager> BgpServer::config_mgr_
private

Definition at line 402 of file bgp_server.h.

DB BgpServer::db_
private

Definition at line 346 of file bgp_server.h.

boost::scoped_ptr<DeleteActor> BgpServer::deleter_
private

Definition at line 358 of file bgp_server.h.

tbb::atomic<uint32_t> BgpServer::deleting_bgpaas_count_
private

Definition at line 353 of file bgp_server.h.

tbb::atomic<uint32_t> BgpServer::deleting_count_
private

Definition at line 350 of file bgp_server.h.

bool BgpServer::destroyed_
private

Definition at line 359 of file bgp_server.h.

boost::dynamic_bitset BgpServer::dscp_bmap_
private

Definition at line 341 of file bgp_server.h.

DSCPUpdateListenersList BgpServer::dscp_listeners_
private

Definition at line 340 of file bgp_server.h.

boost::scoped_ptr<EdgeDiscoveryDB> BgpServer::edge_discovery_db_
private

Definition at line 371 of file bgp_server.h.

boost::scoped_ptr<EdgeForwardingDB> BgpServer::edge_forwarding_db_
private

Definition at line 372 of file bgp_server.h.

EndpointPeerList BgpServer::endpoint_peer_list_
private

Definition at line 355 of file bgp_server.h.

boost::scoped_ptr<RoutePathReplicator> BgpServer::ermvpn_replicator_
private

Definition at line 390 of file bgp_server.h.

boost::scoped_ptr<BgpConditionListener> BgpServer::evpn6_condition_listener_
private

Definition at line 388 of file bgp_server.h.

boost::scoped_ptr<IServiceChainMgr> BgpServer::evpn6_service_chain_mgr_
private

Definition at line 397 of file bgp_server.h.

boost::scoped_ptr<BgpConditionListener> BgpServer::evpn_condition_listener_
private

Definition at line 387 of file bgp_server.h.

boost::scoped_ptr<RoutePathReplicator> BgpServer::evpn_replicator_
private

Definition at line 392 of file bgp_server.h.

boost::scoped_ptr<IServiceChainMgr> BgpServer::evpn_service_chain_mgr_
private

Definition at line 396 of file bgp_server.h.

boost::scoped_ptr<ExtCommunityDB> BgpServer::extcomm_db_
private

Definition at line 373 of file bgp_server.h.

boost::scoped_ptr<BgpGlobalSystemConfig> BgpServer::global_config_
private

Definition at line 400 of file bgp_server.h.

boost::scoped_ptr<BgpGlobalQosConfig> BgpServer::global_qos_
private

Definition at line 401 of file bgp_server.h.

bool BgpServer::gr_helper_disable_
private

Definition at line 343 of file bgp_server.h.

uint32_t BgpServer::hold_time_
private

Definition at line 342 of file bgp_server.h.

boost::dynamic_bitset BgpServer::id_bmap_
private

Definition at line 339 of file bgp_server.h.

IdentifierUpdateListenersList BgpServer::id_listeners_
private

Definition at line 338 of file bgp_server.h.

bool BgpServer::ignore_aspath_
private

Definition at line 362 of file bgp_server.h.

boost::scoped_ptr<BgpConditionListener> BgpServer::inet6_condition_listener_
private

Definition at line 386 of file bgp_server.h.

boost::scoped_ptr<IServiceChainMgr> BgpServer::inet6_service_chain_mgr_
private

Definition at line 395 of file bgp_server.h.

boost::scoped_ptr<RoutePathReplicator> BgpServer::inet6vpn_replicator_
private

Definition at line 393 of file bgp_server.h.

boost::scoped_ptr<BgpConditionListener> BgpServer::inet_condition_listener_
private

Definition at line 385 of file bgp_server.h.

boost::scoped_ptr<IServiceChainMgr> BgpServer::inet_service_chain_mgr_
private

Definition at line 394 of file bgp_server.h.

boost::scoped_ptr<RoutePathReplicator> BgpServer::inetvpn_replicator_
private

Definition at line 389 of file bgp_server.h.

boost::scoped_ptr<RoutingInstanceMgr> BgpServer::inst_mgr_
private

Definition at line 381 of file bgp_server.h.

boost::scoped_ptr<LifetimeManager> BgpServer::lifetime_manager_
private

Definition at line 357 of file bgp_server.h.

as_t BgpServer::local_autonomous_system_
private

Definition at line 333 of file bgp_server.h.

bool BgpServer::logging_disabled_
private

Definition at line 360 of file bgp_server.h.

boost::scoped_ptr<BgpMembershipManager> BgpServer::membership_mgr_
private

Definition at line 384 of file bgp_server.h.

tbb::atomic<uint64_t> BgpServer::message_build_error_
mutableprivate

Definition at line 405 of file bgp_server.h.

bool BgpServer::mvpn_ipv4_enable_
private

Definition at line 361 of file bgp_server.h.

boost::scoped_ptr<RoutePathReplicator> BgpServer::mvpn_replicator_
private

Definition at line 391 of file bgp_server.h.

tbb::atomic<uint32_t> BgpServer::num_up_bgpaas_peer_
private

Definition at line 352 of file bgp_server.h.

tbb::atomic<uint32_t> BgpServer::num_up_peer_
private

Definition at line 349 of file bgp_server.h.

boost::scoped_ptr<BgpOListDB> BgpServer::olist_db_
private

Definition at line 368 of file bgp_server.h.

boost::scoped_ptr<OriginVnPathDB> BgpServer::ovnpath_db_
private

Definition at line 374 of file bgp_server.h.

boost::dynamic_bitset BgpServer::peer_bmap_
private

Definition at line 347 of file bgp_server.h.

BgpPeerList BgpServer::peer_list_
private

Definition at line 354 of file bgp_server.h.

boost::scoped_ptr<PmsiTunnelDB> BgpServer::pmsi_tunnel_db_
private

Definition at line 375 of file bgp_server.h.

boost::scoped_ptr<RoutingPolicyMgr> BgpServer::policy_mgr_
private

Definition at line 382 of file bgp_server.h.

boost::scoped_ptr<RTargetGroupMgr> BgpServer::rtarget_group_mgr_
private

Definition at line 383 of file bgp_server.h.

tbb::spin_rw_mutex BgpServer::rw_mutex_
private

Definition at line 327 of file bgp_server.h.

BgpSessionManager* BgpServer::session_mgr_
private

Definition at line 379 of file bgp_server.h.

StaticRouteMgrList BgpServer::srt_manager_list_
private

Definition at line 344 of file bgp_server.h.

boost::scoped_ptr<BgpUpdateSender> BgpServer::update_sender_
private

Definition at line 380 of file bgp_server.h.

boost::scoped_ptr<ConfigUpdater> BgpServer::updater_
private

Definition at line 403 of file bgp_server.h.


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