OpenSDN source code
ConfigManager Class Reference

#include <config_manager.h>

Collaboration diagram for ConfigManager:

Public Member Functions

 ConfigManager (Agent *agent)
 
virtual ~ConfigManager ()
 
void Init ()
 
int Run ()
 
bool TriggerRun ()
 
bool TimerRun ()
 
void Start ()
 
uint32_t Size () const
 
uint32_t ProcessCount () const
 
uint32_t timeout () const
 
std::string ProfileInfo () const
 
void AddVmiNode (IFMapNode *node)
 
uint32_t VmiNodeCount () const
 
void AddLogicalInterfaceNode (IFMapNode *node)
 
void AddPhysicalInterfaceNode (IFMapNode *node)
 
void AddSgNode (IFMapNode *node)
 
void AddTagNode (IFMapNode *node)
 
void AddVnNode (IFMapNode *node)
 
void AddVrfNode (IFMapNode *node)
 
void AddVmNode (IFMapNode *node)
 
void AddQosConfigNode (IFMapNode *node)
 
void AddQosQueueNode (IFMapNode *node)
 
void AddForwardingClassNode (IFMapNode *node)
 
void AddGlobalQosConfigNode (IFMapNode *node)
 
void AddGlobalSystemConfigNode (IFMapNode *node)
 
void AddNetworkIpamNode (IFMapNode *node)
 
void AddVirtualDnsNode (IFMapNode *node)
 
void AddGlobalVrouterNode (IFMapNode *node)
 
void AddBgpRouterConfigNode (IFMapNode *node)
 
void AddVirtualRouterNode (IFMapNode *node)
 
uint32_t LogicalInterfaceNodeCount () const
 
void AddSecurityLoggingObjectNode (IFMapNode *node)
 
void AddMulticastPolicyNode (IFMapNode *node)
 
void AddPhysicalDeviceNode (IFMapNode *node)
 
void AddPhysicalDeviceVn (const boost::uuids::uuid &dev, const boost::uuids::uuid &vn)
 
void DelPhysicalDeviceVn (const boost::uuids::uuid &dev, const boost::uuids::uuid &vn)
 
void AddHealthCheckServiceNode (IFMapNode *node)
 
void AddBridgeDomainNode (IFMapNode *node)
 
void AddPolicySetNode (IFMapNode *node)
 
void AddProjectNode (IFMapNode *node)
 
uint32_t PhysicalDeviceVnCount () const
 
bool CanUseNode (IFMapNode *node)
 
bool CanUseNode (IFMapNode *node, IFMapAgentTable *table)
 
bool SkipNode (IFMapNode *node)
 
bool SkipNode (IFMapNode *node, IFMapAgentTable *table)
 
IFMapNode * FindAdjacentIFMapNode (IFMapNode *node, const char *type)
 
void NodeResync (IFMapNode *node)
 
ConfigHelper * helper () const
 
Agent * agent ()
 

Static Public Attributes

static const uint32_t kIterationCount = 64
 
static const uint32_t kMinTimeout = 1
 
static const uint32_t kMaxTimeout = 10
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (ConfigManager)
 

Private Attributes

Agent * agent_
 
std::unique_ptr< TaskTrigger > trigger_
 
Timer * timer_
 
uint32_t timeout_
 
std::unique_ptr< ConfigManagerNodeList > vmi_list_
 
std::unique_ptr< ConfigManagerNodeList > physical_interface_list_
 
std::unique_ptr< ConfigManagerNodeList > logical_interface_list_
 
std::unique_ptr< ConfigManagerNodeList > device_list_
 
std::unique_ptr< ConfigManagerNodeList > sg_list_
 
std::unique_ptr< ConfigManagerNodeList > tag_list_
 
std::unique_ptr< ConfigManagerNodeList > vn_list_
 
std::unique_ptr< ConfigManagerNodeList > vrf_list_
 
std::unique_ptr< ConfigManagerNodeList > vm_list_
 
std::unique_ptr< ConfigManagerNodeList > hc_list_
 
std::unique_ptr< ConfigManagerNodeList > qos_config_list_
 
std::unique_ptr< ConfigManagerNodeList > qos_queue_list_
 
std::unique_ptr< ConfigManagerNodeList > forwarding_class_list_
 
std::unique_ptr< ConfigManagerDeviceVnList > device_vn_list_
 
std::unique_ptr< ConfigManagerNodeList > bridge_domain_list_
 
