5 #ifndef SRC_VNSW_AGENT_MAC_LEARNING_MAC_LEARNING_MGMT_H_
6 #define SRC_VNSW_AGENT_MAC_LEARNING_MAC_LEARNING_MGMT_H_
84 void Delete(
bool set_delete,
bool notify_event =
true);
173 const std::string&
vrf() {
208 typedef std::pair<MacLearningMgmtDBEntry *, MacLearningMgmtDBEntry *>
220 Tree::iterator it =
tree_.lower_bound(entry);
221 if (it !=
tree_.end()) {
297 typedef std::pair<MacLearningKey, MacLearningMgmtNodePtr>
302 typedef std::pair<MacIpLearningKey, MacLearningMgmtNodePtr>
virtual ~MacLearningMgmtVrfEntry()
void Enqueue(MacLearningMgmtRequestPtr &ptr)
void DeleteAllEntry(MacLearningMgmtRequestPtr ptr)
DependencyRef< MacLearningMgmtNode, MacLearningMgmtDBEntry > intf_
MacLearningMgmtRequest(Event event, MacLearningEntryPtr ptr)
MacLearningEntryPtr mac_learning_entry()
MacLearningEntryPtr mac_entry_
void Delete(MacLearningMgmtDBEntry *entry)
void Change(MacLearningMgmtDBEntry *entry)
std::map< MacLearningMgmtDBEntry *, MacLearningMgmtDBEntry *, MacLearningMgmtKeyCmp > Tree
MacLearningMgmtManager(Agent *agent)
MacLearningMgmtDBTree hc_tree_
MacLearningMgmtDBEntry * Find(const DBEntry *e)
virtual ~MacLearningMgmtIntfEntry()
const DBEntry * db_entry_
boost::shared_ptr< MacLearningMgmtRequest > MacLearningMgmtRequestPtr
DEPENDENCY_LIST(MacLearningMgmtNode, MacLearningMgmtDBEntry, mac_entry_list_)
DISALLOW_COPY_AND_ASSIGN(MacLearningMgmtDBEntry)
DependencyRef< MacLearningMgmtNode, MacLearningMgmtDBEntry > rt_
void DeleteMacLearningEntry(MacLearningMgmtRequestPtr ptr)
void set_rt(MacLearningMgmtDBEntry *rt)
void set_tree(MacLearningMgmtDBTree *tree)
MacLearningMgmtQueue request_queue_
MacLearningEntryPtr mac_learning_entry()
virtual ~MacLearningMgmtRouteEntry()
MacLearningMgmtDBTree intf_tree_
void UpdateRef(MacLearningMgmtManager *mgr)
MacLearningMgmtRequest(Event event, const DBEntry *db_entry, uint32_t gen_id)
DISALLOW_COPY_AND_ASSIGN(MacLearningMgmtDBTree)
DependencyList< MacLearningMgmtNode, MacLearningMgmtDBEntry > MacLearningEntryList
Base class for all Route entries in agent.
MacLearningMgmtHcServiceEntry(const HealthCheckService *hc)
MacLearningMgmtDBTree * tree() const
void AddMacLearningEntry(MacLearningMgmtRequestPtr ptr)
MacLearningMgmtDBTree(MacLearningMgmtManager *mgr)
MacLearningMgmtManager * mac_learning_mac_manager_
MacLearningMgmtDBTree vn_tree_
MacLearningMgmtDBTree vrf_tree_
DISALLOW_COPY_AND_ASSIGN(MacLearningMgmtIntfEntry)
MacLearningMgmtRouteEntry(const AgentRoute *rt)
void set_gen_id(uint32_t gen_id)
const DBEntry * db_entry() const
DependencyRef< MacLearningMgmtNode, MacLearningMgmtDBEntry > hc_service_
std::pair< MacLearningKey, MacLearningMgmtNodePtr > MacLearningNodePair
void Delete(bool set_delete, bool notify_event=true)
DISALLOW_COPY_AND_ASSIGN(MacLearningMgmtHcServiceEntry)
MacLearningMgmtNode(MacLearningEntryPtr ptr)
MacLearningMgmtVrfEntry(const VrfEntry *vrf)
const DBEntry * db_entry_
void set_intf(MacLearningMgmtDBEntry *intf)
void DeleteDBEntry(MacLearningMgmtRequestPtr ptr, bool notify_event=true)
std::map< MacLearningKey, MacLearningMgmtNodePtr, MacLearningKeyCmp > MacLearningNodeTree
const DBEntry * db_entry()
void TryDelete(MacLearningMgmtDBEntry *db_entry)
std::pair< MacLearningMgmtDBEntry *, MacLearningMgmtDBEntry * > MacLearningMgmtDBPair
MacLearningMgmtManager * mac_learning_mac_manager()
void AddMacIpLearningEntry(MacLearningMgmtRequestPtr ptr)
MacLearningMgmtDBTree * vrf_tree()
bool operator()(const MacLearningMgmtDBEntry *lhs, const MacLearningMgmtDBEntry *rhs) const
void set_db_entry(const DBEntry *entry)
virtual ~MacLearningMgmtHcServiceEntry()
virtual bool UseDBEntry() const
void set_hc(MacLearningMgmtDBEntry *hc)
MacLearningMgmtIntfEntry(const Interface *intf)
void DeleteMacIpLearningEntry(MacLearningMgmtRequestPtr ptr)
std::pair< MacIpLearningKey, MacLearningMgmtNodePtr > MacIpLearningNodePair
void set_vrf(MacLearningMgmtDBEntry *vrf)
virtual bool UseDBEntry() const
void Erase(MacLearningMgmtDBEntry *entry)
virtual ~MacLearningMgmtManager()
MacLearningMgmtDBEntry * Find(MacLearningMgmtDBEntry *entry)
DISALLOW_COPY_AND_ASSIGN(MacLearningMgmtRouteEntry)
MacLearningEntryPtr mac_learning_entry_
virtual ~MacLearningMgmtNode()
void ReleaseToken(MacLearningMgmtRequestPtr ptr)
DependencyRef< MacLearningMgmtNode, MacLearningMgmtDBEntry > vrf_
void set_gen_id(uint32_t gen_id)
MacLearningMgmtDBTree * rt_tree()
DependencyRef< MacLearningMgmtNode, MacLearningMgmtDBEntry > vn_
virtual ~MacLearningMgmtDBTree()
MacLearningMgmtDBTree * tree_
void Add(MacLearningMgmtDBEntry *entry)
DISALLOW_COPY_AND_ASSIGN(MacLearningMgmtNode)
MacLearningMgmtVnEntry(const VnEntry *vn)
WorkQueue< MacLearningMgmtRequestPtr > MacLearningMgmtQueue
virtual ~MacLearningMgmtVnEntry()
MacLearningMgmtDBTree rt_tree_
std::map< MacIpLearningKey, MacLearningMgmtNodePtr, MacIpLearningKeyCmp > MacIpLearningNodeTree
MacLearningMgmtDBEntry(Type type_, const DBEntry *entry)
boost::shared_ptr< MacLearningMgmtNode > MacLearningMgmtNodePtr
bool IsVrfRouteEmpty(const std::string &vrf_name)
void set_mac_learning_entry(MacLearningEntryPtr mac_entry)
virtual bool Compare(const MacLearningMgmtDBEntry *rhs) const
MacLearningMgmtDBEntry * Locate(const DBEntry *e)
void AddDBEntry(MacLearningMgmtRequestPtr ptr)
const std::string & vrf()
DISALLOW_COPY_AND_ASSIGN(MacLearningMgmtVrfEntry)
DISALLOW_COPY_AND_ASSIGN(MacLearningMgmtVnEntry)
void reset(ObjectType *ptr)
MacLearningMgmtDBEntry * LowerBound(MacLearningMgmtDBEntry *entry)
void set_vn(MacLearningMgmtDBEntry *vn)
virtual bool IsLess(const MacLearningMgmtDBEntry *rhs) const
DISALLOW_COPY_AND_ASSIGN(MacLearningMgmtManager)
MacLearningNodeTree mac_learning_node_tree_
bool RequestHandler(MacLearningMgmtRequestPtr ptr)
MacIpLearningNodeTree mac_ip_learning_node_tree_
virtual ~MacLearningMgmtDBEntry()
virtual bool Compare(const MacLearningMgmtDBEntry *rhs) const
boost::shared_ptr< MacLearningEntry > MacLearningEntryPtr