5 #include <boost/bind.hpp>
22 "virtual-network-network-ipam",
42 : id_type(rhs.id_type), id_name(rhs.id_name),
43 node(rhs.node), obj(rhs.obj) {
50 : db_(NULL), db_graph_(NULL),
77 id_map_.insert(make_pair(
"network-ipam",
79 id_map_.insert(make_pair(
"virtual-network-network-ipam",
81 id_map_.insert(make_pair(
"virtual-DNS",
83 id_map_.insert(make_pair(
"virtual-DNS-record",
85 id_map_.insert(make_pair(
"global-qos-config",
94 proxy = delta.
node.get();
110 (observer)(proxy, delta.
id_name,
118 (observer)(proxy, delta.
id_name,
129 DNS_TRACE(DnsConfigTrace,
"Error - Received Virtual DNS without a name");
137 DNS_TRACE(DnsConfigTrace,
"Error - Received Virtual DNS Record without a name");
145 DNS_TRACE(DnsConfigTrace,
"Error - Received VNNI without a name");
153 DNS_TRACE(DnsConfigTrace,
"Error - Received Ipam without a name");
161 DNS_TRACE(DnsConfigTrace,
"Error - Received GlobalQosConfig without a"
169 std::string link_name) {
174 return static_cast<IFMapNode *>(iter.target());
180 std::string link_name,
181 std::string node_type) {
185 if (link->
metadata() == link_name) {
195 for (ChangeList::const_iterator iter = change_list.begin();
196 iter != change_list.end(); ++iter) {
197 IdentifierMap::iterator loc =
id_map_.find(iter->id_type);
199 (loc->second)(*iter);
static const char * config_types[]
static int config_task_id_
The TaskScheduler keeps track of what tasks are currently schedulable. When a task is enqueued it is ...
const std::string & metadata() const
void ProcessVirtualDNS(const ConfigDelta &delta)
DnsConfigData vnni_config_
void ProcessChanges(const ChangeList &change_list)
void ProcessGlobalQosConfig(const ConfigDelta &delta)
virtual const char * Typename() const =0
boost::scoped_ptr< ConfigListener > listener_
virtual ~DnsConfigManager()
std::vector< ConfigDelta > ChangeList
IFMapNode * FindTarget(IFMapNode *node, std::string link_name)
static const std::string EventString[]
boost::shared_ptr< TraceBuffer< SandeshTrace > > SandeshTraceBufferPtr
SandeshTraceBufferPtr DnsConfigTraceBuf
bool HasAdjacencies(DBGraph *graph) const
boost::function< void(IFMapNodeProxy *, const std::string &, EventType)> Observer
int GetTaskId(const std::string &name)
DnsConfigData global_qos_config_
void ProcessVirtualDNSRecord(const ConfigDelta &delta)
DnsConfigData ipam_config_
void ProcessVNNI(const ConfigDelta &delta)
DnsConfigData virt_dns_rec_config_
static TaskScheduler * GetInstance()
Observer virtual_dns_record
#define DNS_TRACE(Obj,...)
void ProcessNode(const ConfigDelta &delta, DnsConfigData &config_data, Observer observer)
std::vector< ConfigDelta > ChangeList
IFMapNodeProxy * Find(std::string name)
static uint32_t config_types_size
edge_iterator edge_list_end(DBGraph *graph)
DnsConfigData virt_dns_config_
void Initialize(DB *db, DBGraph *db_graph)
void ProcessNetworkIpam(const ConfigDelta &delta)
void Add(std::string name, IFMapNodeProxyRef node)
static const int kConfigTaskInstanceId
void Del(std::string name)
SandeshTraceBufferPtr SandeshTraceBufferCreate(const std::string &buf_name, size_t buf_size, bool trace_enable=true)
edge_iterator edge_list_begin(DBGraph *graph)