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;
142 #endif //SRC_VNSW_AGENT_OVS_TOR_AGENT_OVSDB_CLIENT_HA_STALE_DEV_VN_H_
boost::function< void(void)> StaleClearL2EntryCb
DBFilterResp OvsdbDBEntryFilter(const DBEntry *entry, const OvsdbDBEntry *ovsdb_entry)
HaStaleL2RouteEntry * entry
CbMap stale_l2_entry_map_
OvsPeer * route_peer() const
HaStaleL2RouteTable * l2_table() const
HaStaleL2RouteTable * old_l2_table_
Agent supports multiple route tables - Inet-unicast (IPv4/IPv6), Inet-multicast, bridge, EVPN (Type2/Type5). This base class contains common code for all types of route tables.
boost::uuids::uuid vn_uuid_
const boost::uuids::uuid & vn_uuid() const
boost::asio::ip::address IpAddress
std::string ToString() const
bool operator<(const StaleL2Entry &rhs) const
void StaleClearAddEntry(uint64_t time_stamp, HaStaleL2RouteEntry *entry, StaleClearL2EntryCb cb)
std::unique_ptr< OvsPeer > route_peer_
Timer * stale_clear_timer_
HaStaleDevVnEntry(OvsdbDBObject *table, const boost::uuids::uuid &vn_uuid)
ConnectionStateEntry * state() const
OvsPeer * route_peer() const
virtual ~HaStaleDevVnTable()
ConnectionStateEntryPtr state_
boost::intrusive_ptr< ConnectionStateEntry > ConnectionStateEntryPtr
ConnectionStateEntry * state() const
StaleL2Entry(uint64_t t, HaStaleL2RouteEntry *e)
DISALLOW_COPY_AND_ASSIGN(HaStaleDevVnTable)
void TriggerAck(HaStaleL2RouteTable *table)
void VnReEvalEnqueue(const boost::uuids::uuid &vn_uuid)
AgentRouteTable * oper_bridge_table_
bool IsLess(const KSyncEntry &) const
bool VnReEval(const boost::uuids::uuid &vn_uuid)
WorkQueue< boost::uuids::uuid > * vn_reeval_queue_
static const uint32_t kStaleTimerJobInterval
uint32_t vxlan_id() const
DISALLOW_COPY_AND_ASSIGN(HaStaleDevVnEntry)
const std::string & dev_name() const
KSyncEntry * DBToKSyncEntry(const DBEntry *)
uint64_t time_stamp() const
void StaleClearDelEntry(uint64_t time_stamp, HaStaleL2RouteEntry *entry)
static const uint32_t kNumEntriesPerIteration
OvsPeerManager * manager_
KSyncEntry * UnresolvedReference()
HaStaleL2RouteTable * l2_table_
const std::string & dev_name() const
virtual void EmptyTable()
std::map< StaleL2Entry, StaleClearL2EntryCb > CbMap
const std::string & vn_name() const
KSyncEntry * Alloc(const KSyncEntry *key, uint32_t index)
HaStaleDevVnTable(Agent *agent, OvsPeerManager *manager, ConnectionStateEntry *state, std::string &dev_name)
HaStaleVnTable * vn_table_