OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
OVSDB::LogicalSwitchEntry Class Reference

#include <logical_switch_ovsdb.h>

Inheritance diagram for OVSDB::LogicalSwitchEntry:
Collaboration diagram for OVSDB::LogicalSwitchEntry:

Classes

class  ProcessDeleteOvsReqTask
 

Public Types

enum  Trace {
  ADD_REQ, DEL_REQ, ADD_ACK, DEL_ACK,
  DUP_TUNNEL_KEY_ADD
}
 
typedef std::set< struct
ovsdb_idl_row * > 
OvsdbIdlRowList
 
- Public Types inherited from KSyncDBEntry
typedef std::list< DBEntry * > DupEntryList
 
- Public Types inherited from KSyncEntry
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

 LogicalSwitchEntry (OvsdbDBObject *table, const std::string &name)
 
 LogicalSwitchEntry (OvsdbDBObject *table, const LogicalSwitchEntry *key)
 
 LogicalSwitchEntry (OvsdbDBObject *table, const PhysicalDeviceVn *entry)
 
 LogicalSwitchEntry (OvsdbDBObject *table, struct ovsdb_idl_row *entry)
 
virtual ~LogicalSwitchEntry ()
 
Ip4Addressphysical_switch_tunnel_ip ()
 
void AddMsg (struct ovsdb_idl_txn *)
 
void ChangeMsg (struct ovsdb_idl_txn *)
 
void DeleteMsg (struct ovsdb_idl_txn *)
 
virtual void NotifyDelete (struct ovsdb_idl_row *)
 
void OvsdbChange ()
 
const std::string & name () const
 
const std::string & device_name () const
 
int64_t vxlan_id () const
 
std::string tor_service_node () const
 
OvsdbResourceVxLanIdres_vxlan_id ()
 
bool IsDeleteOvsInProgress () const
 
bool Sync (DBEntry *)
 
bool IsLess (const KSyncEntry &) const
 
std::string ToString () const
 
KSyncEntryUnresolvedReference ()
 
bool IsLocalMacsRef () const
 
void Ack (bool success)
 
void TxnDoneNoMessage ()
 
void DeleteOvs (bool add_change_in_progress)
 
virtual void StaleTimerExpired ()
 
uint32_t mcast_local_row_list_size () const
 
uint32_t ucast_local_row_list_size () const
 
uint32_t old_mcast_remote_row_list_size () const
 
bool is_local_mac_ref_set () const
 
bool is_mcast_remote_set () const
 
- Public Member Functions inherited from OVSDB::OvsdbDBEntry
 OvsdbDBEntry (OvsdbDBObject *table)
 
 OvsdbDBEntry (OvsdbDBObject *table, struct ovsdb_idl_row *ovs_entry)
 
virtual ~OvsdbDBEntry ()
 
virtual void PreAddChange ()
 
virtual void PostDelete ()
 
bool AllowDeleteStateComp ()
 
virtual void NotifyAdd (struct ovsdb_idl_row *)
 
virtual bool Add ()
 
virtual bool Change ()
 
virtual bool Delete ()
 
virtual bool IsDataResolved ()
 
bool IsDelAckWaiting ()
 
bool IsAddChangeAckWaiting ()
 
struct ovsdb_idl_row * ovs_entry ()
 
OvsdbDBObjecttable ()
 
KSyncObjectGetObject () const
 
void TriggerDeleteAdd ()
 
- Public Member Functions inherited from KSyncDBEntry
 KSyncDBEntry ()
 
 KSyncDBEntry (uint32_t index)
 
virtual ~KSyncDBEntry ()
 
void SetDBEntry (DBEntry *db_entry)
 
DBEntryGetDBEntry ()
 
- Public Member Functions inherited from KSyncEntry
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 ShouldReEvalBackReference () const
 
bool IsResolved ()
 
virtual void Response ()
 
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
 
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)
 
- Public Member Functions inherited from DBState
virtual ~DBState ()
 
- Public Member Functions inherited from OVSDB::OvsdbEntryBase
KSyncEntry::KSyncEvent ack_event ()
 

Private Member Functions

void CancelDeleteOvs ()
 
void SendTrace (Trace event) const
 
void DeleteOldMcastRemoteMac ()
 
void ReleaseLocatorCreateReference ()
 
 DISALLOW_COPY_AND_ASSIGN (LogicalSwitchEntry)
 

Private Attributes

std::string name_
 
std::string device_name_
 
KSyncEntryPtr physical_switch_
 
KSyncEntryPtr local_mac_ref_
 
KSyncEntryPtr pl_create_ref_
 
int64_t vxlan_id_
 
OvsdbIdlRowList mcast_local_row_list_
 
struct ovsdb_idl_row * mcast_remote_row_
 
OvsdbIdlRowList old_mcast_remote_row_list_
 
OvsdbIdlRowList ucast_local_row_list_
 
bool delete_ovs_
 
OvsdbResourceVxLanId res_vxlan_id_
 
ProcessDeleteOvsReqTaskdel_task_
 
std::set< IntrusiveReferrerback_ref_set_
 

Friends

class LogicalSwitchTable
 
void intrusive_ptr_add_back_ref (IntrusiveReferrer ref, LogicalSwitchEntry *p)
 
void intrusive_ptr_del_back_ref (IntrusiveReferrer ref, LogicalSwitchEntry *p)
 

Additional Inherited Members

- Static Public Member Functions inherited from KSyncEntry
static std::string VrouterErrorToString (uint32_t error)
 
- Static Public Attributes inherited from KSyncEntry
static const size_t kInvalidIndex = 0xFFFFFFFF
 
static const int kDefaultMsgSize = 512
 
- Protected Member Functions inherited from OVSDB::OvsdbDBEntry
virtual bool IsNoTxnEntry ()
 
virtual bool UseBulkTxn ()
 
- Protected Member Functions inherited from KSyncEntry
void SetIndex (size_t index)
 
void SetState (KSyncState state)
 
- Protected Attributes inherited from OVSDB::OvsdbDBEntry
OvsdbDBObjecttable_
 
struct ovsdb_idl_row * ovs_entry_
 
- Protected Attributes inherited from OVSDB::OvsdbEntryBase
KSyncEntry::KSyncEvent ack_event_
 

Detailed Description

Definition at line 65 of file logical_switch_ovsdb.h.

Member Typedef Documentation

typedef std::set<struct ovsdb_idl_row *> OVSDB::LogicalSwitchEntry::OvsdbIdlRowList

Definition at line 67 of file logical_switch_ovsdb.h.

Member Enumeration Documentation

Enumerator
ADD_REQ 
DEL_REQ 
ADD_ACK 
DEL_ACK 
DUP_TUNNEL_KEY_ADD 

Definition at line 68 of file logical_switch_ovsdb.h.

Constructor & Destructor Documentation

LogicalSwitchEntry::LogicalSwitchEntry ( OvsdbDBObject table,
const std::string &  name 
)

Definition at line 37 of file logical_switch_ovsdb.cc.

LogicalSwitchEntry::LogicalSwitchEntry ( OvsdbDBObject table,
const LogicalSwitchEntry key 
)

Definition at line 53 of file logical_switch_ovsdb.cc.

LogicalSwitchEntry::LogicalSwitchEntry ( OvsdbDBObject table,
const PhysicalDeviceVn entry 
)

Definition at line 44 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

LogicalSwitchEntry::LogicalSwitchEntry ( OvsdbDBObject table,
struct ovsdb_idl_row *  entry 
)

Definition at line 62 of file logical_switch_ovsdb.cc.

LogicalSwitchEntry::~LogicalSwitchEntry ( )
virtual

Definition at line 70 of file logical_switch_ovsdb.cc.

Member Function Documentation

void LogicalSwitchEntry::Ack ( bool  success)
virtual

Reimplemented from OVSDB::OvsdbDBEntry.

Definition at line 262 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

void LogicalSwitchEntry::AddMsg ( struct ovsdb_idl_txn *  txn)
virtual

Reimplemented from OVSDB::OvsdbDBEntry.

Definition at line 80 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

void LogicalSwitchEntry::CancelDeleteOvs ( )
private

Definition at line 379 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

void LogicalSwitchEntry::ChangeMsg ( struct ovsdb_idl_txn *  txn)
virtual

Reimplemented from OVSDB::OvsdbDBEntry.

Definition at line 120 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

void LogicalSwitchEntry::DeleteMsg ( struct ovsdb_idl_txn *  txn)
virtual

Reimplemented from OVSDB::OvsdbDBEntry.

Definition at line 124 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

void LogicalSwitchEntry::DeleteOldMcastRemoteMac ( )
private

Definition at line 415 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

void LogicalSwitchEntry::DeleteOvs ( bool  add_change_in_progress)

Definition at line 298 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

const std::string & LogicalSwitchEntry::device_name ( ) const

Definition at line 159 of file logical_switch_ovsdb.cc.

OVSDB::LogicalSwitchEntry::DISALLOW_COPY_AND_ASSIGN ( LogicalSwitchEntry  )
private
bool OVSDB::LogicalSwitchEntry::is_local_mac_ref_set ( ) const
inline

Definition at line 146 of file logical_switch_ovsdb.h.

bool OVSDB::LogicalSwitchEntry::is_mcast_remote_set ( ) const
inline

Definition at line 149 of file logical_switch_ovsdb.h.

bool LogicalSwitchEntry::IsDeleteOvsInProgress ( ) const

Definition at line 175 of file logical_switch_ovsdb.cc.

bool LogicalSwitchEntry::IsLess ( const KSyncEntry entry) const
virtual

Implements KSyncEntry.

Definition at line 194 of file logical_switch_ovsdb.cc.

bool LogicalSwitchEntry::IsLocalMacsRef ( ) const

Definition at line 258 of file logical_switch_ovsdb.cc.

uint32_t OVSDB::LogicalSwitchEntry::mcast_local_row_list_size ( ) const
inline

Definition at line 137 of file logical_switch_ovsdb.h.

const std::string & LogicalSwitchEntry::name ( ) const

Definition at line 155 of file logical_switch_ovsdb.cc.

