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);
std::vector< ConfigDelta > ChangeList
edge_iterator edge_list_begin(DBGraph *graph)
bool HasAdjacencies(DBGraph *graph) const
edge_iterator edge_list_end(DBGraph *graph)
boost::function< void(IFMapNodeProxy *, const std::string &, EventType)> Observer
DnsConfigData global_qos_config_
static const std::string EventString[]
void ProcessGlobalQosConfig(const ConfigDelta &delta)
boost::scoped_ptr< ConfigListener > listener_
static int config_task_id_
void ProcessVNNI(const ConfigDelta &delta)
void ProcessNode(const ConfigDelta &delta, DnsConfigData &config_data, Observer observer)
virtual ~DnsConfigManager()
DnsConfigData virt_dns_rec_config_
DnsConfigData vnni_config_
IFMapNode * FindTarget(IFMapNode *node, std::string link_name)
std::vector< ConfigDelta > ChangeList
void ProcessVirtualDNSRecord(const ConfigDelta &delta)
DnsConfigData ipam_config_
static const char * config_types[]
void Initialize(DB *db, DBGraph *db_graph)
static const int kConfigTaskInstanceId
void ProcessVirtualDNS(const ConfigDelta &delta)
static uint32_t config_types_size
DnsConfigData virt_dns_config_
void ProcessNetworkIpam(const ConfigDelta &delta)
void ProcessChanges(const ChangeList &change_list)
const std::string & metadata() const
virtual const char * Typename() const =0
The TaskScheduler keeps track of what tasks are currently schedulable. When a task is enqueued it is ...
int GetTaskId(const std::string &name)
static TaskScheduler * GetInstance()
SandeshTraceBufferPtr DnsConfigTraceBuf(SandeshTraceBufferCreate("Config", 2000))
#define DNS_TRACE(Obj,...)
boost::shared_ptr< TraceBuffer< SandeshTrace > > SandeshTraceBufferPtr
SandeshTraceBufferPtr SandeshTraceBufferCreate(const std::string &buf_name, size_t buf_size, bool trace_enable=true)
void Add(std::string name, IFMapNodeProxyRef node)
IFMapNodeProxy * Find(std::string name)
void Del(std::string name)
Observer virtual_dns_record