5 #ifndef SRC_VNSW_AGENT_MAC_LEARNING_MAC_AGING_H_
6 #define SRC_VNSW_AGENT_MAC_LEARNING_MAC_AGING_H_
10 class SandeshMacEntry;
64 typedef std::pair<MacLearningEntry*, MacAgingEntryPtr>
MacAgingPair;
82 MacAgingEntryTable::const_iterator it =
85 return it->second.get();
std::map< uint32_t, MacAgingTablePtr > MacAgingTableMap
void ReadStats(MacAgingEntry *ptr)
boost::shared_ptr< MacAgingEntry > MacAgingEntryPtr
static const uint32_t kDefaultAgingTimeout
void Trace(const std::string &str, MacAgingEntry *ptr)
MacLearningEntry * last_key_
void set_deleted(bool deleted)
DISALLOW_COPY_AND_ASSIGN(MacAgingTable)
MacAgingTable * Find(uint32_t id)
bool ShouldBeAged(MacAgingEntry *ptr, uint64_t curr_time)
WorkQueue< MacLearningEntryRequestPtr > MacAgingQueue
friend class MacAgingSandeshResp
static const uint32_t kMinEntriesPerScan
MacAgingTableMap aging_table_map_
const MacAgingEntry * Find(MacLearningEntry *me) const
MacLearningEntryPtr mac_learning_entry() const
boost::shared_ptr< MacAgingTable > MacAgingTablePtr
uint64_t last_modified_time_
uint32_t CalculateEntriesPerIteration(uint32_t table_size)
void set_timeout(uint32_t msec)
std::map< MacLearningEntry *, MacAgingEntryPtr > MacAgingEntryTable
virtual ~MacAgingPartition()
MacAgingEntryTable aging_table_
bool RequestHandler(MacLearningEntryRequestPtr ptr)
MacAgingQueue request_queue_
std::pair< MacLearningEntry *, MacAgingEntryPtr > MacAgingPair
boost::shared_ptr< MacLearningEntryRequest > MacLearningEntryRequestPtr
friend class MacAgingSandeshResp
DISALLOW_COPY_AND_ASSIGN(MacAgingPartition)
void SendDeleteMsg(MacAgingEntry *ptr)
void Enqueue(MacLearningEntryRequestPtr req)
static const uint32_t kMinIterationTimeout
MacAgingEntry(MacLearningEntryPtr ptr)
MacAgingPartition(Agent *agent, uint32_t id)
void set_last_modified_time(uint64_t curr_time)
void DeleteVrf(uint32_t id)
MacAgingTable(Agent *agent, const VrfEntry *)
void set_mac_learning_entry(MacLearningEntryPtr ptr)
MacLearningEntryPtr mac_learning_entry_
uint64_t last_modified_time() const
void Delete(MacLearningEntryPtr ptr)
std::pair< uint32_t, MacAgingTablePtr > MacAgingTablePair
void Add(MacLearningEntryPtr ptr)
void Delete(MacLearningEntryPtr ptr)
void FillSandesh(SandeshMacEntry *sme) const
uint64_t timeout_in_usecs() const
boost::shared_ptr< MacLearningEntry > MacLearningEntryPtr
void set_packets(uint64_t packets)
void Add(MacLearningEntryPtr ptr)