5 #ifndef SRC_VNSW_AGENT_OVS_TOR_AGENT_OVSDB_CLIENT_HA_STALE_DEV_VN_H_
6 #define SRC_VNSW_AGENT_OVS_TOR_AGENT_OVSDB_CLIENT_HA_STALE_DEV_VN_H_
14 class HaStaleL2RouteTable;
15 class HaStaleL2RouteEntry;
17 class ConnectionStateEntry;
41 typedef std::map<StaleL2Entry, StaleClearL2EntryCb>
CbMap;
105 std::string
ToString()
const {
return "Ha Stale Dev VN Entry";}
115 const std::string &
dev_name()
const;
118 const std::string &
vn_name()
const;
boost::asio::ip::address IpAddress
Agent supports multiple route tables - Inet-unicast (IPv4/IPv6), Inet-multicast, bridge,...
HaStaleL2RouteTable * l2_table() const
const std::string & dev_name() const
ConnectionStateEntry * state() const
std::string ToString() const
void TriggerAck(HaStaleL2RouteTable *table)
HaStaleL2RouteTable * l2_table_
bool IsLess(const KSyncEntry &) const
uint32_t vxlan_id() const
boost::uuids::uuid vn_uuid_
const boost::uuids::uuid & vn_uuid() const
HaStaleL2RouteTable * old_l2_table_
const std::string & vn_name() const
AgentRouteTable * oper_bridge_table_
KSyncEntry * UnresolvedReference()
DISALLOW_COPY_AND_ASSIGN(HaStaleDevVnEntry)
HaStaleDevVnEntry(OvsdbDBObject *table, const boost::uuids::uuid &vn_uuid)
OvsPeer * route_peer() const
DBFilterResp OvsdbDBEntryFilter(const DBEntry *entry, const OvsdbDBEntry *ovsdb_entry)
static const uint32_t kStaleTimerJobInterval
HaStaleVnTable * vn_table_
std::unique_ptr< OvsPeer > route_peer_
const std::string & dev_name() const
void StaleClearDelEntry(uint64_t time_stamp, HaStaleL2RouteEntry *entry)
void VnReEvalEnqueue(const boost::uuids::uuid &vn_uuid)
CbMap stale_l2_entry_map_
uint64_t time_stamp() const
Timer * stale_clear_timer_
HaStaleDevVnTable(Agent *agent, OvsPeerManager *manager, ConnectionStateEntry *state, std::string &dev_name)
boost::function< void(void)> StaleClearL2EntryCb
virtual void EmptyTable()
void StaleClearAddEntry(uint64_t time_stamp, HaStaleL2RouteEntry *entry, StaleClearL2EntryCb cb)
std::map< StaleL2Entry, StaleClearL2EntryCb > CbMap
OvsPeerManager * manager_
DISALLOW_COPY_AND_ASSIGN(HaStaleDevVnTable)
ConnectionStateEntry * state() const
static const uint32_t kNumEntriesPerIteration
KSyncEntry * DBToKSyncEntry(const DBEntry *)
KSyncEntry * Alloc(const KSyncEntry *key, uint32_t index)
bool VnReEval(const boost::uuids::uuid &vn_uuid)
WorkQueue< boost::uuids::uuid > * vn_reeval_queue_
ConnectionStateEntryPtr state_
OvsPeer * route_peer() const
virtual ~HaStaleDevVnTable()
boost::intrusive_ptr< ConnectionStateEntry > ConnectionStateEntryPtr
HaStaleL2RouteEntry * entry
StaleL2Entry(uint64_t t, HaStaleL2RouteEntry *e)
bool operator<(const StaleL2Entry &rhs) const