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

#include <nexthop_ksync.h>

Inheritance diagram for NHKSyncEntry:
Collaboration diagram for NHKSyncEntry:

Classes

class  KSyncComponentNH
 

Public Member Functions

 NHKSyncEntry (NHKSyncObject *obj, const NHKSyncEntry *entry, uint32_t index)
 
 NHKSyncEntry (NHKSyncObject *obj, const NextHop *nh)
 
virtual ~NHKSyncEntry ()
 
const NextHopnh ()
 
NextHop::Type type () const
 
InterfaceKSyncEntryinterface () const
 
std::vector< KSyncEntryPtrinterface_list () const
 
std::vector< int32_t > encap_valid_list () const
 
InterfaceKSyncEntrycrypt_interface () const
 
KSyncDBObjectGetObject () const
 
virtual bool IsLess (const KSyncEntry &rhs) const
 
virtual std::string ToString () const
 
virtual KSyncEntryUnresolvedReference ()
 
virtual bool Sync (DBEntry *e)
 
virtual int AddMsg (char *buf, int buf_len)
 
virtual int ChangeMsg (char *buf, int buf_len)
 
virtual int DeleteMsg (char *buf, int buf_len)
 
void FillObjectLog (sandesh_op::type op, KSyncNhInfo &info) const
 
uint32_t nh_id () const
 
void SetEncap (InterfaceKSyncEntry *if_ksync, std::vector< int8_t > &encap, const int32_t index=-1)
 
bool is_bridge () const
 
bool is_vxlan_routing () const
 
int MsgLen ()
 
uint8_t SetEcmpFieldsToUse ()
 
bool KSyncEntrySandesh (Sandesh *resp)
 
COMPOSITETYPE CompositeType () const
 
- Public Member Functions inherited from KSyncNetlinkDBEntry
 KSyncNetlinkDBEntry ()
 
 KSyncNetlinkDBEntry (uint32_t index)
 
virtual ~KSyncNetlinkDBEntry ()
 
bool Add ()
 
bool Change ()
 
bool Delete ()
 
- 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 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 DBState
virtual ~DBState ()
 

Static Public Attributes

static const int kDefaultNhMsgSize = 4096
 
static const int MAX_VR_PHY_INTF = 3
 
- Static Public Attributes inherited from KSyncEntry
static const size_t kInvalidIndex = 0xFFFFFFFF
 
static const int kDefaultMsgSize = 512
 

Private Types

typedef std::vector
< KSyncComponentNH
KSyncComponentNHList
 

Private Member Functions

void SetKSyncNhListSandeshData (KSyncNhListSandeshData *data) const
 
int Encode (sandesh_op::type op, char *buf, int buf_len)
 
 DISALLOW_COPY_AND_ASSIGN (NHKSyncEntry)
 

Private Attributes

NHKSyncObjectksync_obj_
 
NextHop::Type type_
 
uint32_t vrf_id_
 
uint32_t label_
 
KSyncEntryPtr interface_
 
IpAddress sip_
 
IpAddress dip_
 
uint16_t sport_
 
uint16_t dport_
 
MacAddress smac_
 
MacAddress dmac_
 
MacAddress rewrite_dmac_
 
bool valid_
 
bool policy_
 
bool is_mcast_nh_
 
bool defer_
 
KSyncComponentNHList component_nh_list_
 
const NextHopnh_
 
uint16_t vlan_tag_
 
bool is_local_ecmp_nh_
 
bool is_bridge_
 
bool is_vxlan_routing_
 
COMPOSITETYPE comp_type_
 
bool validate_mcast_src_
 
TunnelType tunnel_type_
 
uint8_t prefix_len_
 
uint32_t nh_id_
 
ComponentNHKeyList component_nh_key_list_
 
bool bridge_nh_
 
bool flood_unknown_unicast_
 
EcmpHashFields ecmp_hash_fieds_
 
KSyncEntryPtr pbb_child_nh_
 
uint32_t isid_
 
uint32_t pbb_label_
 
bool learning_enabled_
 
bool need_pbb_tunnel_
 
bool etree_leaf_
 
bool layer2_control_word_
 
bool crypt_
 
bool crypt_path_available_
 
KSyncEntryPtr crypt_interface_
 
TunnelType::Type transport_tunnel_type_
 
std::vector< KSyncEntryPtrinterface_list_
 
std::vector< int32_t > encap_valid_list_
 
std::vector< MacAddressdmac_list_
 

Additional Inherited Members

- 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
 
- Static Public Member Functions inherited from KSyncEntry
static std::string VrouterErrorToString (uint32_t error)
 
- Protected Member Functions inherited from KSyncEntry
void SetIndex (size_t index)
 
void SetState (KSyncState state)
 

Detailed Description

Definition at line 25 of file nexthop_ksync.h.

Member Typedef Documentation

Definition at line 91 of file nexthop_ksync.h.

Constructor & Destructor Documentation

NHKSyncEntry::NHKSyncEntry ( NHKSyncObject obj,
const NHKSyncEntry entry,
uint32_t  index 
)

Definition at line 31 of file nexthop_ksync.cc.

NHKSyncEntry::NHKSyncEntry ( NHKSyncObject obj,
const NextHop nh 
)

Definition at line 65 of file nexthop_ksync.cc.

NHKSyncEntry::~NHKSyncEntry ( )
virtual

Definition at line 251 of file nexthop_ksync.cc.

Member Function Documentation

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

Implements KSyncNetlinkDBEntry.

Definition at line 1444 of file nexthop_ksync.cc.

Here is the call graph for this function:

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

Implements KSyncNetlinkDBEntry.

Definition at line 1452 of file nexthop_ksync.cc.

Here is the call graph for this function:

COMPOSITETYPE NHKSyncEntry::CompositeType ( ) const
inline

Definition at line 70 of file nexthop_ksync.h.

InterfaceKSyncEntry* NHKSyncEntry::crypt_interface ( ) const
inline

Definition at line 45 of file nexthop_ksync.h.

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

Implements KSyncNetlinkDBEntry.

Definition at line 1460 of file nexthop_ksync.cc.

Here is the call graph for this function:

NHKSyncEntry::DISALLOW_COPY_AND_ASSIGN ( NHKSyncEntry  )
private
std::vector<int32_t> NHKSyncEntry::encap_valid_list ( ) const
inline

Definition at line 42 of file nexthop_ksync.h.

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

Definition at line 962 of file nexthop_ksync.cc.

Here is the call graph for this function:

void NHKSyncEntry::FillObjectLog ( sandesh_op::type  op,
KSyncNhInfo &  info 
) const

Definition at line 1323 of file nexthop_ksync.cc.

Here is the call graph for this function:

KSyncDBObject * NHKSyncEntry::GetObject ( ) const
virtual

Implements KSyncEntry.

Definition at line 254 of file nexthop_ksync.cc.

InterfaceKSyncEntry* NHKSyncEntry::interface ( ) const
inline

Definition at line 36 of file nexthop_ksync.h.

std::vector<KSyncEntryPtr> NHKSyncEntry::interface_list ( ) const
inline

Definition at line 39 of file nexthop_ksync.h.

bool NHKSyncEntry::is_bridge ( ) const
inline

Definition at line 61 of file nexthop_ksync.h.

bool NHKSyncEntry::is_vxlan_routing ( ) const
inline

Definition at line 62 of file nexthop_ksync.h.

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

Implements KSyncEntry.

Definition at line 258 of file nexthop_ksync.cc.

Here is the call graph for this function:

bool NHKSyncEntry::KSyncEntrySandesh ( Sandesh resp)

Definition at line 1747 of file nexthop_ksync.cc.

Here is the call graph for this function:

int NHKSyncEntry::MsgLen ( )
inlinevirtual

Reimplemented from KSyncNetlinkDBEntry.

Definition at line 64 of file nexthop_ksync.h.

const NextHop* NHKSyncEntry::nh ( )
inline

Definition at line 34 of file nexthop_ksync.h.

uint32_t NHKSyncEntry::nh_id ( ) const
inline

Definition at line 58 of file nexthop_ksync.h.

uint8_t NHKSyncEntry::SetEcmpFieldsToUse ( )

Definition at line 1638 of file nexthop_ksync.cc.

Here is the call graph for this function:

void NHKSyncEntry::SetEncap ( InterfaceKSyncEntry if_ksync,
std::vector< int8_t > &  encap,
const int32_t  index = -1 
)

Definition at line 1589 of file nexthop_ksync.cc.

Here is the call graph for this function:

void NHKSyncEntry::SetKSyncNhListSandeshData ( KSyncNhListSandeshData *  data) const
private

Definition at line 1689 of file nexthop_ksync.cc.

bool NHKSyncEntry::Sync ( DBEntry e)
virtual

Implements KSyncDBEntry.

Definition at line 540 of file nexthop_ksync.cc.

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

Implements KSyncEntry.

Definition at line 450 of file nexthop_ksync.cc.

Here is the call graph for this function:

NextHop::Type NHKSyncEntry::type ( ) const
inline

Definition at line 35 of file nexthop_ksync.h.

KSyncEntry * NHKSyncEntry::UnresolvedReference ( )
virtual

Implements KSyncEntry.

Definition at line 1468 of file nexthop_ksync.cc.

Here is the call graph for this function:

Member Data Documentation

bool NHKSyncEntry::bridge_nh_
private

Definition at line 122 of file nexthop_ksync.h.

COMPOSITETYPE NHKSyncEntry::comp_type_
private

Definition at line 116 of file nexthop_ksync.h.

ComponentNHKeyList NHKSyncEntry::component_nh_key_list_
private

Definition at line 121 of file nexthop_ksync.h.

KSyncComponentNHList NHKSyncEntry::component_nh_list_
private

Definition at line 110 of file nexthop_ksync.h.

bool NHKSyncEntry::crypt_
private

Definition at line 132 of file nexthop_ksync.h.

KSyncEntryPtr NHKSyncEntry::crypt_interface_
private

Definition at line 134 of file nexthop_ksync.h.

bool NHKSyncEntry::crypt_path_available_
private

Definition at line 133 of file nexthop_ksync.h.

bool NHKSyncEntry::defer_
private

Definition at line 109 of file nexthop_ksync.h.

IpAddress NHKSyncEntry::dip_
private

Definition at line 100 of file nexthop_ksync.h.

MacAddress NHKSyncEntry::dmac_
private

Definition at line 104 of file nexthop_ksync.h.

std::vector<MacAddress> NHKSyncEntry::dmac_list_
private

Definition at line 138 of file nexthop_ksync.h.

uint16_t NHKSyncEntry::dport_
private

Definition at line 102 of file nexthop_ksync.h.

EcmpHashFields NHKSyncEntry::ecmp_hash_fieds_
private

Definition at line 124 of file nexthop_ksync.h.

std::vector<int32_t> NHKSyncEntry::encap_valid_list_
private

Definition at line 137 of file nexthop_ksync.h.

bool NHKSyncEntry::etree_leaf_
private

Definition at line 130 of file nexthop_ksync.h.

bool NHKSyncEntry::flood_unknown_unicast_
private

Definition at line 123 of file nexthop_ksync.h.

KSyncEntryPtr NHKSyncEntry::interface_
private

Definition at line 98 of file nexthop_ksync.h.

std::vector<KSyncEntryPtr> NHKSyncEntry::interface_list_
private

Definition at line 136 of file nexthop_ksync.h.

bool NHKSyncEntry::is_bridge_
private

Definition at line 114 of file nexthop_ksync.h.

bool NHKSyncEntry::is_local_ecmp_nh_
private

Definition at line 113 of file nexthop_ksync.h.

bool NHKSyncEntry::is_mcast_nh_
private

Definition at line 108 of file nexthop_ksync.h.

bool NHKSyncEntry::is_vxlan_routing_
private

Definition at line 115 of file nexthop_ksync.h.

uint32_t NHKSyncEntry::isid_
private

Definition at line 126 of file nexthop_ksync.h.

const int NHKSyncEntry::kDefaultNhMsgSize = 4096
static

Definition at line 27 of file nexthop_ksync.h.

NHKSyncObject* NHKSyncEntry::ksync_obj_
private

Definition at line 94 of file nexthop_ksync.h.

uint32_t NHKSyncEntry::label_
private

Definition at line 97 of file nexthop_ksync.h.

bool NHKSyncEntry::layer2_control_word_
private

Definition at line 131 of file nexthop_ksync.h.

bool NHKSyncEntry::learning_enabled_
private

Definition at line 128 of file nexthop_ksync.h.

const int NHKSyncEntry::MAX_VR_PHY_INTF = 3
static

Definition at line 28 of file nexthop_ksync.h.

bool NHKSyncEntry::need_pbb_tunnel_
private

Definition at line 129 of file nexthop_ksync.h.

const NextHop* NHKSyncEntry::nh_
private

Definition at line 111 of file nexthop_ksync.h.

uint32_t NHKSyncEntry::nh_id_
private

Definition at line 120 of file nexthop_ksync.h.

KSyncEntryPtr NHKSyncEntry::pbb_child_nh_
private

Definition at line 125 of file nexthop_ksync.h.

uint32_t NHKSyncEntry::pbb_label_
private

Definition at line 127 of file nexthop_ksync.h.

bool NHKSyncEntry::policy_
private

Definition at line 107 of file nexthop_ksync.h.

uint8_t NHKSyncEntry::prefix_len_
private

Definition at line 119 of file nexthop_ksync.h.

MacAddress NHKSyncEntry::rewrite_dmac_
private

Definition at line 105 of file nexthop_ksync.h.

IpAddress NHKSyncEntry::sip_
private

Definition at line 99 of file nexthop_ksync.h.

MacAddress NHKSyncEntry::smac_
private

Definition at line 103 of file nexthop_ksync.h.

uint16_t NHKSyncEntry::sport_
private

Definition at line 101 of file nexthop_ksync.h.

TunnelType::Type NHKSyncEntry::transport_tunnel_type_
private

Definition at line 135 of file nexthop_ksync.h.

TunnelType NHKSyncEntry::tunnel_type_
private

Definition at line 118 of file nexthop_ksync.h.

NextHop::Type NHKSyncEntry::type_
private

Definition at line 95 of file nexthop_ksync.h.

bool NHKSyncEntry::valid_
private

Definition at line 106 of file nexthop_ksync.h.

bool NHKSyncEntry::validate_mcast_src_
private

Definition at line 117 of file nexthop_ksync.h.

uint16_t NHKSyncEntry::vlan_tag_
private

Definition at line 112 of file nexthop_ksync.h.

uint32_t NHKSyncEntry::vrf_id_
private

Definition at line 96 of file nexthop_ksync.h.


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