void LogicalSwitchEntry::NotifyDelete ( struct ovsdb_idl_row *  row)
virtual

Reimplemented from OVSDB::OvsdbDBEntry.

Definition at line 434 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

uint32_t OVSDB::LogicalSwitchEntry::old_mcast_remote_row_list_size ( ) const
inline

Definition at line 143 of file logical_switch_ovsdb.h.

void LogicalSwitchEntry::OvsdbChange ( )
virtual

Reimplemented from OVSDB::OvsdbDBEntry.

Definition at line 150 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

Ip4Address & LogicalSwitchEntry::physical_switch_tunnel_ip ( )

Definition at line 74 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

void LogicalSwitchEntry::ReleaseLocatorCreateReference ( )
private

Definition at line 423 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

OvsdbResourceVxLanId & LogicalSwitchEntry::res_vxlan_id ( )

Definition at line 171 of file logical_switch_ovsdb.cc.

void LogicalSwitchEntry::SendTrace ( Trace  event) const
private

Definition at line 388 of file logical_switch_ovsdb.cc.

void LogicalSwitchEntry::StaleTimerExpired ( )
virtual

Reimplemented from OVSDB::OvsdbDBEntry.

Definition at line 457 of file logical_switch_ovsdb.cc.

bool LogicalSwitchEntry::Sync ( DBEntry db_entry)
virtual

Implements KSyncDBEntry.

Definition at line 179 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

std::string LogicalSwitchEntry::tor_service_node ( ) const

Definition at line 167 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

std::string OVSDB::LogicalSwitchEntry::ToString ( ) const
inlinevirtual

Implements KSyncEntry.

Definition at line 101 of file logical_switch_ovsdb.h.

void LogicalSwitchEntry::TxnDoneNoMessage ( )
virtual

Reimplemented from OVSDB::OvsdbEntryBase.

Definition at line 285 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

uint32_t OVSDB::LogicalSwitchEntry::ucast_local_row_list_size ( ) const
inline

Definition at line 140 of file logical_switch_ovsdb.h.

KSyncEntry * LogicalSwitchEntry::UnresolvedReference ( )
virtual

Implements KSyncEntry.

Definition at line 200 of file logical_switch_ovsdb.cc.

Here is the call graph for this function:

int64_t LogicalSwitchEntry::vxlan_id ( ) const

Definition at line 163 of file logical_switch_ovsdb.cc.

Friends And Related Function Documentation

void intrusive_ptr_add_back_ref ( IntrusiveReferrer  ref,
LogicalSwitchEntry p 
)
friend

Definition at line 28 of file logical_switch_ovsdb.cc.

void intrusive_ptr_del_back_ref ( IntrusiveReferrer  ref,
LogicalSwitchEntry p 
)
friend

Definition at line 32 of file logical_switch_ovsdb.cc.

friend class LogicalSwitchTable
friend

Definition at line 180 of file logical_switch_ovsdb.h.

Member Data Documentation

std::set<IntrusiveReferrer> OVSDB::LogicalSwitchEntry::back_ref_set_
private

Definition at line 215 of file logical_switch_ovsdb.h.

ProcessDeleteOvsReqTask* OVSDB::LogicalSwitchEntry::del_task_
private

Definition at line 211 of file logical_switch_ovsdb.h.

bool OVSDB::LogicalSwitchEntry::delete_ovs_
private

Definition at line 209 of file logical_switch_ovsdb.h.

std::string OVSDB::LogicalSwitchEntry::device_name_
private

Definition at line 190 of file logical_switch_ovsdb.h.

KSyncEntryPtr OVSDB::LogicalSwitchEntry::local_mac_ref_
private

Definition at line 195 of file logical_switch_ovsdb.h.

OvsdbIdlRowList OVSDB::LogicalSwitchEntry::mcast_local_row_list_
private

Definition at line 201 of file logical_switch_ovsdb.h.

struct ovsdb_idl_row* OVSDB::LogicalSwitchEntry::mcast_remote_row_
private

Definition at line 202 of file logical_switch_ovsdb.h.

std::string OVSDB::LogicalSwitchEntry::name_
private

Definition at line 189 of file logical_switch_ovsdb.h.

OvsdbIdlRowList OVSDB::LogicalSwitchEntry::old_mcast_remote_row_list_
private

Definition at line 203 of file logical_switch_ovsdb.h.

KSyncEntryPtr OVSDB::LogicalSwitchEntry::physical_switch_
private

Definition at line 191 of file logical_switch_ovsdb.h.

KSyncEntryPtr OVSDB::LogicalSwitchEntry::pl_create_ref_
private

Definition at line 198 of file logical_switch_ovsdb.h.

OvsdbResourceVxLanId OVSDB::LogicalSwitchEntry::res_vxlan_id_
private

Definition at line 210 of file logical_switch_ovsdb.h.

OvsdbIdlRowList OVSDB::LogicalSwitchEntry::ucast_local_row_list_
private

Definition at line 204 of file logical_switch_ovsdb.h.

int64_t OVSDB::LogicalSwitchEntry::vxlan_id_
private

Definition at line 200 of file logical_switch_ovsdb.h.


The documentation for this class was generated from the following files: