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

#include <flowtable_ksync.h>

Inheritance diagram for FlowTableKSyncEntry:
Collaboration diagram for FlowTableKSyncEntry:

Public Member Functions

 FlowTableKSyncEntry (FlowTableKSyncObject *obj)
 
 FlowTableKSyncEntry (FlowTableKSyncObject *obj, FlowEntry *flow, uint32_t hash_id)
 
virtual ~FlowTableKSyncEntry ()
 
void Reset ()
 
void Reset (FlowEntry *flow, uint32_t hash_id)
 
FlowEntryPtr flow_entry () const
 
uint32_t hash_id () const
 
void set_hash_id (uint32_t hash_id)
 
int Encode (sandesh_op::type op, char *buf, int buf_len)
 
KSyncObjectGetObject () const
 
std::string ToString () const
 
bool IsLess (const KSyncEntry &rhs) const
 
int AddMsg (char *buf, int buf_len)
 
int ChangeMsg (char *buf, int buf_len)
 
int DeleteMsg (char *buf, int buf_len)
 
void SetPcapData (FlowEntryPtr fe, std::vector< int8_t > &data)
 
virtual bool pre_alloc_rx_buffer () const
 
virtual uint32_t GetTableIndex () const
 
virtual bool Sync ()
 
virtual KSyncEntryUnresolvedReference ()
 
virtual bool ShouldReEvalBackReference () const
 
bool AllowDeleteStateComp ()
 
virtual void ErrorHandler (int, uint32_t, KSyncEvent) const
 
virtual std::string VrouterError (uint32_t error) const
 
uint8_t gen_id ()
 
void set_gen_id (uint8_t gen_id)
 
uint8_t evict_gen_id ()
 
void set_evict_gen_id (uint8_t gen_id)
 
uint8_t vrouter_gen_id ()
 
uint32_t vrouter_hash_id () const
 
FlowEvent::Event last_event () const
 
void ReleaseToken ()
 
void ResetKSyncResponseInfo ()
 
void SetKSyncResponseInfo (int ksync_error, uint32_t flow_handle, uint8_t gen_id, uint64_t evict_flow_bytes, uint64_t evict_flow_packets, int32_t evict_flow_oflow)
 
const FlowKSyncResponseInfoksync_response_info () const
 
int ksync_response_error () const
 
uint32_t old_first_mirror_index ()
 
void set_transaction_id (uint32_t transaction_id)
 
uint32_t get_transaction_id () const
 
- Public Member Functions inherited from KSyncNetlinkEntry
 KSyncNetlinkEntry ()
 
 KSyncNetlinkEntry (uint32_t index)
 
virtual ~KSyncNetlinkEntry ()
 
virtual int MsgLen ()
 
bool Add ()
 
bool Change ()
 
bool Delete ()
 
- 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
 
bool IsResolved ()
 
virtual bool IsDataResolved ()
 
virtual void Response ()
 
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)
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (FlowTableKSyncEntry)
 

Private Attributes

FlowEntryPtr flow_entry_
 
uint8_t gen_id_
 
uint8_t evict_gen_id_
 
uint8_t vrouter_gen_id_
 
uint32_t vrouter_hash_id_
 
uint32_t hash_id_
 
uint32_t old_reverse_flow_id_
 
uint32_t old_action_
 
uint32_t old_component_nh_idx_
 
uint32_t old_first_mirror_index_
 
uint32_t old_second_mirror_index_
 
bool trap_flow_
 
uint16_t old_drop_reason_
 
bool ecmp_
 
bool enable_rpf_
 
uint32_t src_nh_id_
 
FlowEvent::Event last_event_
 
boost::shared_ptr< Tokentoken_
 
FlowKSyncResponseInfo ksync_response_info_
 
FlowTableKSyncObjectksync_obj_
 
boost::intrusive::list_member_hook free_list_node_
 
uint32_t qos_config_idx
 
uint32_t transaction_id_
 
uint8_t underlay_gw_index
 

Friends

class KSyncFlowEntryFreeList
 
class KSyncFlowIndexManager
 

Additional Inherited Members

- 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
 
- 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)
 

Detailed Description

Definition at line 49 of file flowtable_ksync.h.

Constructor & Destructor Documentation

FlowTableKSyncEntry::FlowTableKSyncEntry ( FlowTableKSyncObject obj)

Definition at line 122 of file flowtable_ksync.cc.

FlowTableKSyncEntry::FlowTableKSyncEntry ( FlowTableKSyncObject obj,
FlowEntry flow,
uint32_t  hash_id 
)

Definition at line 127 of file flowtable_ksync.cc.

FlowTableKSyncEntry::~FlowTableKSyncEntry ( )
virtual

Definition at line 134 of file flowtable_ksync.cc.

Member Function Documentation

int FlowTableKSyncEntry::AddMsg ( char *  buf,
int  buf_len 
)
virtual

Implements KSyncNetlinkEntry.

Definition at line 575 of file flowtable_ksync.cc.

bool FlowTableKSyncEntry::AllowDeleteStateComp ( )
inlinevirtual

Reimplemented from KSyncNetlinkEntry.

Definition at line 85 of file flowtable_ksync.h.

int FlowTableKSyncEntry::ChangeMsg ( char *  buf,
int  buf_len 
)
virtual

Implements KSyncNetlinkEntry.

Definition at line 579 of file flowtable_ksync.cc.

int FlowTableKSyncEntry::DeleteMsg ( char *  buf,
int  buf_len 
)
virtual

Implements KSyncNetlinkEntry.

Definition at line 583 of file flowtable_ksync.cc.

FlowTableKSyncEntry::DISALLOW_COPY_AND_ASSIGN ( FlowTableKSyncEntry  )
private
int FlowTableKSyncEntry::Encode ( sandesh_op::type  op,
char *  buf,
int  buf_len 
)

Definition at line 233 of file flowtable_ksync.cc.

Here is the call graph for this function:

void FlowTableKSyncEntry::ErrorHandler ( int  err,
uint32_t  seq_no,
KSyncEvent  event 
) const
virtual

Reimplemented from KSyncEntry.

Definition at line 614 of file flowtable_ksync.cc.

Here is the call graph for this function:

uint8_t FlowTableKSyncEntry::evict_gen_id ( )
inline

Definition at line 90 of file flowtable_ksync.h.

FlowEntryPtr FlowTableKSyncEntry::flow_entry ( ) const
inline

Definition at line 59 of file flowtable_ksync.h.

uint8_t FlowTableKSyncEntry::gen_id ( )
inline

Definition at line 88 of file flowtable_ksync.h.

uint32_t FlowTableKSyncEntry::get_transaction_id ( ) const
inline

Definition at line 124 of file flowtable_ksync.h.

KSyncObject * FlowTableKSyncEntry::GetObject ( ) const
virtual

Implements KSyncEntry.

Definition at line 170 of file flowtable_ksync.cc.

uint32_t FlowTableKSyncEntry::GetTableIndex ( ) const
virtual

Reimplemented from KSyncEntry.

Definition at line 174 of file flowtable_ksync.cc.

Here is the call graph for this function:

uint32_t FlowTableKSyncEntry::hash_id ( ) const
inline

Definition at line 60 of file flowtable_ksync.h.

bool FlowTableKSyncEntry::IsLess ( const KSyncEntry rhs) const
virtual

Implements KSyncEntry.

Definition at line 599 of file flowtable_ksync.cc.

int FlowTableKSyncEntry::ksync_response_error ( ) const
inline

Definition at line 114 of file flowtable_ksync.h.

const FlowKSyncResponseInfo* FlowTableKSyncEntry::ksync_response_info ( ) const
inline

Definition at line 110 of file flowtable_ksync.h.

FlowEvent::Event FlowTableKSyncEntry::last_event ( ) const
inline

Definition at line 94 of file flowtable_ksync.h.

uint32_t FlowTableKSyncEntry::old_first_mirror_index ( )
inline

Definition at line 118 of file flowtable_ksync.h.

virtual bool FlowTableKSyncEntry::pre_alloc_rx_buffer ( ) const
inlinevirtual

Reimplemented from KSyncEntry.

Definition at line 74 of file flowtable_ksync.h.

void FlowTableKSyncEntry::ReleaseToken ( )

Definition at line 179 of file flowtable_ksync.cc.

void FlowTableKSyncEntry::Reset ( )

Definition at line 137 of file flowtable_ksync.cc.

Here is the call graph for this function:

void FlowTableKSyncEntry::Reset ( FlowEntry flow,
uint32_t  hash_id 
)

Definition at line 163 of file flowtable_ksync.cc.

Here is the call graph for this function:

void FlowTableKSyncEntry::ResetKSyncResponseInfo ( )
inline

Definition at line 96 of file flowtable_ksync.h.

Here is the call graph for this function:

void FlowTableKSyncEntry::set_evict_gen_id ( uint8_t  gen_id)
inline

Definition at line 91 of file flowtable_ksync.h.

Here is the call graph for this function:

void FlowTableKSyncEntry::set_gen_id ( uint8_t  gen_id)
inline

Definition at line 89 of file flowtable_ksync.h.

Here is the call graph for this function:

void FlowTableKSyncEntry::set_hash_id ( uint32_t  hash_id)
inline

Definition at line 61 of file flowtable_ksync.h.

Here is the call graph for this function:

void FlowTableKSyncEntry::set_transaction_id ( uint32_t  transaction_id)
inline

Definition at line 121 of file flowtable_ksync.h.

void FlowTableKSyncEntry::SetKSyncResponseInfo ( int  ksync_error,
uint32_t  flow_handle,
uint8_t  gen_id,
uint64_t  evict_flow_bytes,
uint64_t  evict_flow_packets,
int32_t  evict_flow_oflow 
)
inline

Definition at line 99 of file flowtable_ksync.h.

Here is the call graph for this function:

void FlowTableKSyncEntry::SetPcapData ( FlowEntryPtr  fe,
std::vector< int8_t > &  data 
)

Definition at line 184 of file flowtable_ksync.cc.

virtual bool FlowTableKSyncEntry::ShouldReEvalBackReference ( ) const
inlinevirtual

Reimplemented from KSyncEntry.

Definition at line 80 of file flowtable_ksync.h.

bool FlowTableKSyncEntry::Sync ( void  )
virtual

Implements KSyncNetlinkEntry.

Definition at line 462 of file flowtable_ksync.cc.

Here is the call graph for this function:

std::string FlowTableKSyncEntry::ToString ( ) const
virtual

Implements KSyncEntry.

Definition at line 587 of file flowtable_ksync.cc.

KSyncEntry * FlowTableKSyncEntry::UnresolvedReference ( )
virtual

Implements KSyncEntry.

Definition at line 567 of file flowtable_ksync.cc.

uint8_t FlowTableKSyncEntry::vrouter_gen_id ( )
inline

Definition at line 92 of file flowtable_ksync.h.

uint32_t FlowTableKSyncEntry::vrouter_hash_id ( ) const
inline

Definition at line 93 of file flowtable_ksync.h.

std::string FlowTableKSyncEntry::VrouterError ( uint32_t  error) const
virtual

Reimplemented from KSyncEntry.

Definition at line 625 of file flowtable_ksync.cc.

Here is the call graph for this function:

Friends And Related Function Documentation

friend class KSyncFlowEntryFreeList
friend

Definition at line 124 of file flowtable_ksync.h.

friend class KSyncFlowIndexManager
friend

Definition at line 128 of file flowtable_ksync.h.

Member Data Documentation

bool FlowTableKSyncEntry::ecmp_
private

Definition at line 148 of file flowtable_ksync.h.

bool FlowTableKSyncEntry::enable_rpf_
private

Definition at line 149 of file flowtable_ksync.h.

uint8_t FlowTableKSyncEntry::evict_gen_id_
private

Definition at line 132 of file flowtable_ksync.h.

FlowEntryPtr FlowTableKSyncEntry::flow_entry_
private

Definition at line 130 of file flowtable_ksync.h.

boost::intrusive::list_member_hook FlowTableKSyncEntry::free_list_node_
private

Definition at line 155 of file flowtable_ksync.h.

uint8_t FlowTableKSyncEntry::gen_id_
private

Definition at line 131 of file flowtable_ksync.h.

uint32_t FlowTableKSyncEntry::hash_id_
private

Definition at line 140 of file flowtable_ksync.h.

FlowTableKSyncObject* FlowTableKSyncEntry::ksync_obj_
private

Definition at line 154 of file flowtable_ksync.h.

FlowKSyncResponseInfo FlowTableKSyncEntry::ksync_response_info_
private

Definition at line 153 of file flowtable_ksync.h.

FlowEvent::Event FlowTableKSyncEntry::last_event_
private

Definition at line 151 of file flowtable_ksync.h.

uint32_t FlowTableKSyncEntry::old_action_
private

Definition at line 142 of file flowtable_ksync.h.

uint32_t FlowTableKSyncEntry::old_component_nh_idx_
private

Definition at line 143 of file flowtable_ksync.h.

uint16_t FlowTableKSyncEntry::old_drop_reason_
private

Definition at line 147 of file flowtable_ksync.h.

uint32_t FlowTableKSyncEntry::old_first_mirror_index_
private

Definition at line 144 of file flowtable_ksync.h.

uint32_t FlowTableKSyncEntry::old_reverse_flow_id_
private

Definition at line 141 of file flowtable_ksync.h.

uint32_t FlowTableKSyncEntry::old_second_mirror_index_
private

Definition at line 145 of file flowtable_ksync.h.

uint32_t FlowTableKSyncEntry::qos_config_idx
private

Definition at line 156 of file flowtable_ksync.h.

uint32_t FlowTableKSyncEntry::src_nh_id_
private

Definition at line 150 of file flowtable_ksync.h.

boost::shared_ptr<Token> FlowTableKSyncEntry::token_
private

Definition at line 152 of file flowtable_ksync.h.

uint32_t FlowTableKSyncEntry::transaction_id_
private

Definition at line 157 of file flowtable_ksync.h.

bool FlowTableKSyncEntry::trap_flow_
private

Definition at line 146 of file flowtable_ksync.h.

uint8_t FlowTableKSyncEntry::underlay_gw_index
private

Definition at line 158 of file flowtable_ksync.h.

uint8_t FlowTableKSyncEntry::vrouter_gen_id_
private

Definition at line 133 of file flowtable_ksync.h.

uint32_t FlowTableKSyncEntry::vrouter_hash_id_
private

Definition at line 138 of file flowtable_ksync.h.


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