OpenSDN source code
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 BgpRoutingPolicyConfigFindRoutingPolicy (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 736 of file bgp_config.h.

Member Typedef Documentation

◆ BgpGlobalQosConfigObserver

Definition at line 756 of file bgp_config.h.

◆ BgpGlobalSystemConfigObserver

Definition at line 754 of file bgp_config.h.

◆ BgpInstanceObserver

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

Definition at line 748 of file bgp_config.h.

◆ BgpNeighborObserver

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

Definition at line 750 of file bgp_config.h.

◆ BgpProtocolObserver

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

Definition at line 746 of file bgp_config.h.

◆ BgpRoutingPolicyObserver

Definition at line 752 of file bgp_config.h.

◆ InstanceMap

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

Definition at line 770 of file bgp_config.h.

◆ InstanceMapRange

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

Definition at line 772 of file bgp_config.h.

◆ NeighborMap

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

Definition at line 773 of file bgp_config.h.

◆ NeighborMapRange

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

Definition at line 775 of file bgp_config.h.

◆ RoutingPolicyMap

Definition at line 767 of file bgp_config.h.

◆ RoutingPolicyMapRange

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

Definition at line 769 of file bgp_config.h.

Member Enumeration Documentation

◆ EventType

Enumerator
CFG_NONE 
CFG_ADD 
CFG_CHANGE 
CFG_DELETE 

Definition at line 738 of file bgp_config.h.

Constructor & Destructor Documentation

◆ BgpConfigManager()

BgpConfigManager::BgpConfigManager ( BgpServer server)
explicit

Definition at line 505 of file bgp_config.cc.

◆ ~BgpConfigManager()

BgpConfigManager::~BgpConfigManager ( )
virtual

Definition at line 509 of file bgp_config.cc.

Member Function Documentation

◆ DISALLOW_COPY_AND_ASSIGN()

BgpConfigManager::DISALLOW_COPY_AND_ASSIGN ( BgpConfigManager  )
private

◆ FindInstance()

virtual const BgpInstanceConfig* BgpConfigManager::FindInstance ( const std::string &  name) const
pure virtual

◆ FindNeighbor()

virtual const BgpNeighborConfig* BgpConfigManager::FindNeighbor ( const std::string &  instance_name,
const std::string &  name 
) const
pure virtual

◆ FindRoutingPolicy()

virtual const BgpRoutingPolicyConfig* BgpConfigManager::FindRoutingPolicy ( const std::string &  name) const
pure virtual

Implemented in BgpIfmapConfigManager.

◆ GetProtocolConfig()

virtual const BgpProtocolConfig* BgpConfigManager::GetProtocolConfig ( const std::string &  instance_name) const
pure virtual

◆ InstanceMapItems()

virtual InstanceMapRange BgpConfigManager::InstanceMapItems ( const std::string &  start_instance = std::string()) const
pure virtual

◆ localname()

virtual const std::string& BgpConfigManager::localname ( ) const
pure virtual

◆ NeighborCount()

virtual int BgpConfigManager::NeighborCount ( const std::string &  instance_name) const
pure virtual

◆ NeighborMapItems()

virtual NeighborMapRange BgpConfigManager::NeighborMapItems ( const std::string &  instance_name) const
pure virtual

◆ Notify() [1/7]

template<typename BgpConfigObject >
void BgpConfigManager::Notify ( const BgpConfigObject *  ,
EventType   
)

◆ Notify() [2/7]

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:

◆ Notify() [3/7]

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:

◆ Notify() [4/7]

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:

◆ Notify() [5/7]

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:

◆ Notify() [6/7]

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:

◆ Notify() [7/7]

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:

◆ RegisterObservers()

void BgpConfigManager::RegisterObservers ( const Observers obs)
inline

Definition at line 786 of file bgp_config.h.

◆ ResetRoutingInstanceIndexBit()

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

Implemented in BgpIfmapConfigManager.

◆ RoutingPolicyMapItems()

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

Implemented in BgpIfmapConfigManager.

◆ server()

const BgpServer* BgpConfigManager::server ( )
inline

Definition at line 814 of file bgp_config.h.

◆ Terminate()

virtual void BgpConfigManager::Terminate ( )
pure virtual

Member Data Documentation

◆ kDefaultAutonomousSystem

const uint32_t BgpConfigManager::kDefaultAutonomousSystem = 64512
static

Definition at line 781 of file bgp_config.h.

◆ kDefaultPort

const int BgpConfigManager::kDefaultPort = 179
static

Definition at line 780 of file bgp_config.h.

◆ kFabricInstance

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

Definition at line 779 of file bgp_config.h.

◆ kMasterInstance

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

Definition at line 778 of file bgp_config.h.

◆ kMasterNetwork

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

Definition at line 777 of file bgp_config.h.

◆ obs_

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

Definition at line 818 of file bgp_config.h.

◆ server_

BgpServer* BgpConfigManager::server_
private

Definition at line 817 of file bgp_config.h.


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