OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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
< 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< ConfigHelperhelper_
 

Detailed Description

Definition at line 60 of file config_manager.h.

Constructor & Destructor Documentation

ConfigManager::ConfigManager ( Agent agent)

Definition at line 247 of file config_manager.cc.

Here is the call graph for this function:

ConfigManager::~ConfigManager ( )
virtual

Definition at line 262 of file config_manager.cc.

Here is the call graph for this function:

Member Function Documentation

void ConfigManager::AddBgpRouterConfigNode ( IFMapNode node)

Definition at line 543 of file config_manager.cc.

void ConfigManager::AddBridgeDomainNode ( IFMapNode node)

Definition at line 458 of file config_manager.cc.

void ConfigManager::AddForwardingClassNode ( IFMapNode node)

Definition at line 494 of file config_manager.cc.

void ConfigManager::AddGlobalQosConfigNode ( IFMapNode node)

Definition at line 523 of file config_manager.cc.

void ConfigManager::AddGlobalSystemConfigNode ( IFMapNode node)

Definition at line 527 of file config_manager.cc.

void ConfigManager::AddGlobalVrouterNode ( IFMapNode node)

Definition at line 539 of file config_manager.cc.

void ConfigManager::AddHealthCheckServiceNode ( IFMapNode node)

Definition at line 454 of file config_manager.cc.

void ConfigManager::AddLogicalInterfaceNode ( IFMapNode node)

Definition at line 442 of file config_manager.cc.

void ConfigManager::AddMulticastPolicyNode ( IFMapNode node)

Definition at line 502 of file config_manager.cc.

void ConfigManager::AddNetworkIpamNode ( IFMapNode node)

Definition at line 531 of file config_manager.cc.

void ConfigManager::AddPhysicalDeviceNode ( IFMapNode node)

Definition at line 450 of file config_manager.cc.

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

Definition at line 510 of file config_manager.cc.

void ConfigManager::AddPhysicalInterfaceNode ( IFMapNode node)

Definition at line 486 of file config_manager.cc.

void ConfigManager::AddPolicySetNode ( IFMapNode node)

Definition at line 462 of file config_manager.cc.

void ConfigManager::AddProjectNode ( IFMapNode node)
void ConfigManager::AddQosConfigNode ( IFMapNode node)

Definition at line 490 of file config_manager.cc.

void ConfigManager::AddQosQueueNode ( IFMapNode node)

Definition at line 506 of file config_manager.cc.

void ConfigManager::AddSecurityLoggingObjectNode ( IFMapNode node)

Definition at line 498 of file config_manager.cc.

void ConfigManager::AddSgNode ( IFMapNode node)

Definition at line 466 of file config_manager.cc.

void ConfigManager::AddTagNode ( IFMapNode node)

Definition at line 470 of file config_manager.cc.

void ConfigManager::AddVirtualDnsNode ( IFMapNode node)

Definition at line 535 of file config_manager.cc.

void ConfigManager::AddVirtualRouterNode ( IFMapNode node)

Definition at line 547 of file config_manager.cc.

void ConfigManager::AddVmiNode ( IFMapNode node)

Definition at line 434 of file config_manager.cc.

void ConfigManager::AddVmNode ( IFMapNode node)

Definition at line 482 of file config_manager.cc.

void ConfigManager::AddVnNode ( IFMapNode node)

Definition at line 474 of file config_manager.cc.

void ConfigManager::AddVrfNode ( IFMapNode node)

Definition at line 478 of file config_manager.cc.

Agent* ConfigManager::agent ( )
inline

Definition at line 124 of file config_manager.h.

bool ConfigManager::CanUseNode ( IFMapNode node)

Definition at line 574 of file config_manager.cc.

Here is the call graph for this function:

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

Definition at line 605 of file config_manager.cc.

Here is the call graph for this function:

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

Definition at line 515 of file config_manager.cc.

ConfigManager::DISALLOW_COPY_AND_ASSIGN ( ConfigManager  )
private
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:

ConfigHelper* ConfigManager::helper ( ) const
inline

Definition at line 122 of file config_manager.h.

void ConfigManager::Init ( )

Definition at line 267 of file config_manager.cc.

Here is the call graph for this function:

uint32_t ConfigManager::LogicalInterfaceNodeCount ( ) const

Definition at line 446 of file config_manager.cc.

void ConfigManager::NodeResync ( IFMapNode node)

Definition at line 641 of file config_manager.cc.

Here is the call graph for this function:

uint32_t ConfigManager::PhysicalDeviceVnCount ( ) const

Definition at line 519 of file config_manager.cc.

uint32_t ConfigManager::ProcessCount ( ) const

Definition at line 338 of file config_manager.cc.

string ConfigManager::ProfileInfo ( ) const

Definition at line 551 of file config_manager.cc.

Here is the call graph for this function:

int ConfigManager::Run ( void  )

Definition at line 402 of file config_manager.cc.

uint32_t ConfigManager::Size ( ) const

Definition at line 312 of file config_manager.cc.

bool ConfigManager::SkipNode ( IFMapNode node)

Definition at line 613 of file config_manager.cc.

Here is the call graph for this function:

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

Definition at line 617 of file config_manager.cc.

Here is the call graph for this function:

void ConfigManager::Start ( )

Definition at line 363 of file config_manager.cc.

Here is the call graph for this function:

uint32_t ConfigManager::timeout ( ) const
inline

Definition at line 78 of file config_manager.h.

bool ConfigManager::TimerRun ( )

Definition at line 380 of file config_manager.cc.

Here is the call graph for this function:

bool ConfigManager::TriggerRun ( )

Definition at line 396 of file config_manager.cc.

Here is the call graph for this function:

uint32_t ConfigManager::VmiNodeCount ( ) const

Definition at line 438 of file config_manager.cc.

Member Data Documentation

Agent* ConfigManager::agent_
private

Definition at line 127 of file config_manager.h.

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

Definition at line 153 of file config_manager.h.

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

Definition at line 146 of file config_manager.h.

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

Definition at line 135 of file config_manager.h.

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

Definition at line 145 of file config_manager.h.

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

Definition at line 144 of file config_manager.h.

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

Definition at line 155 of file config_manager.h.

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

Definition at line 158 of file config_manager.h.

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

Definition at line 152 of file config_manager.h.

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

Definition at line 141 of file config_manager.h.

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

Definition at line 162 of file config_manager.h.

const uint32_t ConfigManager::kIterationCount = 64
static

Definition at line 63 of file config_manager.h.

const uint32_t ConfigManager::kMaxTimeout = 10
static

Definition at line 65 of file config_manager.h.

const uint32_t ConfigManager::kMinTimeout = 1
static

Definition at line 64 of file config_manager.h.

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

Definition at line 134 of file config_manager.h.

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

Definition at line 149 of file config_manager.h.

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

Definition at line 156 of file config_manager.h.

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

Definition at line 133 of file config_manager.h.

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

Definition at line 148 of file config_manager.h.

uint64_t ConfigManager::process_config_count_[kMaxTimeout+1]
private

Definition at line 161 of file config_manager.h.

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

Definition at line 159 of file config_manager.h.

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

Definition at line 142 of file config_manager.h.

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

Definition at line 143 of file config_manager.h.

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

Definition at line 136 of file config_manager.h.

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

Definition at line 147 of file config_manager.h.

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

Definition at line 137 of file config_manager.h.

uint32_t ConfigManager::timeout_
private

Definition at line 130 of file config_manager.h.

Timer* ConfigManager::timer_
private

Definition at line 129 of file config_manager.h.

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

Definition at line 128 of file config_manager.h.

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

Definition at line 157 of file config_manager.h.

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

Definition at line 154 of file config_manager.h.

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

Definition at line 140 of file config_manager.h.

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

Definition at line 132 of file config_manager.h.

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

Definition at line 138 of file config_manager.h.

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: