OpenSDN source code
BgpIfmapConfigManager Class Reference

#include <bgp_config_ifmap.h>

Inheritance diagram for BgpIfmapConfigManager:
Collaboration diagram for BgpIfmapConfigManager:

Public Member Functions

 BgpIfmapConfigManager (BgpServer *server)
 
virtual ~BgpIfmapConfigManager ()
 
void Initialize (DB *db, DBGraph *db_graph, const std::string &localname)
 
virtual void Terminate ()
 
virtual const std::string & localname () const
 
virtual InstanceMapRange InstanceMapItems (const std::string &start_name=std::string()) const
 
virtual RoutingPolicyMapRange RoutingPolicyMapItems (const std::string &start_name=std::string()) const
 
virtual NeighborMapRange NeighborMapItems (const std::string &instance_name) const
 
virtual int NeighborCount (const std::string &instance_name) const
 
virtual void ResetRoutingInstanceIndexBit (int index)
 
virtual const BgpInstanceConfigFindInstance (const std::string &name) const
 
virtual const BgpRoutingPolicyConfigFindRoutingPolicy (const std::string &name) const
 
virtual const BgpProtocolConfigGetProtocolConfig (const std::string &instance_name) const
 
virtual const BgpNeighborConfigFindNeighbor (const std::string &instance_name, const std::string &name) const
 
void DefaultBgpRouterParams (autogen::BgpRouterParams *param)
 
void OnChange ()
 
DBdatabase ()
 
DBGraphgraph ()
 
const BgpIfmapConfigDataconfig () const
 
BgpIfmapConfigDataconfig ()
 
void UpdateInstanceConfig (BgpIfmapInstanceConfig *rti, BgpConfigManager::EventType event)
 
- Public Member Functions inherited from BgpConfigManager
 BgpConfigManager (BgpServer *server)
 
virtual ~BgpConfigManager ()
 
void RegisterObservers (const Observers &obs)
 
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)
 
- Public Member Functions inherited from IFMapConfigListener::ConfigManager
virtual ~ConfigManager ()
 

Private Types

typedef std::vector< BgpConfigDeltaChangeList
 
typedef std::map< std::string, boost::function< void(const BgpConfigDelta &)> > IdentifierMap
 

Private Member Functions

void IdentifierMapInit ()
 
void DefaultConfig ()
 
void ProcessChanges (const ChangeList &change_list)
 
void ProcessRoutingInstance (const BgpConfigDelta &change)
 
void ProcessRoutingPolicyLink (const BgpConfigDelta &change)
 
void ProcessRoutingPolicy (const BgpConfigDelta &change)
 
void ProcessBgpRouter (const BgpConfigDelta &change)
 
void ProcessBgpProtocol (const BgpConfigDelta &change)
 
void ProcessBgpPeering (const BgpConfigDelta &change)
 
void ProcessGlobalSystemConfig (const BgpConfigDelta &delta)
 
void ProcessGlobalQosConfig (const BgpConfigDelta &delta)
 
bool ConfigHandler ()
 
 DISALLOW_COPY_AND_ASSIGN (BgpIfmapConfigManager)
 

Private Attributes

DBdb_
 
DBGraphdb_graph_
 
std::string localname_
 
IdentifierMap id_map_
 
TaskTrigger trigger_
 
boost::scoped_ptr< BgpConfigListenerlistener_
 
boost::scoped_ptr< BgpIfmapConfigDataconfig_
 

Static Private Attributes

static const int kConfigTaskInstanceId = 0
 

Friends

class BgpConfigListenerTest
 

Additional Inherited Members

- Public Types inherited from BgpConfigManager
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
 
- Static Public Attributes inherited from BgpConfigManager
static const char * kMasterNetwork
 
static const char * kMasterInstance
 
static const char * kFabricInstance
 
static const int kDefaultPort = 179
 
static const uint32_t kDefaultAutonomousSystem = 64512
 

Detailed Description

Definition at line 468 of file bgp_config_ifmap.h.

