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