OpenSDN source code
|
#include <ksync_entry.h>
Classes | |
class | KSyncEntryTransHistory |
struct | KSyncEntryTransition |
Public Types | |
enum | KSyncState { INIT, TEMP, ADD_DEFER, CHANGE_DEFER, IN_SYNC, SYNC_WAIT, NEED_SYNC, DEL_DEFER_SYNC, DEL_DEFER_REF, DEL_DEFER_DEL_ACK, DEL_ACK_WAIT, RENEW_WAIT, FREE_WAIT } |
enum | KSyncEvent { ADD_CHANGE_REQ, ADD_ACK, CHANGE_ACK, DEL_REQ, DEL_ADD_REQ, DEL_ACK, RE_EVAL, INT_PTR_REL, INVALID } |
typedef boost::intrusive_ptr < KSyncEntry > | KSyncEntryPtr |
Public Member Functions | |
std::string | StateString () const |
std::string | AckOperationString (KSyncEvent ack_event) const |
std::string | EventString (KSyncEvent event) const |
KSyncEntry () | |
KSyncEntry (uint32_t index) | |
virtual | ~KSyncEntry () |
void | Reset () |
void | Reset (uint32_t index) |
bool | operator< (const KSyncEntry &rhs) const |
virtual bool | IsLess (const KSyncEntry &rhs) const =0 |
virtual std::string | ToString () const =0 |
virtual bool | Add ()=0 |
virtual bool | Change ()=0 |
virtual bool | Delete ()=0 |
virtual KSyncObject * | GetObject () const =0 |
virtual KSyncEntry * | UnresolvedReference ()=0 |
virtual bool | ShouldReEvalBackReference () const |
bool | IsResolved () |
virtual bool | IsDataResolved () |
virtual void | Response () |
virtual bool | AllowDeleteStateComp () |
virtual void | ErrorHandler (int err, uint32_t seqno, KSyncEvent event) const |
virtual std::string | VrouterError (uint32_t error) const |
virtual bool | pre_alloc_rx_buffer () const |
virtual uint32_t | GetTableIndex () const |
virtual void | StaleTimerExpired () |
size_t | GetIndex () const |
KSyncState | GetState () const |
bool | del_add_pending () const |
uint32_t | GetRefCount () const |
bool | Seen () const |
bool | stale () const |
void | SetSeen () |
bool | IsDeleted () |
bool | IsActive () |
void | set_del_add_pending (bool pending) |
void | RecordTransition (KSyncState from, KSyncState to, KSyncEvent event) |
Static Public Member Functions | |
static std::string | VrouterErrorToString (uint32_t error) |
Static Public Attributes | |
static const size_t | kInvalidIndex = 0xFFFFFFFF |
static const int | kDefaultMsgSize = 512 |
Protected Member Functions | |
void | SetIndex (size_t index) |
void | SetState (KSyncState state) |
Private Member Functions | |
DISALLOW_COPY_AND_ASSIGN (KSyncEntry) | |
Private Attributes | |
boost::intrusive::set_member_hook | node_ |
size_t | index_ |
KSyncState | state_ |
tbb::atomic< int > | refcount_ |
bool | seen_ |
bool | stale_ |
bool | del_add_pending_ |
KSyncEntryTransHistory | t_history_ |
Friends | |
class | KSyncSock |
class | KSyncObject |
void | intrusive_ptr_add_ref (KSyncEntry *p) |
void | intrusive_ptr_release (KSyncEntry *p) |
Definition at line 33 of file ksync_entry.h.
typedef boost::intrusive_ptr<KSyncEntry> KSyncEntry::KSyncEntryPtr |
Definition at line 68 of file ksync_entry.h.
Enumerator | |
---|---|
ADD_CHANGE_REQ | |
ADD_ACK | |
CHANGE_ACK | |
DEL_REQ | |
DEL_ADD_REQ | |
DEL_ACK | |
RE_EVAL | |
INT_PTR_REL | |
INVALID |
Definition at line 51 of file ksync_entry.h.
Enumerator | |
---|---|
INIT | |
TEMP | |
ADD_DEFER | |
CHANGE_DEFER | |
IN_SYNC | |
SYNC_WAIT | |
NEED_SYNC | |
DEL_DEFER_SYNC | |
DEL_DEFER_REF | |
DEL_DEFER_DEL_ACK | |
DEL_ACK_WAIT | |
RENEW_WAIT | |
FREE_WAIT |
Definition at line 35 of file ksync_entry.h.
|
inline |
|
inline |
|
inlinevirtual |
Definition at line 80 of file ksync_entry.h.
std::string KSyncEntry::AckOperationString | ( | KSyncEvent | ack_event | ) | const |
|
pure virtual |
Implemented in KSyncDummyEntry, KSyncVxlanFdbEntry, OVSDB::HaStaleDevVnEntry, OVSDB::OvsdbDBEntry, KSyncNetlinkDBEntry, OVSDB::HaStaleL2RouteEntry, OVSDB::PhysicalSwitchEntry, KSyncVxlanPortEntry, KSyncVxlanBridgeEntry, OVSDB::MulticastMacLocalEntry, KSyncLinuxFdbEntry, OVSDB::UnicastMacLocalEntry, OVSDB::PhysicalPortEntry, OVSDB::VrfOvsdbEntry, OVSDB::OvsdbEntry, KSyncLinuxBridgeEntry, KSyncLinuxPortEntry, and KSyncNetlinkEntry.
|
inlinevirtual |
Reimplemented in FlowTableKSyncEntry, OVSDB::OvsdbDBEntry, and KSyncNetlinkEntry.
Definition at line 137 of file ksync_entry.h.
|
pure virtual |
Implemented in KSyncDummyEntry, KSyncVxlanFdbEntry, OVSDB::HaStaleDevVnEntry, OVSDB::OvsdbDBEntry, KSyncNetlinkDBEntry, OVSDB::HaStaleL2RouteEntry, KSyncVxlanPortEntry, KSyncVxlanBridgeEntry, KSyncLinuxFdbEntry, OVSDB::MulticastMacLocalEntry, OVSDB::PhysicalPortEntry, OVSDB::VrfOvsdbEntry, OVSDB::OvsdbEntry, KSyncLinuxPortEntry, and KSyncNetlinkEntry.
|
inline |
Definition at line 158 of file ksync_entry.h.
|
pure virtual |
Implemented in KSyncDummyEntry, KSyncVxlanFdbEntry, OVSDB::HaStaleDevVnEntry, OVSDB::OvsdbDBEntry, KSyncNetlinkDBEntry, OVSDB::HaStaleL2RouteEntry, KSyncVxlanBridgeEntry, KSyncVxlanPortEntry, OVSDB::PhysicalSwitchEntry, KSyncLinuxFdbEntry, OVSDB::MulticastMacLocalEntry, OVSDB::UnicastMacLocalEntry, OVSDB::PhysicalPortEntry, OVSDB::VrfOvsdbEntry, OVSDB::OvsdbEntry, KSyncLinuxPortEntry, KSyncLinuxBridgeEntry, and KSyncNetlinkEntry.
|
private |
|
virtual |
Reimplemented in FlowTableKSyncEntry.
Definition at line 525 of file ksync_object.cc.
std::string KSyncEntry::EventString | ( | KSyncEvent | event | ) | const |
Definition at line 628 of file ksync_object.cc.
|
inline |
Definition at line 156 of file ksync_entry.h.
|
pure virtual |
Implemented in KSyncDummyEntry, VrfKSyncEntry, KSyncVxlanRouteEntry, OVSDB::OvsdbDBEntry, FlowTableKSyncEntry, InterfaceKSyncEntry, KSyncVxlanPortEntry, OVSDB::OvsdbEntry, NHKSyncEntry, KSyncVxlanBridgeEntry, RouteKSyncEntry, VxLanIdKSyncEntry, MirrorKSyncEntry, QosConfigKSyncEntry, VrfAssignKSyncEntry, BridgeRouteAuditKSyncEntry, ForwardingClassKSyncEntry, MplsKSyncEntry, and QosQueueKSyncEntry.
|
inline |
Definition at line 159 of file ksync_entry.h.
|
inline |
Definition at line 157 of file ksync_entry.h.
|
inlinevirtual |
Reimplemented in FlowTableKSyncEntry.
Definition at line 152 of file ksync_entry.h.
|
inline |
|
inlinevirtual |
Reimplemented in KSyncDummyEntry, OVSDB::OvsdbDBEntry, OVSDB::HaStaleVnEntry, OVSDB::VMInterfaceKSyncEntry, and OVSDB::VnOvsdbEntry.
Definition at line 131 of file ksync_entry.h.
|
inline |
Definition at line 163 of file ksync_entry.h.
|
pure virtual |
Implemented in KSyncDummyEntry, VrfKSyncEntry, OVSDB::HaStaleDevVnEntry, KSyncVxlanRouteEntry, OVSDB::LogicalSwitchEntry, OVSDB::UnicastMacRemoteEntry, OVSDB::HaStaleL2RouteEntry, FlowTableKSyncEntry, OVSDB::PhysicalSwitchEntry, InterfaceKSyncEntry, OVSDB::MulticastMacLocalEntry, OVSDB::UnicastMacLocalEntry, KSyncVxlanPortEntry, OVSDB::VrfOvsdbEntry, KSyncVxlanBridgeEntry, OVSDB::HaStaleVnEntry, OVSDB::PhysicalPortEntry, NHKSyncEntry, RouteKSyncEntry, OVSDB::VlanPortBindingEntry, OVSDB::VMInterfaceKSyncEntry, OVSDB::VnOvsdbEntry, BridgeRouteAuditKSyncEntry, VxLanIdKSyncEntry, VrfAssignKSyncEntry, MirrorKSyncEntry, QosConfigKSyncEntry, ForwardingClassKSyncEntry, MplsKSyncEntry, OVSDB::PhysicalLocatorEntry, and QosQueueKSyncEntry.
bool KSyncEntry::IsResolved | ( | ) |
|
inline |
|
inlinevirtual |
Reimplemented in FlowTableKSyncEntry.
Definition at line 149 of file ksync_entry.h.
|
inline |
|
inline |
Definition at line 82 of file ksync_entry.h.
|
inline |
|
inlinevirtual |
Definition at line 134 of file ksync_entry.h.
|
inline |
Definition at line 160 of file ksync_entry.h.
|
inline |
Definition at line 174 of file ksync_entry.h.
|
inlineprotected |
Definition at line 180 of file ksync_entry.h.
|
inline |
Definition at line 162 of file ksync_entry.h.
|
inlineprotected |
Definition at line 181 of file ksync_entry.h.
|
inlinevirtual |
Reimplemented in FlowTableKSyncEntry.
Definition at line 125 of file ksync_entry.h.
|
inline |
Definition at line 161 of file ksync_entry.h.
|
inlinevirtual |
Reimplemented in OVSDB::LogicalSwitchEntry, and OVSDB::OvsdbDBEntry.
Definition at line 154 of file ksync_entry.h.
std::string KSyncEntry::StateString | ( | ) | const |
Definition at line 562 of file ksync_object.cc.
|
pure virtual |
Implemented in KSyncDummyEntry, VrfKSyncEntry, KSyncVxlanFdbEntry, OVSDB::HaStaleDevVnEntry, OVSDB::LogicalSwitchEntry, OVSDB::UnicastMacRemoteEntry, OVSDB::HaStaleL2RouteEntry, FlowTableKSyncEntry, OVSDB::PhysicalSwitchEntry, InterfaceKSyncEntry, OVSDB::MulticastMacLocalEntry, OVSDB::UnicastMacLocalEntry, OVSDB::VrfOvsdbEntry, KSyncVxlanPortEntry, OVSDB::HaStaleVnEntry, OVSDB::PhysicalPortEntry, NHKSyncEntry, RouteKSyncEntry, KSyncVxlanBridgeEntry, OVSDB::VlanPortBindingEntry, OVSDB::VMInterfaceKSyncEntry, OVSDB::VnOvsdbEntry, BridgeRouteAuditKSyncEntry, VxLanIdKSyncEntry, VrfAssignKSyncEntry, MirrorKSyncEntry, QosConfigKSyncEntry, ForwardingClassKSyncEntry, MplsKSyncEntry, OVSDB::PhysicalLocatorEntry, and QosQueueKSyncEntry.
|
pure virtual |
Implemented in KSyncDummyEntry, VrfKSyncEntry, KSyncVxlanFdbEntry, OVSDB::HaStaleDevVnEntry, OVSDB::LogicalSwitchEntry, OVSDB::UnicastMacRemoteEntry, FlowTableKSyncEntry, OVSDB::HaStaleL2RouteEntry, InterfaceKSyncEntry, OVSDB::PhysicalSwitchEntry, OVSDB::MulticastMacLocalEntry, OVSDB::UnicastMacLocalEntry, KSyncVxlanPortEntry, OVSDB::VrfOvsdbEntry, OVSDB::HaStaleVnEntry, OVSDB::PhysicalPortEntry, NHKSyncEntry, KSyncVxlanBridgeEntry, RouteKSyncEntry, OVSDB::VlanPortBindingEntry, OVSDB::VMInterfaceKSyncEntry, OVSDB::VnOvsdbEntry, VxLanIdKSyncEntry, VrfAssignKSyncEntry, MirrorKSyncEntry, QosConfigKSyncEntry, BridgeRouteAuditKSyncEntry, ForwardingClassKSyncEntry, MplsKSyncEntry, OVSDB::PhysicalLocatorEntry, and QosQueueKSyncEntry.
|
virtual |
Reimplemented in FlowTableKSyncEntry.
Definition at line 521 of file ksync_object.cc.
|
static |
Definition at line 513 of file ksync_object.cc.
|
friend |
Definition at line 670 of file ksync_object.cc.
|
friend |
Definition at line 678 of file ksync_object.cc.
|
friend |
Definition at line 186 of file ksync_entry.h.
|
friend |
Definition at line 185 of file ksync_entry.h.
|
private |
Definition at line 202 of file ksync_entry.h.
|
private |
Definition at line 190 of file ksync_entry.h.
|
static |
Definition at line 70 of file ksync_entry.h.
|
static |
Definition at line 69 of file ksync_entry.h.
|
private |
Definition at line 188 of file ksync_entry.h.
|
private |
Definition at line 192 of file ksync_entry.h.
|
private |
Definition at line 193 of file ksync_entry.h.
|
private |
Definition at line 197 of file ksync_entry.h.
|
private |
Definition at line 191 of file ksync_entry.h.
|
private |
Definition at line 230 of file ksync_entry.h.