std::unique_ptr< ConfigManagerNodeList > slo_list_
 
std::unique_ptr< ConfigManagerNodeList > policy_set_list_
 
std::unique_ptr< ConfigManagerNodeList > mp_list_
 
std::unique_ptr< ConfigManagerNodeList > global_vrouter_list_
 
std::unique_ptr< ConfigManagerNodeList > bgp_router_config_list_
 
std::unique_ptr< ConfigManagerNodeList > virtual_router_list_
 
std::unique_ptr< ConfigManagerNodeList > global_qos_config_list_
 
std::unique_ptr< ConfigManagerNodeList > network_ipam_list_
 
std::unique_ptr< ConfigManagerNodeList > virtual_dns_list_
 
std::unique_ptr< ConfigManagerNodeList > global_system_config_list_
 
std::unique_ptr< ConfigManagerNodeList > project_list_
 
uint64_t process_config_count_ [kMaxTimeout+1]
 
boost::scoped_ptr< ConfigHelper > helper_
 

Detailed Description

Definition at line 60 of file config_manager.h.

Constructor & Destructor Documentation

◆ ConfigManager()

ConfigManager::ConfigManager ( Agent *  agent)

Definition at line 247 of file config_manager.cc.

Here is the call graph for this function:

◆ ~ConfigManager()

ConfigManager::~ConfigManager ( )
virtual

Definition at line 262 of file config_manager.cc.

Here is the call graph for this function:

Member Function Documentation

◆ AddBgpRouterConfigNode()

void ConfigManager::AddBgpRouterConfigNode ( IFMapNode *  node)

Definition at line 543 of file config_manager.cc.

◆ AddBridgeDomainNode()

void ConfigManager::AddBridgeDomainNode ( IFMapNode *  node)

Definition at line 458 of file config_manager.cc.

◆ AddForwardingClassNode()

void ConfigManager::AddForwardingClassNode ( IFMapNode *  node)

Definition at line 494 of file config_manager.cc.

◆ AddGlobalQosConfigNode()

void ConfigManager::AddGlobalQosConfigNode ( IFMapNode *  node)

Definition at line 523 of file config_manager.cc.

◆ AddGlobalSystemConfigNode()

void ConfigManager::AddGlobalSystemConfigNode ( IFMapNode *  node)

Definition at line 527 of file config_manager.cc.

◆ AddGlobalVrouterNode()

void ConfigManager::AddGlobalVrouterNode ( IFMapNode *  node)

Definition at line 539 of file config_manager.cc.

◆ AddHealthCheckServiceNode()

void ConfigManager::AddHealthCheckServiceNode ( IFMapNode *  node)

Definition at line 454 of file config_manager.cc.

◆ AddLogicalInterfaceNode()

void ConfigManager::AddLogicalInterfaceNode ( IFMapNode *  node)

Definition at line 442 of file config_manager.cc.

◆ AddMulticastPolicyNode()

void ConfigManager::AddMulticastPolicyNode ( IFMapNode *  node)

Definition at line 502 of file config_manager.cc.

◆ AddNetworkIpamNode()

void ConfigManager::AddNetworkIpamNode ( IFMapNode *  node)

Definition at line 531 of file config_manager.cc.

◆ AddPhysicalDeviceNode()

void ConfigManager::AddPhysicalDeviceNode ( IFMapNode *  node)

Definition at line 450 of file config_manager.cc.

◆ AddPhysicalDeviceVn()

void ConfigManager::AddPhysicalDeviceVn ( const boost::uuids::uuid &  dev,
const boost::uuids::uuid &  vn 
)

Definition at line 510 of file config_manager.cc.

◆ AddPhysicalInterfaceNode()

void ConfigManager::AddPhysicalInterfaceNode ( IFMapNode *  node)

Definition at line 486 of file config_manager.cc.

◆ AddPolicySetNode()

void ConfigManager::AddPolicySetNode ( IFMapNode *  node)

Definition at line 462 of file config_manager.cc.

◆ AddProjectNode()

void ConfigManager::AddProjectNode ( IFMapNode *  node)

◆ AddQosConfigNode()

void ConfigManager::AddQosConfigNode ( IFMapNode *  node)

Definition at line 490 of file config_manager.cc.

◆ AddQosQueueNode()

void ConfigManager::AddQosQueueNode ( IFMapNode *  node)

Definition at line 506 of file config_manager.cc.

◆ AddSecurityLoggingObjectNode()

void ConfigManager::AddSecurityLoggingObjectNode ( IFMapNode *  node)

Definition at line 498 of file config_manager.cc.

◆ AddSgNode()

void ConfigManager::AddSgNode ( IFMapNode *  node)

Definition at line 466 of file config_manager.cc.

◆ AddTagNode()

void ConfigManager::AddTagNode ( IFMapNode *  node)

Definition at line 470 of file config_manager.cc.

◆ AddVirtualDnsNode()

void ConfigManager::AddVirtualDnsNode ( IFMapNode *  node)

Definition at line 535 of file config_manager.cc.

◆ AddVirtualRouterNode()

void ConfigManager::AddVirtualRouterNode ( IFMapNode *  node)

Definition at line 547 of file config_manager.cc.

◆ AddVmiNode()

void ConfigManager::AddVmiNode ( IFMapNode *  node)

Definition at line 434 of file config_manager.cc.

◆ AddVmNode()

void ConfigManager::AddVmNode ( IFMapNode *  node)

Definition at line 482 of file config_manager.cc.

◆ AddVnNode()

void ConfigManager::AddVnNode ( IFMapNode *  node)

Definition at line 474 of file config_manager.cc.

◆ AddVrfNode()

void ConfigManager::AddVrfNode ( IFMapNode *  node)

Definition at line 478 of file config_manager.cc.

◆ agent()

Agent* ConfigManager::agent ( )
inline

Definition at line 124 of file config_manager.h.

◆ CanUseNode() [1/2]

bool ConfigManager::CanUseNode ( IFMapNode *  node)

Definition at line 574 of file config_manager.cc.

Here is the call graph for this function:

◆ CanUseNode() [2/2]

bool ConfigManager::CanUseNode ( IFMapNode *  node,
IFMapAgentTable *  table 
)

Definition at line 605 of file config_manager.cc.

Here is the call graph for this function:

◆ DelPhysicalDeviceVn()

void ConfigManager::DelPhysicalDeviceVn ( const boost::uuids::uuid &  dev,
const boost::uuids::uuid &  vn 
)

Definition at line 515 of file config_manager.cc.

◆ DISALLOW_COPY_AND_ASSIGN()

ConfigManager::DISALLOW_COPY_AND_ASSIGN ( ConfigManager  )
private

◆ FindAdjacentIFMapNode()

IFMapNode * ConfigManager::FindAdjacentIFMapNode ( IFMapNode *  node,
const char *  type 
)

Definition at line 622 of file config_manager.cc.

Here is the call graph for this function:

◆ helper()

ConfigHelper* ConfigManager::helper ( ) const
inline

Definition at line 122 of file config_manager.h.

◆ Init()

void ConfigManager::Init ( )

Definition at line 267 of file config_manager.cc.

Here is the call graph for this function:

◆ LogicalInterfaceNodeCount()

uint32_t ConfigManager::LogicalInterfaceNodeCount ( ) const

Definition at line 446 of file config_manager.cc.

◆ NodeResync()

void ConfigManager::NodeResync ( IFMapNode *  node)

Definition at line 641 of file config_manager.cc.

Here is the call graph for this function:

◆ PhysicalDeviceVnCount()

uint32_t ConfigManager::PhysicalDeviceVnCount ( ) const

Definition at line 519 of file config_manager.cc.

◆ ProcessCount()

uint32_t ConfigManager::ProcessCount ( ) const

Definition at line 338 of file config_manager.cc.

◆ ProfileInfo()

string ConfigManager::ProfileInfo ( ) const

Definition at line 551 of file config_manager.cc.

Here is the call graph for this function:

◆ Run()

int ConfigManager::Run ( void  )

Definition at line 402 of file config_manager.cc.

◆ Size()

uint32_t ConfigManager::Size ( ) const

Definition at line 312 of file config_manager.cc.

◆ SkipNode() [1/2]

bool ConfigManager::SkipNode ( IFMapNode *  node)

Definition at line 613 of file config_manager.cc.

Here is the call graph for this function:

◆ SkipNode() [2/2]

bool ConfigManager::SkipNode ( IFMapNode *  node,
IFMapAgentTable *  table 
)

Definition at line 617 of file config_manager.cc.

Here is the call graph for this function:

◆ Start()

void ConfigManager::Start ( )

Definition at line 363 of file config_manager.cc.

Here is the call graph for this function:

◆ timeout()

uint32_t ConfigManager::timeout ( ) const
inline

Definition at line 78 of file config_manager.h.

◆ TimerRun()

bool ConfigManager::TimerRun ( )

Definition at line 380 of file config_manager.cc.

Here is the call graph for this function:

◆ TriggerRun()

bool ConfigManager::TriggerRun ( )

Definition at line 396 of file config_manager.cc.

Here is the call graph for this function:

◆ VmiNodeCount()

uint32_t ConfigManager::VmiNodeCount ( ) const

Definition at line 438 of file config_manager.cc.

Member Data Documentation

◆ agent_

Agent* ConfigManager::agent_
private

Definition at line 127 of file config_manager.h.

◆ bgp_router_config_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::bgp_router_config_list_
private

Definition at line 153 of file config_manager.h.

◆ bridge_domain_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::bridge_domain_list_
private

Definition at line 146 of file config_manager.h.

◆ device_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::device_list_
private

Definition at line 135 of file config_manager.h.

◆ device_vn_list_

std::unique_ptr<ConfigManagerDeviceVnList> ConfigManager::device_vn_list_
private

Definition at line 145 of file config_manager.h.

◆ forwarding_class_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::forwarding_class_list_
private

Definition at line 144 of file config_manager.h.

◆ global_qos_config_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::global_qos_config_list_
private

Definition at line 155 of file config_manager.h.

◆ global_system_config_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::global_system_config_list_
private

Definition at line 158 of file config_manager.h.

◆ global_vrouter_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::global_vrouter_list_
private

Definition at line 152 of file config_manager.h.

◆ hc_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::hc_list_
private

Definition at line 141 of file config_manager.h.

◆ helper_

boost::scoped_ptr<ConfigHelper> ConfigManager::helper_
private

Definition at line 162 of file config_manager.h.

◆ kIterationCount

const uint32_t ConfigManager::kIterationCount = 64
static

Definition at line 63 of file config_manager.h.

◆ kMaxTimeout

const uint32_t ConfigManager::kMaxTimeout = 10
static

Definition at line 65 of file config_manager.h.

◆ kMinTimeout

const uint32_t ConfigManager::kMinTimeout = 1
static

Definition at line 64 of file config_manager.h.

◆ logical_interface_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::logical_interface_list_
private

Definition at line 134 of file config_manager.h.

◆ mp_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::mp_list_
private

Definition at line 149 of file config_manager.h.

◆ network_ipam_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::network_ipam_list_
private

Definition at line 156 of file config_manager.h.

◆ physical_interface_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::physical_interface_list_
private

Definition at line 133 of file config_manager.h.

◆ policy_set_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::policy_set_list_
private

Definition at line 148 of file config_manager.h.

◆ process_config_count_

uint64_t ConfigManager::process_config_count_[kMaxTimeout+1]
private

Definition at line 161 of file config_manager.h.

◆ project_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::project_list_
private

Definition at line 159 of file config_manager.h.

◆ qos_config_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::qos_config_list_
private

Definition at line 142 of file config_manager.h.

◆ qos_queue_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::qos_queue_list_
private

Definition at line 143 of file config_manager.h.

◆ sg_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::sg_list_
private

Definition at line 136 of file config_manager.h.

◆ slo_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::slo_list_
private

Definition at line 147 of file config_manager.h.

◆ tag_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::tag_list_
private

Definition at line 137 of file config_manager.h.

◆ timeout_

uint32_t ConfigManager::timeout_
private

Definition at line 130 of file config_manager.h.

◆ timer_

Timer* ConfigManager::timer_
private

Definition at line 129 of file config_manager.h.

◆ trigger_

std::unique_ptr<TaskTrigger> ConfigManager::trigger_
private

Definition at line 128 of file config_manager.h.

◆ virtual_dns_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::virtual_dns_list_
private

Definition at line 157 of file config_manager.h.

◆ virtual_router_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::virtual_router_list_
private

Definition at line 154 of file config_manager.h.

◆ vm_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::vm_list_
private

Definition at line 140 of file config_manager.h.

◆ vmi_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::vmi_list_
private

Definition at line 132 of file config_manager.h.

◆ vn_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::vn_list_
private

Definition at line 138 of file config_manager.h.

◆ vrf_list_

std::unique_ptr<ConfigManagerNodeList> ConfigManager::vrf_list_
private

Definition at line 139 of file config_manager.h.


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