17 mac_entry_(ptr), intf_(this), vrf_(this), rt_(this), vn_(this),
70 if (mac_ip_entry != NULL) {
79 type_(type), db_entry_(entry), deleted_(false) {
85 iter != mac_entry_list_.end(); iter++) {
101 iter != mac_entry_list_.end(); iter++) {
112 if (mac_entry_list_.empty() ==
false ||
tree_->
Find(
this) == NULL) {
147 mac_learning_mac_manager_(mgr) {
216 Tree::iterator it =
tree_.find(e);
217 if (it ==
tree_.end()) {
238 MacLearningNodeTree::iterator it =
242 ptr->mac_learning_entry()));
243 node->UpdateRef(
this);
247 it->second->set_mac_learning_entry(ptr->mac_learning_entry());
248 it->second->UpdateRef(
this);
257 MacIpLearningNodeTree::iterator it =
261 ptr->mac_learning_entry()));
262 node->UpdateRef(
this);
266 it->second->set_mac_learning_entry(ptr->mac_learning_entry());
267 it->second->UpdateRef(
this);
293 entry->
Delete(
true, notify_event);
308 switch(ptr->event()) {
358 if (mgmt_entry != NULL) {
372 if (rt_entry_ptr && rt_entry_ptr->
vrf() == vrf_name) {
435 if (mgmt_entry != NULL) {
448 if (mgmt_entry != NULL) {
461 if (mgmt_entry != NULL) {
473 if (mgmt_entry != NULL) {
484 if (mgmt_entry != NULL) {
496 agent_(agent), intf_tree_(this), vrf_tree_(this), rt_tree_(this),
497 vn_tree_(NULL), hc_tree_(NULL),
void Enqueue(MacLearningMgmtRequestPtr &ptr)
void DeleteAllEntry(MacLearningMgmtRequestPtr ptr)
static const MacAddress & ZeroMac()
DependencyRef< MacLearningMgmtNode, MacLearningMgmtDBEntry > intf_
MacLearningEntryPtr mac_learning_entry()
MacLearningEntryPtr mac_entry_
void Delete(MacLearningMgmtDBEntry *entry)
void Change(MacLearningMgmtDBEntry *entry)
static Agent * GetInstance()
MacLearningMgmtManager(Agent *agent)
MacLearningMgmtDBTree hc_tree_
MacLearningMgmtDBEntry * Find(const DBEntry *e)
boost::shared_ptr< MacLearningMgmtRequest > MacLearningMgmtRequestPtr
const MacLearningKey & key() const
MacLearningProto * mac_learning_proto() const
DependencyRef< MacLearningMgmtNode, MacLearningMgmtDBEntry > rt_
void DeleteMacLearningEntry(MacLearningMgmtRequestPtr ptr)
const HealthCheckService * HcService()
void set_tree(MacLearningMgmtDBTree *tree)
MacLearningMgmtQueue request_queue_
MacLearningMgmtDBTree intf_tree_
void UpdateRef(MacLearningMgmtManager *mgr)
const string & GetName() const
Base class for all Route entries in agent.
MacLearningMgmtHcServiceEntry(const HealthCheckService *hc)
MacLearningMgmtDBTree * tree() const
void AddMacLearningEntry(MacLearningMgmtRequestPtr ptr)
MacLearningMgmtDBTree(MacLearningMgmtManager *mgr)
MacLearningMgmtDBTree vn_tree_
#define kTaskMacLearningMgmt
MacLearningMgmtDBTree vrf_tree_
MacLearningMgmtRouteEntry(const AgentRoute *rt)
void set_gen_id(uint32_t gen_id)
DependencyRef< MacLearningMgmtNode, MacLearningMgmtDBEntry > hc_service_
std::pair< MacLearningKey, MacLearningMgmtNodePtr > MacLearningNodePair
void Delete(bool set_delete, bool notify_event=true)
MacLearningMgmtNode(MacLearningEntryPtr ptr)
MacLearningMgmtVrfEntry(const VrfEntry *vrf)
const DBEntry * db_entry_
void DeleteDBEntry(MacLearningMgmtRequestPtr ptr, bool notify_event=true)
void TryDelete(MacLearningMgmtDBEntry *db_entry)
std::pair< MacLearningMgmtDBEntry *, MacLearningMgmtDBEntry * > MacLearningMgmtDBPair
MacLearningMgmtManager * mac_learning_mac_manager()
bool Enqueue(PktInfoPtr msg)
void AddMacIpLearningEntry(MacLearningMgmtRequestPtr ptr)
MacLearningMgmtDBTree * vrf_tree()
boost::shared_ptr< MacLearningEntryRequest > MacLearningEntryRequestPtr
void set_db_entry(const DBEntry *entry)
AgentDBEntry * Find(const DBEntry *key, bool ret_del)
MacLearningMgmtIntfEntry(const Interface *intf)
void DeleteMacIpLearningEntry(MacLearningMgmtRequestPtr ptr)
std::pair< MacIpLearningKey, MacLearningMgmtNodePtr > MacIpLearningNodePair
virtual const PrefixType & prefix_address() const
Returns the value of a stored prefix address (IPv4, IPv6 or MAC address)
void Erase(MacLearningMgmtDBEntry *entry)
VrfTable * vrf_table() const
MacLearningMgmtDBEntry * Find(MacLearningMgmtDBEntry *entry)
virtual ~MacLearningMgmtNode()
DependencyRef< MacLearningMgmtNode, MacLearningMgmtDBEntry > vrf_
DependencyRef< MacLearningMgmtNode, MacLearningMgmtDBEntry > vn_
const MacIpLearningKey & key() const
MacLearningMgmtDBTree * tree_
void Add(MacLearningMgmtDBEntry *entry)
MacLearningMgmtVnEntry(const VnEntry *vn)
MacLearningMgmtDBTree rt_tree_
MacLearningMgmtDBEntry(Type type_, const DBEntry *entry)
boost::shared_ptr< MacLearningMgmtNode > MacLearningMgmtNodePtr
bool IsVrfRouteEmpty(const std::string &vrf_name)
MacLearningMgmtDBEntry * Locate(const DBEntry *e)
void AddDBEntry(MacLearningMgmtRequestPtr ptr)
const std::string & vrf()
void reset(ObjectType *ptr)
MacLearningMgmtDBEntry * LowerBound(MacLearningMgmtDBEntry *entry)
MacLearningNodeTree mac_learning_node_tree_
bool Enqueue(QueueEntryT entry)
bool RequestHandler(MacLearningMgmtRequestPtr ptr)
MacIpLearningNodeTree mac_ip_learning_node_tree_
const MacAddress & bmac() const
const std::string bmac_vrf_name() const
boost::shared_ptr< MacLearningEntry > MacLearningEntryPtr