OpenSDN source code
|
#include <ha_stale_dev_vn.h>
Classes | |
struct | StaleL2Entry |
Public Types | |
typedef boost::function< void(void)> | StaleClearL2EntryCb |
typedef std::map< StaleL2Entry, StaleClearL2EntryCb > | CbMap |
![]() | |
enum | DBFilterResp { DBFilterAccept, DBFilterIgnore, DBFilterDelete, DBFilterDelAdd, DBFilterMax } |
![]() | |
typedef boost::intrusive::member_hook < KSyncEntry, boost::intrusive::set_member_hook <>,&KSyncEntry::node_ > | KSyncObjectNode |
typedef boost::intrusive::set < KSyncEntry, KSyncObjectNode > | Tree |
typedef boost::intrusive::member_hook < KSyncFwdReference, boost::intrusive::set_member_hook <>,&KSyncFwdReference::node_ > | KSyncFwdRefNode |
typedef boost::intrusive::set < KSyncFwdReference, KSyncFwdRefNode > | FwdRefTree |
typedef boost::intrusive::member_hook < KSyncBackReference, boost::intrusive::set_member_hook <>,&KSyncBackReference::node_ > | KSyncBackRefNode |
typedef boost::intrusive::set < KSyncBackReference, KSyncBackRefNode > | BackRefTree |
Public Member Functions | |
HaStaleDevVnTable (Agent *agent, OvsPeerManager *manager, ConnectionStateEntry *state, std::string &dev_name) | |
virtual | ~HaStaleDevVnTable () |
KSyncEntry * | Alloc (const KSyncEntry *key, uint32_t index) |
KSyncEntry * | DBToKSyncEntry (const DBEntry *) |
DBFilterResp | OvsdbDBEntryFilter (const DBEntry *entry, const OvsdbDBEntry *ovsdb_entry) |
Agent * | agent () const |
void | DeleteTableDone () |
virtual void | EmptyTable () |
void | VnReEvalEnqueue (const boost::uuids::uuid &vn_uuid) |
bool | VnReEval (const boost::uuids::uuid &vn_uuid) |
OvsPeer * | route_peer () const |
const std::string & | dev_name () const |
ConnectionStateEntry * | state () const |
uint64_t | time_stamp () const |
void | StaleClearAddEntry (uint64_t time_stamp, HaStaleL2RouteEntry *entry, StaleClearL2EntryCb cb) |
void | StaleClearDelEntry (uint64_t time_stamp, HaStaleL2RouteEntry *entry) |
![]() | |
OvsdbDBObject (OvsdbClientIdl *idl, bool init_stale_entry_cleanup) | |
OvsdbDBObject (OvsdbClientIdl *idl, DBTable *tbl, bool init_stale_entry_cleanup) | |
virtual | ~OvsdbDBObject () |
virtual void | OvsdbRegisterDBTable (DBTable *tbl) |
void | OvsdbStartResyncWalk () |
void | NotifyAddOvsdb (OvsdbDBEntry *key, struct ovsdb_idl_row *row) |
void | NotifyDeleteOvsdb (OvsdbDBEntry *key, struct ovsdb_idl_row *row) |
virtual OvsdbDBEntry * | AllocOvsEntry (struct ovsdb_idl_row *row) |
bool | DBWalkNotify (DBTablePartBase *partition, DBEntryBase *entry) |
void | DBWalkDone (DBTableBase *partition) |
void | DeleteTable (void) |
OvsdbClientIdl * | client_idl () |
![]() | |
KSyncDBObject (const std::string &name) | |
KSyncDBObject (const std::string &name, int max_index) | |
KSyncDBObject (const std::string &name, DBTableBase *table) | |
KSyncDBObject (const std::string &name, DBTableBase *table, int max_index) | |
virtual | ~KSyncDBObject () |
void | RegisterDb (DBTableBase *table) |
void | UnregisterDb (DBTableBase *table) |
void | Notify (DBTablePartBase *partition, DBEntryBase *entry) |
DBTableBase * | GetDBTable () |
DBTableBase::ListenerId | GetListenerId (DBTableBase *table) |
void | set_test_id (DBTableBase::ListenerId id) |
DBTableBase::ListenerId | id () const |
![]() | |
KSyncObject (const std::string &name) | |
KSyncObject (const std::string &name, int max_index) | |
virtual | ~KSyncObject () |
void | InitStaleEntryCleanup (boost::asio::io_context &ios, uint32_t cleanup_time, uint32_t cleanup_intvl, uint16_t entries_per_intvl) |
void | NotifyEvent (KSyncEntry *entry, KSyncEntry::KSyncEvent event) |
void | SafeNotifyEvent (KSyncEntry *entry, KSyncEntry::KSyncEvent event) |
virtual void | NetlinkAck (KSyncEntry *entry, KSyncEntry::KSyncEvent event) |
void | BackRefAdd (KSyncEntry *key, KSyncEntry *reference) |
void | BackRefDel (KSyncEntry *key) |
void | BackRefReEval (KSyncEntry *key) |
KSyncEntry * | Create (const KSyncEntry *key) |
KSyncEntry * | Create (const KSyncEntry *key, bool skip_lookup) |
KSyncEntry * | CreateStale (const KSyncEntry *key) |
void | Change (KSyncEntry *entry) |
void | Delete (KSyncEntry *entry) |
KSyncEntry * | Find (const KSyncEntry *key) |
KSyncEntry * | Next (const KSyncEntry *entry) const |
KSyncEntry * | GetReference (const KSyncEntry *key) |
virtual void | Free (KSyncEntry *entry) |
bool | IsEmpty (void) |
virtual bool | DoEventTrace (void) |
virtual void | PreFree (KSyncEntry *entry) |
std::size_t | Size () |
void | set_delete_scheduled () |
bool | delete_scheduled () |
virtual SandeshTraceBufferPtr | GetKSyncTraceBuf () |
Static Public Attributes | |
static const uint32_t | kStaleTimerJobInterval = 100 |
static const uint32_t | kNumEntriesPerIteration = 100 |
![]() | |
static const uint32_t | StaleEntryCleanupTimer = 300000 |
static const uint32_t | StaleEntryYeildTimer = 100 |
static const uint16_t | StaleEntryDeletePerIteration = 32 |
Private Member Functions | |
bool | StaleClearTimerCb () |
DISALLOW_COPY_AND_ASSIGN (HaStaleDevVnTable) | |
Private Attributes | |
Agent * | agent_ |
OvsPeerManager * | manager_ |
std::unique_ptr< OvsPeer > | route_peer_ |
std::string | dev_name_ |
ConnectionStateEntryPtr | state_ |
HaStaleVnTable * | vn_table_ |
CbMap | stale_l2_entry_map_ |
uint64_t | time_stamp_ |
Timer * | stale_clear_timer_ |
WorkQueue< boost::uuids::uuid > * | vn_reeval_queue_ |
Friends | |
class | HaStaleDevVnEntry |
Additional Inherited Members | |
![]() | |
static void | Shutdown () |
![]() | |
DBFilterResp | DBEntryFilter (const DBEntry *entry, const KSyncDBEntry *ksync) |
![]() | |
KSyncEntry * | CreateImpl (const KSyncEntry *key) |
void | ClearStale (KSyncEntry *entry) |
void | ChangeKey (KSyncEntry *entry, uint32_t arg) |
virtual void | UpdateKey (KSyncEntry *entry, uint32_t arg) |
virtual uint32_t | GetKey (KSyncEntry *entry) |
![]() | |
OvsdbClientIdlPtr | client_idl_ |
![]() | |
tbb::recursive_mutex | lock_ |
Definition at line 19 of file ha_stale_dev_vn.h.
typedef std::map<StaleL2Entry, StaleClearL2EntryCb> OVSDB::HaStaleDevVnTable::CbMap |
Definition at line 41 of file ha_stale_dev_vn.h.
typedef boost::function<void(void)> OVSDB::HaStaleDevVnTable::StaleClearL2EntryCb |
Definition at line 24 of file ha_stale_dev_vn.h.
HaStaleDevVnTable::HaStaleDevVnTable | ( | Agent * | agent, |
OvsPeerManager * | manager, | ||
ConnectionStateEntry * | state, | ||
std::string & | dev_name | ||
) |
|
virtual |
|
virtual |
Reimplemented from OVSDB::OvsdbDBObject.
Definition at line 256 of file ha_stale_dev_vn.cc.
|
virtual |
Implements KSyncObject.
Definition at line 218 of file ha_stale_dev_vn.cc.
|
virtual |
Implements KSyncDBObject.
Definition at line 225 of file ha_stale_dev_vn.cc.
|
virtual |
Reimplemented from OVSDB::OvsdbDBObject.
Definition at line 260 of file ha_stale_dev_vn.cc.
const std::string & HaStaleDevVnTable::dev_name | ( | ) | const |
Definition at line 304 of file ha_stale_dev_vn.cc.
|
private |
|
virtual |
Reimplemented from OVSDB::OvsdbDBObject.
Definition at line 273 of file ha_stale_dev_vn.cc.
|
virtual |
Reimplemented from OVSDB::OvsdbDBObject.
Definition at line 233 of file ha_stale_dev_vn.cc.
OvsPeer * HaStaleDevVnTable::route_peer | ( | ) | const |
Definition at line 300 of file ha_stale_dev_vn.cc.
void HaStaleDevVnTable::StaleClearAddEntry | ( | uint64_t | time_stamp, |
HaStaleL2RouteEntry * | entry, | ||
StaleClearL2EntryCb | cb | ||
) |
void HaStaleDevVnTable::StaleClearDelEntry | ( | uint64_t | time_stamp, |
HaStaleL2RouteEntry * | entry | ||
) |
|
private |
ConnectionStateEntry * HaStaleDevVnTable::state | ( | ) | const |
Definition at line 308 of file ha_stale_dev_vn.cc.
|
inline |
Definition at line 62 of file ha_stale_dev_vn.h.
bool HaStaleDevVnTable::VnReEval | ( | const boost::uuids::uuid & | vn_uuid | ) |
void HaStaleDevVnTable::VnReEvalEnqueue | ( | const boost::uuids::uuid & | vn_uuid | ) |
|
friend |
Definition at line 69 of file ha_stale_dev_vn.h.
|
private |
Definition at line 73 of file ha_stale_dev_vn.h.
|
private |
Definition at line 76 of file ha_stale_dev_vn.h.
|
static |
Definition at line 22 of file ha_stale_dev_vn.h.
|
static |
Definition at line 21 of file ha_stale_dev_vn.h.
|
private |
Definition at line 74 of file ha_stale_dev_vn.h.
|
private |
Definition at line 75 of file ha_stale_dev_vn.h.
|
private |
Definition at line 85 of file ha_stale_dev_vn.h.
|
private |
Definition at line 81 of file ha_stale_dev_vn.h.
|
private |
Definition at line 77 of file ha_stale_dev_vn.h.
|
private |
Definition at line 84 of file ha_stale_dev_vn.h.
|
private |
Definition at line 90 of file ha_stale_dev_vn.h.
|
private |
Definition at line 79 of file ha_stale_dev_vn.h.