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

#include <bgp_config.h>

Inheritance diagram for BgpConfigManager:
Collaboration diagram for BgpConfigManager:

Classes

struct  Observers
 

Public Types

enum  EventType { CFG_NONE, CFG_ADD, CFG_CHANGE, CFG_DELETE }
 
typedef boost::function< void(const
BgpProtocolConfig *, EventType)> 
BgpProtocolObserver
 
typedef boost::function< void(const
BgpInstanceConfig *, EventType)> 
BgpInstanceObserver
 
typedef boost::function< void(const
BgpNeighborConfig *, EventType)> 
BgpNeighborObserver
 
typedef boost::function< void(const
BgpRoutingPolicyConfig
*, EventType)> 
BgpRoutingPolicyObserver
 
typedef boost::function< void(const
BgpGlobalSystemConfig
*, EventType)> 
BgpGlobalSystemConfigObserver
 
typedef boost::function< void(const
BgpGlobalQosConfig
*, EventType)> 
BgpGlobalQosConfigObserver
 
typedef std::map< std::string,
BgpRoutingPolicyConfig * > 
RoutingPolicyMap
 
typedef std::pair
< RoutingPolicyMap::const_iterator,
RoutingPolicyMap::const_iterator > 
RoutingPolicyMapRange
 
typedef std::map< std::string,
BgpInstanceConfig * > 
InstanceMap
 
typedef std::pair
< InstanceMap::const_iterator,
InstanceMap::const_iterator > 
InstanceMapRange
 
typedef std::map< std::string,
BgpNeighborConfig * > 
NeighborMap
 
typedef std::pair
< NeighborMap::const_iterator,
NeighborMap::const_iterator > 
NeighborMapRange
 

Public Member Functions

 BgpConfigManager (BgpServer *server)
 
virtual ~BgpConfigManager ()
 
void RegisterObservers (const Observers &obs)
 
virtual void Terminate ()=0
 
virtual const std::string & localname () const =0
 
virtual RoutingPolicyMapRange RoutingPolicyMapItems (const std::string &start_policy=std::string()) const =0
 
virtual InstanceMapRange InstanceMapItems (const std::string &start_instance=std::string()) const =0
 
virtual NeighborMapRange NeighborMapItems (const std::string &instance_name) const =0
 
virtual int NeighborCount (const std::string &instance_name) const =0
 
virtual void ResetRoutingInstanceIndexBit (int index)=0
 
virtual const BgpInstanceConfigFindInstance (const std::string &name) const =0
 
virtual const
BgpRoutingPolicyConfig
FindRoutingPolicy (const std::string &name) const =0
 
virtual const BgpProtocolConfigGetProtocolConfig (const std::string &instance_name) const =0
 
virtual const BgpNeighborConfigFindNeighbor (const std::string &instance_name, const std::string &name) const =0
 
template<typename BgpConfigObject >
void Notify (const BgpConfigObject *, EventType)
 
const BgpServerserver ()
 
template<>
void Notify (const BgpInstanceConfig *config, EventType event)
 
template<>
void Notify (const BgpRoutingPolicyConfig *config, EventType event)
 
template<>
void Notify (const BgpProtocolConfig *config, EventType event)
 
template<>
void Notify (const BgpNeighborConfig *config, EventType event)
 
template<>
void Notify (const BgpGlobalSystemConfig *config, EventType event)
 
template<>
void Notify (const BgpGlobalQosConfig *config, EventType event)
 

Static Public Attributes

static const char * kMasterNetwork
 
static const char * kMasterInstance
 
static const char * kFabricInstance
 
static const int kDefaultPort = 179
 
static const uint32_t kDefaultAutonomousSystem = 64512
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (BgpConfigManager)
 

Private Attributes

BgpServerserver_
 
std::vector< Observersobs_
 

Detailed Description

Definition at line 722 of file bgp_config.h.

Member Typedef Documentation

Definition at line 742 of file bgp_config.h.

Definition at line 740 of file bgp_config.h.

typedef boost::function<void(const BgpInstanceConfig *, EventType)> BgpConfigManager::BgpInstanceObserver

Definition at line 734 of file bgp_config.h.

typedef boost::function<void(const BgpNeighborConfig *, EventType)> BgpConfigManager::BgpNeighborObserver

Definition at line 736 of file bgp_config.h.

typedef boost::function<void(const BgpProtocolConfig *, EventType)> BgpConfigManager::BgpProtocolObserver

Definition at line 732 of file bgp_config.h.

Definition at line 738 of file bgp_config.h.

typedef std::map<std::string, BgpInstanceConfig *> BgpConfigManager::InstanceMap

Definition at line 756 of file bgp_config.h.

typedef std::pair<InstanceMap::const_iterator, InstanceMap::const_iterator> BgpConfigManager::InstanceMapRange

Definition at line 758 of file bgp_config.h.

typedef std::map<std::string, BgpNeighborConfig *> BgpConfigManager::NeighborMap

Definition at line 759 of file bgp_config.h.

typedef std::pair<NeighborMap::const_iterator, NeighborMap::const_iterator> BgpConfigManager::NeighborMapRange

Definition at line 761 of file bgp_config.h.

Definition at line 753 of file bgp_config.h.

typedef std::pair<RoutingPolicyMap::const_iterator, RoutingPolicyMap::const_iterator> BgpConfigManager::RoutingPolicyMapRange

Definition at line 755 of file bgp_config.h.

Member Enumeration Documentation

Enumerator
CFG_NONE 
CFG_ADD 
CFG_CHANGE 
CFG_DELETE 

Definition at line 724 of file bgp_config.h.

Constructor & Destructor Documentation

BgpConfigManager::BgpConfigManager ( BgpServer server)
explicit

Definition at line 505 of file bgp_config.cc.

BgpConfigManager::~BgpConfigManager ( )
virtual

Definition at line 509 of file bgp_config.cc.

Member Function Documentation

BgpConfigManager::DISALLOW_COPY_AND_ASSIGN ( BgpConfigManager  )
private
virtual const BgpInstanceConfig* BgpConfigManager::FindInstance ( const std::string &  name) const
pure virtual
virtual const BgpNeighborConfig* BgpConfigManager::FindNeighbor ( const std::string &  instance_name,
const std::string &  name 
) const
pure virtual
virtual const BgpRoutingPolicyConfig* BgpConfigManager::FindRoutingPolicy ( const std::string &  name) const
pure virtual

Implemented in BgpIfmapConfigManager.

virtual const BgpProtocolConfig* BgpConfigManager::GetProtocolConfig ( const std::string &  instance_name) const
pure virtual
virtual InstanceMapRange BgpConfigManager::InstanceMapItems ( const std::string &  start_instance = std::string()) const
pure virtual
virtual const std::string& BgpConfigManager::localname ( ) const
pure virtual
virtual int BgpConfigManager::NeighborCount ( const std::string &  instance_name) const
pure virtual
virtual NeighborMapRange BgpConfigManager::NeighborMapItems ( const std::string &  instance_name) const
pure virtual
template<>
void BgpConfigManager::Notify ( const BgpInstanceConfig config,
EventType  event 
)

Definition at line 513 of file bgp_config.cc.

Here is the call graph for this function:

template<>
void BgpConfigManager::Notify ( const BgpRoutingPolicyConfig config,
EventType  event 
)

Definition at line 524 of file bgp_config.cc.

Here is the call graph for this function:

template<>
void BgpConfigManager::Notify ( const BgpProtocolConfig config,
EventType  event 
)

Definition at line 535 of file bgp_config.cc.

Here is the call graph for this function:

template<>
void BgpConfigManager::Notify ( const BgpNeighborConfig config,
EventType  event 
)

Definition at line 546 of file bgp_config.cc.

Here is the call graph for this function:

template<>
void BgpConfigManager::Notify ( const BgpGlobalSystemConfig config,
EventType  event 
)

Definition at line 557 of file bgp_config.cc.

Here is the call graph for this function:

template<>
void BgpConfigManager::Notify ( const BgpGlobalQosConfig config,
EventType  event 
)

Definition at line 568 of file bgp_config.cc.

Here is the call graph for this function:

template<typename BgpConfigObject >
void BgpConfigManager::Notify ( const BgpConfigObject *  ,
EventType   
)
void BgpConfigManager::RegisterObservers ( const Observers obs)
inline

Definition at line 772 of file bgp_config.h.

virtual void BgpConfigManager::ResetRoutingInstanceIndexBit ( int  index)
pure virtual

Implemented in BgpIfmapConfigManager.

virtual RoutingPolicyMapRange BgpConfigManager::RoutingPolicyMapItems ( const std::string &  start_policy = std::string()) const
pure virtual

Implemented in BgpIfmapConfigManager.

const BgpServer* BgpConfigManager::server ( )
inline

Definition at line 800 of file bgp_config.h.

virtual void BgpConfigManager::Terminate ( )
pure virtual

Member Data Documentation

const uint32_t BgpConfigManager::kDefaultAutonomousSystem = 64512
static

Definition at line 767 of file bgp_config.h.

const int BgpConfigManager::kDefaultPort = 179
static

Definition at line 766 of file bgp_config.h.

const char * BgpConfigManager::kFabricInstance
static
Initial value:
=
"default-domain:default-project:ip-fabric:ip-fabric"

Definition at line 765 of file bgp_config.h.

const char * BgpConfigManager::kMasterInstance
static
Initial value:
=
"default-domain:default-project:ip-fabric:__default__"

Definition at line 764 of file bgp_config.h.

const char * BgpConfigManager::kMasterNetwork
static
Initial value:
=
"default-domain:default-project:ip-fabric"

Definition at line 763 of file bgp_config.h.

std::vector<Observers> BgpConfigManager::obs_
private

Definition at line 804 of file bgp_config.h.

BgpServer* BgpConfigManager::server_
private

Definition at line 803 of file bgp_config.h.


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