OpenSDN source code
OVSDB::PhysicalPortEntry Class Reference

#include <physical_port_ovsdb.h>

Inheritance diagram for OVSDB::PhysicalPortEntry:
Collaboration diagram for OVSDB::PhysicalPortEntry:

Public Types

typedef std::map< uint32_t, LogicalSwitchEntry * > VlanLSTable
 
typedef std::map< uint32_t, struct ovsdb_idl_row * > VlanStatsTable
 
- 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< KSyncEntryKSyncEntryPtr
 

Public Member Functions

 PhysicalPortEntry (PhysicalPortTable *table, const std::string &dev_name, const std::string &name)
 
 ~PhysicalPortEntry ()
 
virtual bool Add ()
 
virtual bool Change ()
 
virtual bool Delete ()
 
bool IsLess (const KSyncEntry &) const
 
std::string ToString () const
 
KSyncEntryUnresolvedReference ()
 
void TriggerUpdate ()
 
void AddBinding (int16_t vlan, LogicalSwitchEntry *ls)
 
void DeleteBinding (int16_t vlan, LogicalSwitchEntry *ls)
 
const std::string & name () const
 
const std::string & dev_name () const
 
const VlanLSTablebinding_table () const
 
const VlanLSTableovs_binding_table () const
 
const VlanStatsTablestats_table () const
 
- Public Member Functions inherited from OVSDB::OvsdbEntry
 OvsdbEntry (OvsdbObject *table)
 
 OvsdbEntry (OvsdbObject *table, uint32_t index)
 
virtual ~OvsdbEntry ()
 
struct ovsdb_idl_row * ovs_entry ()
 
KSyncObjectGetObject () const
 
void Ack (bool success)
 
- 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 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)
 
- Public Member Functions inherited from OVSDB::OvsdbEntryBase
virtual void TxnDoneNoMessage ()
 
KSyncEntry::KSyncEvent ack_event ()
 

Private Member Functions

void Encode (struct ovsdb_idl_txn *)
 
bool OverrideOvs ()
 
 DISALLOW_COPY_AND_ASSIGN (PhysicalPortEntry)
 

Private Attributes

std::string name_
 
std::string dev_name_
 
VlanLSTable binding_table_
 
VlanLSTable ovs_binding_table_
 
VlanStatsTable stats_table_
 

Friends

class PhysicalPortTable
 

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 KSyncEntry
void SetIndex (size_t index)
 
void SetState (KSyncState state)
 
- Protected Attributes inherited from OVSDB::OvsdbEntry
OvsdbObjecttable_
 
struct ovsdb_idl_row * ovs_entry_
 
- Protected Attributes inherited from OVSDB::OvsdbEntryBase
KSyncEntry::KSyncEvent ack_event_
 

Detailed Description

Definition at line 38 of file physical_port_ovsdb.h.

Member Typedef Documentation

◆ VlanLSTable

Definition at line 40 of file physical_port_ovsdb.h.

◆ VlanStatsTable

typedef std::map<uint32_t, struct ovsdb_idl_row *> OVSDB::PhysicalPortEntry::VlanStatsTable

Definition at line 41 of file physical_port_ovsdb.h.

Constructor & Destructor Documentation

◆ PhysicalPortEntry()

PhysicalPortEntry::PhysicalPortEntry ( PhysicalPortTable table,
const std::string &  dev_name,
const std::string &  name 
)

Definition at line 24 of file physical_port_ovsdb.cc.

◆ ~PhysicalPortEntry()

PhysicalPortEntry::~PhysicalPortEntry ( )

Definition at line 30 of file physical_port_ovsdb.cc.

Member Function Documentation

◆ Add()

bool PhysicalPortEntry::Add ( )
virtual

Reimplemented from OVSDB::OvsdbEntry.

Definition at line 33 of file physical_port_ovsdb.cc.

Here is the call graph for this function:

◆ AddBinding()

void PhysicalPortEntry::AddBinding ( int16_t  vlan,
LogicalSwitchEntry ls 
)

Definition at line 92 of file physical_port_ovsdb.cc.

◆ binding_table()

const PhysicalPortEntry::VlanLSTable & PhysicalPortEntry::binding_table ( ) const

Definition at line 109 of file physical_port_ovsdb.cc.

◆ Change()

bool PhysicalPortEntry::Change ( )
virtual

Reimplemented from OVSDB::OvsdbEntry.

Definition at line 41 of file physical_port_ovsdb.cc.

Here is the call graph for this function:

◆ Delete()

bool PhysicalPortEntry::Delete ( )
virtual

Reimplemented from OVSDB::OvsdbEntry.

Definition at line 45 of file physical_port_ovsdb.cc.

◆ DeleteBinding()

void PhysicalPortEntry::DeleteBinding ( int16_t  vlan,
LogicalSwitchEntry ls 
)

Definition at line 96 of file physical_port_ovsdb.cc.

◆ dev_name()

const std::string & PhysicalPortEntry::dev_name ( ) const

Definition at line 104 of file physical_port_ovsdb.cc.

◆ DISALLOW_COPY_AND_ASSIGN()

OVSDB::PhysicalPortEntry::DISALLOW_COPY_AND_ASSIGN ( PhysicalPortEntry  )
private

◆ Encode()

void PhysicalPortEntry::Encode ( struct ovsdb_idl_txn *  txn)
private

Definition at line 77 of file physical_port_ovsdb.cc.

Here is the call graph for this function:

◆ IsLess()

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

Implements KSyncEntry.

Definition at line 50 of file physical_port_ovsdb.cc.

◆ name()

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

Definition at line 100 of file physical_port_ovsdb.cc.

◆ OverrideOvs()

bool PhysicalPortEntry::OverrideOvs ( )
private

Definition at line 123 of file physical_port_ovsdb.cc.

Here is the call graph for this function:

◆ ovs_binding_table()

const PhysicalPortEntry::VlanLSTable & PhysicalPortEntry::ovs_binding_table ( ) const

Definition at line 114 of file physical_port_ovsdb.cc.

◆ stats_table()

const PhysicalPortEntry::VlanStatsTable & PhysicalPortEntry::stats_table ( ) const

Definition at line 119 of file physical_port_ovsdb.cc.

◆ ToString()

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

Implements KSyncEntry.

Definition at line 51 of file physical_port_ovsdb.h.

◆ TriggerUpdate()

void PhysicalPortEntry::TriggerUpdate ( )

Definition at line 64 of file physical_port_ovsdb.cc.

Here is the call graph for this function:

◆ UnresolvedReference()

KSyncEntry * PhysicalPortEntry::UnresolvedReference ( )
virtual

Implements KSyncEntry.

Definition at line 60 of file physical_port_ovsdb.cc.

Friends And Related Function Documentation

◆ PhysicalPortTable

friend class PhysicalPortTable
friend

Definition at line 64 of file physical_port_ovsdb.h.

Member Data Documentation

◆ binding_table_

VlanLSTable OVSDB::PhysicalPortEntry::binding_table_
private

Definition at line 69 of file physical_port_ovsdb.h.

◆ dev_name_

std::string OVSDB::PhysicalPortEntry::dev_name_
private

Definition at line 68 of file physical_port_ovsdb.h.

◆ name_

std::string OVSDB::PhysicalPortEntry::name_
private

Definition at line 67 of file physical_port_ovsdb.h.

◆ ovs_binding_table_

VlanLSTable OVSDB::PhysicalPortEntry::ovs_binding_table_
private

Definition at line 70 of file physical_port_ovsdb.h.

◆ stats_table_

VlanStatsTable OVSDB::PhysicalPortEntry::stats_table_
private

Definition at line 71 of file physical_port_ovsdb.h.


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