Member Typedef Documentation

◆ ChangeList

typedef std::vector<BgpConfigDelta> BgpIfmapConfigManager::ChangeList
private

Definition at line 515 of file bgp_config_ifmap.h.

◆ IdentifierMap

typedef std::map<std::string, boost::function<void(const BgpConfigDelta &)> > BgpIfmapConfigManager::IdentifierMap
private

Definition at line 517 of file bgp_config_ifmap.h.

Constructor & Destructor Documentation

◆ BgpIfmapConfigManager()

BgpIfmapConfigManager::BgpIfmapConfigManager ( BgpServer server)
explicit

Definition at line 1793 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ ~BgpIfmapConfigManager()

BgpIfmapConfigManager::~BgpIfmapConfigManager ( )
virtual

Definition at line 1808 of file bgp_config_ifmap.cc.

Member Function Documentation

◆ config() [1/2]

BgpIfmapConfigData* BgpIfmapConfigManager::config ( )
inline

Definition at line 508 of file bgp_config_ifmap.h.

◆ config() [2/2]

const BgpIfmapConfigData* BgpIfmapConfigManager::config ( ) const
inline

Definition at line 507 of file bgp_config_ifmap.h.

◆ ConfigHandler()

bool BgpIfmapConfigManager::ConfigHandler ( )
private

Definition at line 2656 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ database()

DB* BgpIfmapConfigManager::database ( )
inlinevirtual

Implements IFMapConfigListener::ConfigManager.

Definition at line 505 of file bgp_config_ifmap.h.

◆ DefaultBgpRouterParams()

void BgpIfmapConfigManager::DefaultBgpRouterParams ( autogen::BgpRouterParams *  param)

Definition at line 2062 of file bgp_config_ifmap.cc.

◆ DefaultConfig()

void BgpIfmapConfigManager::DefaultConfig ( )
private

Definition at line 2074 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ DISALLOW_COPY_AND_ASSIGN()

BgpIfmapConfigManager::DISALLOW_COPY_AND_ASSIGN ( BgpIfmapConfigManager  )
private

◆ FindInstance()

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

Implements BgpConfigManager.

Definition at line 2028 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ FindNeighbor()

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

Implements BgpConfigManager.

Definition at line 2050 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ FindRoutingPolicy()

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

Implements BgpConfigManager.

Definition at line 2019 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ GetProtocolConfig()

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

Implements BgpConfigManager.

Definition at line 2037 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ graph()

DBGraph* BgpIfmapConfigManager::graph ( )
inlinevirtual

Implements IFMapConfigListener::ConfigManager.

Definition at line 506 of file bgp_config_ifmap.h.

◆ IdentifierMapInit()

void BgpIfmapConfigManager::IdentifierMapInit ( )
private

Definition at line 2219 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ Initialize()

void BgpIfmapConfigManager::Initialize ( DB db,
DBGraph db_graph,
const std::string &  localname 
)

Definition at line 1814 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ InstanceMapItems()

BgpConfigManager::InstanceMapRange BgpIfmapConfigManager::InstanceMapItems ( const std::string &  start_name = std::string()) const
virtual

Implements BgpConfigManager.

Definition at line 1832 of file bgp_config_ifmap.cc.

◆ localname()

virtual const std::string& BgpIfmapConfigManager::localname ( ) const
inlinevirtual

Implements BgpConfigManager.

Definition at line 480 of file bgp_config_ifmap.h.

◆ NeighborCount()

int BgpIfmapConfigManager::NeighborCount ( const std::string &  instance_name) const
virtual

Implements BgpConfigManager.

Definition at line 1856 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ NeighborMapItems()

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

Implements BgpConfigManager.

Definition at line 1842 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ OnChange()

void BgpIfmapConfigManager::OnChange ( )
virtual

Implements IFMapConfigListener::ConfigManager.

Definition at line 1826 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ ProcessBgpPeering()

