5 #ifndef SRC_VNSW_AGENT_MAC_IP_LEARNING_MAC_LEARNING_H_
6 #define SRC_VNSW_AGENT_MAC_IP_LEARNING_MAC_LEARNING_H_
14 #include <tbb/mutex.h>
bool RequestHandler(MacLearningEntryRequestPtr ptr)
MacIpLearningEntry * Find(const MacIpLearningKey &key)
void Delete(MacLearningEntryPtr ptr)
void SetQueueDisable(bool disable)
void MacIpEntryUnreachable(MacLearningEntryRequestPtr ptr)
HealthCheckService * GetHealthCheckService(const VnEntry *vn)
MacIpLearningEntryMap mac_ip_learning_entry_map_
HealthCheckService * hc_service_
boost::asio::ip::address IpAddress
const HealthCheckService * HcService()
void Enqueue(MacLearningEntryRequestPtr req)
MacAddress GetPairedMacAddress(uint32_t vrf_id, const IpAddress &ip)
void AddHealthCheckService(HealthCheckService *service)
void Add(MacLearningEntryPtr ptr)
virtual ~MacIpLearningTable()
MacIpLearningTable * mac_ip_learning_table() const
tbb::mutex macip_map_mutex_
const HealthCheckInstanceBase * HcInstance()
MacIpLearningRequestQueue work_queue_
MacIpLearningEntry(MacIpLearningTable *table, uint32_t vrf_id_, const IpAddress &ip, const MacAddress &mac, InterfaceConstRef intf)
boost::intrusive_ptr< const Interface > InterfaceConstRef
boost::shared_ptr< MacLearningEntryRequest > MacLearningEntryRequestPtr
MacIpLearningTable(Agent *agent, MacLearningProto *proto)
void DetectIpMove(MacLearningEntryRequestPtr ptr)
virtual ~MacIpLearningEntry()
DISALLOW_COPY_AND_ASSIGN(MacIpLearningTable)
void UpdateHealthCheckService()
const MacIpLearningKey & key() const
DISALLOW_COPY_AND_ASSIGN(MacIpLearningEntry)
void EnqueueMgmtReq(MacLearningEntryPtr ptr, bool add)
void MacIpEntryHcNotify(const HealthCheckInstanceService *instance_service)
HealthCheckInstanceBase * hc_instance_
void SetQueueDisable(bool disable)
void EnqueueToTable(MacLearningEntryRequestPtr req)
boost::intrusive_ptr< const VnEntry > VnEntryConstRef
std::pair< MacIpLearningKey, MacLearningEntryPtr > MacIpLearningEntryPair
std::map< MacIpLearningKey, MacLearningEntryPtr, MacIpLearningKeyCmp > MacIpLearningEntryMap
void Resync(MacLearningEntryPtr ptr)
MacIpLearningTable * mac_ip_learning_table_
boost::shared_ptr< MacLearningEntry > MacLearningEntryPtr