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();
void FillSandesh(SandeshMacEntry *sme) const
void set_packets(uint64_t packets)
uint64_t last_modified_time() const
void set_deleted(bool deleted)
void set_last_modified_time(uint64_t curr_time)
uint64_t last_modified_time_
void set_mac_learning_entry(MacLearningEntryPtr ptr)
MacAgingEntry(MacLearningEntryPtr ptr)
MacLearningEntryPtr mac_learning_entry_
MacLearningEntryPtr mac_learning_entry() const
MacAgingQueue request_queue_
std::map< uint32_t, MacAgingTablePtr > MacAgingTableMap
virtual ~MacAgingPartition()
void Delete(MacLearningEntryPtr ptr)
WorkQueue< MacLearningEntryRequestPtr > MacAgingQueue
MacAgingTable * Find(uint32_t id)
friend class MacAgingSandeshResp
MacAgingTableMap aging_table_map_
bool RequestHandler(MacLearningEntryRequestPtr ptr)
void Enqueue(MacLearningEntryRequestPtr req)
static const uint32_t kMinIterationTimeout
DISALLOW_COPY_AND_ASSIGN(MacAgingPartition)
std::pair< uint32_t, MacAgingTablePtr > MacAgingTablePair
boost::shared_ptr< MacAgingTable > MacAgingTablePtr
void DeleteVrf(uint32_t id)
MacAgingPartition(Agent *agent, uint32_t id)
void Add(MacLearningEntryPtr ptr)
bool ShouldBeAged(MacAgingEntry *ptr, uint64_t curr_time)
void SendDeleteMsg(MacAgingEntry *ptr)
static const uint32_t kDefaultAgingTimeout
MacAgingTable(Agent *agent, const VrfEntry *)
const MacAgingEntry * Find(MacLearningEntry *me) const
void Delete(MacLearningEntryPtr ptr)
uint64_t timeout_in_usecs() const
MacLearningEntry * last_key_
void Add(MacLearningEntryPtr ptr)
DISALLOW_COPY_AND_ASSIGN(MacAgingTable)
friend class MacAgingSandeshResp
void Trace(const std::string &str, MacAgingEntry *ptr)
void ReadStats(MacAgingEntry *ptr)
void set_timeout(uint32_t msec)
uint32_t CalculateEntriesPerIteration(uint32_t table_size)
std::pair< MacLearningEntry *, MacAgingEntryPtr > MacAgingPair
std::map< MacLearningEntry *, MacAgingEntryPtr > MacAgingEntryTable
MacAgingEntryTable aging_table_
static const uint32_t kMinEntriesPerScan
boost::shared_ptr< MacAgingEntry > MacAgingEntryPtr
boost::shared_ptr< MacLearningEntry > MacLearningEntryPtr
boost::shared_ptr< MacLearningEntryRequest > MacLearningEntryRequestPtr