void BgpIfmapConfigManager::ProcessBgpPeering ( const BgpConfigDelta change)
private

Definition at line 2534 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ ProcessBgpProtocol()

void BgpIfmapConfigManager::ProcessBgpProtocol ( const BgpConfigDelta change)
private

Definition at line 2344 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ ProcessBgpRouter()

void BgpIfmapConfigManager::ProcessBgpRouter ( const BgpConfigDelta change)
private

Definition at line 2490 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ ProcessChanges()

void BgpIfmapConfigManager::ProcessChanges ( const ChangeList change_list)
private

Definition at line 2640 of file bgp_config_ifmap.cc.

◆ ProcessGlobalQosConfig()

void BgpIfmapConfigManager::ProcessGlobalQosConfig ( const BgpConfigDelta delta)
private

Definition at line 2618 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ ProcessGlobalSystemConfig()

void BgpIfmapConfigManager::ProcessGlobalSystemConfig ( const BgpConfigDelta delta)
private

Definition at line 2600 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ ProcessRoutingInstance()

void BgpIfmapConfigManager::ProcessRoutingInstance ( const BgpConfigDelta change)
private

Definition at line 2290 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ ProcessRoutingPolicy()

void BgpIfmapConfigManager::ProcessRoutingPolicy ( const BgpConfigDelta change)
private

Definition at line 2445 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ ProcessRoutingPolicyLink()

void BgpIfmapConfigManager::ProcessRoutingPolicyLink ( const BgpConfigDelta change)
private

Definition at line 1152 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ ResetRoutingInstanceIndexBit()

void BgpIfmapConfigManager::ResetRoutingInstanceIndexBit ( int  index)
virtual

Implements BgpConfigManager.

Definition at line 1852 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

◆ RoutingPolicyMapItems()

BgpConfigManager::RoutingPolicyMapRange BgpIfmapConfigManager::RoutingPolicyMapItems ( const std::string &  start_name = std::string()) const
virtual

Implements BgpConfigManager.

Definition at line 1837 of file bgp_config_ifmap.cc.

◆ Terminate()

void BgpIfmapConfigManager::Terminate ( )
virtual

Implements BgpConfigManager.

Definition at line 2668 of file bgp_config_ifmap.cc.

◆ UpdateInstanceConfig()

void BgpIfmapConfigManager::UpdateInstanceConfig ( BgpIfmapInstanceConfig rti,
BgpConfigManager::EventType  event 
)

Definition at line 2240 of file bgp_config_ifmap.cc.

Here is the call graph for this function:

Friends And Related Function Documentation

◆ BgpConfigListenerTest

friend class BgpConfigListenerTest
friend

Definition at line 513 of file bgp_config_ifmap.h.

Member Data Documentation

◆ config_

boost::scoped_ptr<BgpIfmapConfigData> BgpIfmapConfigManager::config_
private

Definition at line 543 of file bgp_config_ifmap.h.

◆ db_

DB* BgpIfmapConfigManager::db_
private

Definition at line 536 of file bgp_config_ifmap.h.

◆ db_graph_

DBGraph* BgpIfmapConfigManager::db_graph_
private

Definition at line 537 of file bgp_config_ifmap.h.

◆ id_map_

IdentifierMap BgpIfmapConfigManager::id_map_
private

Definition at line 539 of file bgp_config_ifmap.h.

◆ kConfigTaskInstanceId

const int BgpIfmapConfigManager::kConfigTaskInstanceId = 0
staticprivate

Definition at line 534 of file bgp_config_ifmap.h.

◆ listener_

boost::scoped_ptr<BgpConfigListener> BgpIfmapConfigManager::listener_
private

Definition at line 542 of file bgp_config_ifmap.h.

◆ localname_

std::string BgpIfmapConfigManager::localname_
private

Definition at line 538 of file bgp_config_ifmap.h.

◆ trigger_

TaskTrigger BgpIfmapConfigManager::trigger_
private

Definition at line 541 of file bgp_config_ifmap.h.


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