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)
 
IFMapNodeFindAdjacentIFMapNode (IFMapNode *node, const char *type)
 
void NodeResync (IFMapNode *node)
 
ConfigHelperhelper () const
 
Agentagent ()
 

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

Agentagent_
 
std::unique_ptr< TaskTriggertrigger_
 
Timertimer_
 
uint32_t timeout_
 
std::unique_ptr< ConfigManagerNodeListvmi_list_
 
std::unique_ptr< ConfigManagerNodeListphysical_interface_list_
 
std::unique_ptr< ConfigManagerNodeListlogical_interface_list_
 
std::unique_ptr< ConfigManagerNodeListdevice_list_
 
std::unique_ptr< ConfigManagerNodeListsg_list_
 
std::unique_ptr< ConfigManagerNodeListtag_list_
 
std::unique_ptr< ConfigManagerNodeListvn_list_
 
std::unique_ptr< ConfigManagerNodeListvrf_list_
 
std::unique_ptr< ConfigManagerNodeListvm_list_
 
std::unique_ptr< ConfigManagerNodeListhc_list_
 
std::unique_ptr< ConfigManagerNodeListqos_config_list_
 
std::unique_ptr< ConfigManagerNodeListqos_queue_list_
 
std::unique_ptr< ConfigManagerNodeListforwarding_class_list_
 
std::unique_ptr< ConfigManagerDeviceVnListdevice_vn_list_
 
std::unique_ptr< ConfigManagerNodeListbridge_domain_list_
 
std::unique_ptr< ConfigManagerNodeListslo_list_
 
std::unique_ptr< ConfigManagerNodeListpolicy_set_list_
 
std::unique_ptr< ConfigManagerNodeListmp_list_
 
std::unique_ptr< ConfigManagerNodeListglobal_vrouter_list_
 
std::unique_ptr< ConfigManagerNodeListbgp_router_config_list_
 
std::unique_ptr< ConfigManagerNodeListvirtual_router_list_
 
std::unique_ptr< ConfigManagerNodeListglobal_qos_config_list_
 
std::unique_ptr< ConfigManagerNodeListnetwork_ipam_list_
 
std::unique_ptr< ConfigManagerNodeListvirtual_dns_list_
 
std::unique_ptr< ConfigManagerNodeListglobal_system_config_list_
 
std::unique_ptr< ConfigManagerNodeListproject_list_
 
uint64_t process_config_count_ [kMaxTimeout+1]
 
boost::scoped_ptr< ConfigHelperhelper_
 

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: