OpenSDN source code
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 ()
 
bool IsInSync () const
 
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< KSyncComponentNHKSyncComponentNHList
 

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< KSyncEntryKSyncEntryPtr
 
- 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 27 of file nexthop_ksync.h.

Member Typedef Documentation

◆ KSyncComponentNHList

Definition at line 93 of file nexthop_ksync.h.

Constructor & Destructor Documentation

◆ NHKSyncEntry() [1/2]

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

Definition at line 33 of file nexthop_ksync.cc.

◆ NHKSyncEntry() [2/2]

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

Definition at line 67 of file nexthop_ksync.cc.

◆ ~NHKSyncEntry()

NHKSyncEntry::~NHKSyncEntry ( )
virtual

Definition at line 253 of file nexthop_ksync.cc.

Member Function Documentation

◆ AddMsg()

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

Implements KSyncNetlinkDBEntry.

Definition at line 1446 of file nexthop_ksync.cc.

Here is the call graph for this function:

◆ ChangeMsg()

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

Implements KSyncNetlinkDBEntry.

Definition at line 1454 of file nexthop_ksync.cc.

Here is the call graph for this function:

◆ CompositeType()

COMPOSITETYPE NHKSyncEntry::CompositeType ( ) const
inline

Definition at line 72 of file nexthop_ksync.h.

◆ crypt_interface()

InterfaceKSyncEntry* NHKSyncEntry::crypt_interface ( ) const
inline

Definition at line 47 of file nexthop_ksync.h.

◆ DeleteMsg()

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

Implements KSyncNetlinkDBEntry.

Definition at line 1462 of file nexthop_ksync.cc.

Here is the call graph for this function:

◆ DISALLOW_COPY_AND_ASSIGN()

NHKSyncEntry::DISALLOW_COPY_AND_ASSIGN ( NHKSyncEntry  )
private

◆ encap_valid_list()

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

Definition at line 44 of file nexthop_ksync.h.

◆ Encode()

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

Definition at line 964 of file nexthop_ksync.cc.

Here is the call graph for this function:

◆ FillObjectLog()

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

Definition at line 1325 of file nexthop_ksync.cc.

Here is the call graph for this function:

◆ GetObject()

KSyncDBObject * NHKSyncEntry::GetObject ( ) const
virtual

Implements KSyncEntry.

Definition at line 256 of file nexthop_ksync.cc.

◆ interface()

InterfaceKSyncEntry* NHKSyncEntry::interface ( ) const
inline

Definition at line 38 of file nexthop_ksync.h.

◆ interface_list()

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

Definition at line 41 of file nexthop_ksync.h.

◆ is_bridge()

bool NHKSyncEntry::is_bridge ( ) const
inline

Definition at line 63 of file nexthop_ksync.h.

◆ is_vxlan_routing()

bool NHKSyncEntry::is_vxlan_routing ( ) const
inline

Definition at line 64 of file nexthop_ksync.h.

◆ IsLess()

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

Implements KSyncEntry.

Definition at line 260 of file nexthop_ksync.cc.

Here is the call graph for this function:

◆ KSyncEntrySandesh()

bool NHKSyncEntry::KSyncEntrySandesh ( Sandesh resp)

Definition at line 1749 of file nexthop_ksync.cc.

Here is the call graph for this function:

◆ MsgLen()

int NHKSyncEntry::MsgLen ( )
inlinevirtual

Reimplemented from KSyncNetlinkDBEntry.

Definition at line 66 of file nexthop_ksync.h.

◆ nh()

const NextHop* NHKSyncEntry::nh ( )
inline

Definition at line 36 of file nexthop_ksync.h.

◆ nh_id()

uint32_t NHKSyncEntry::nh_id ( ) const
inline

Definition at line 60 of file nexthop_ksync.h.

◆ SetEcmpFieldsToUse()

uint8_t NHKSyncEntry::SetEcmpFieldsToUse ( )

Definition at line 1640 of file nexthop_ksync.cc.

Here is the call graph for this function:

◆ SetEncap()

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

Definition at line 1591 of file nexthop_ksync.cc.

Here is the call graph for this function:

◆ SetKSyncNhListSandeshData()

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

Definition at line 1691 of file nexthop_ksync.cc.

◆ Sync()

bool NHKSyncEntry::Sync ( DBEntry e)
virtual

Implements KSyncDBEntry.

Definition at line 542 of file nexthop_ksync.cc.

◆ ToString()

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

Implements KSyncEntry.

Definition at line 452 of file nexthop_ksync.cc.

Here is the call graph for this function:

◆ type()

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

Definition at line 37 of file nexthop_ksync.h.

◆ UnresolvedReference()

KSyncEntry * NHKSyncEntry::UnresolvedReference ( )
virtual

Implements KSyncEntry.

Definition at line 1470 of file nexthop_ksync.cc.

Here is the call graph for this function:

Member Data Documentation

◆ bridge_nh_

bool NHKSyncEntry::bridge_nh_
private

Definition at line 124 of file nexthop_ksync.h.

◆ comp_type_

COMPOSITETYPE NHKSyncEntry::comp_type_
private

Definition at line 118 of file nexthop_ksync.h.

◆ component_nh_key_list_

ComponentNHKeyList NHKSyncEntry::component_nh_key_list_
private

Definition at line 123 of file nexthop_ksync.h.

◆ component_nh_list_

KSyncComponentNHList NHKSyncEntry::component_nh_list_
private

Definition at line 112 of file nexthop_ksync.h.

◆ crypt_

bool NHKSyncEntry::crypt_
private

Definition at line 134 of file nexthop_ksync.h.

◆ crypt_interface_

KSyncEntryPtr NHKSyncEntry::crypt_interface_
private

Definition at line 136 of file nexthop_ksync.h.

◆ crypt_path_available_

bool NHKSyncEntry::crypt_path_available_
private

Definition at line 135 of file nexthop_ksync.h.

◆ defer_

bool NHKSyncEntry::defer_
private

Definition at line 111 of file nexthop_ksync.h.

◆ dip_

IpAddress NHKSyncEntry::dip_
private

Definition at line 102 of file nexthop_ksync.h.

◆ dmac_

MacAddress NHKSyncEntry::dmac_
private

Definition at line 106 of file nexthop_ksync.h.

◆ dmac_list_

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

Definition at line 140 of file nexthop_ksync.h.

◆ dport_

uint16_t NHKSyncEntry::dport_
private

Definition at line 104 of file nexthop_ksync.h.

◆ ecmp_hash_fieds_

EcmpHashFields NHKSyncEntry::ecmp_hash_fieds_
private

Definition at line 126 of file nexthop_ksync.h.

◆ encap_valid_list_

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

Definition at line 139 of file nexthop_ksync.h.

◆ etree_leaf_

bool NHKSyncEntry::etree_leaf_
private

Definition at line 132 of file nexthop_ksync.h.

◆ flood_unknown_unicast_

bool NHKSyncEntry::flood_unknown_unicast_
private

Definition at line 125 of file nexthop_ksync.h.

◆ interface_

KSyncEntryPtr NHKSyncEntry::interface_
private

Definition at line 100 of file nexthop_ksync.h.

◆ interface_list_

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

Definition at line 138 of file nexthop_ksync.h.

◆ is_bridge_

bool NHKSyncEntry::is_bridge_
private

Definition at line 116 of file nexthop_ksync.h.

◆ is_local_ecmp_nh_

bool NHKSyncEntry::is_local_ecmp_nh_
private

Definition at line 115 of file nexthop_ksync.h.

◆ is_mcast_nh_

bool NHKSyncEntry::is_mcast_nh_
private

Definition at line 110 of file nexthop_ksync.h.

◆ is_vxlan_routing_

bool NHKSyncEntry::is_vxlan_routing_
private

Definition at line 117 of file nexthop_ksync.h.

◆ isid_

uint32_t NHKSyncEntry::isid_
private

Definition at line 128 of file nexthop_ksync.h.

◆ kDefaultNhMsgSize

const int NHKSyncEntry::kDefaultNhMsgSize = 4096
static

Definition at line 29 of file nexthop_ksync.h.

◆ ksync_obj_

NHKSyncObject* NHKSyncEntry::ksync_obj_
private

Definition at line 96 of file nexthop_ksync.h.

◆ label_

uint32_t NHKSyncEntry::label_
private

Definition at line 99 of file nexthop_ksync.h.

◆ layer2_control_word_

bool NHKSyncEntry::layer2_control_word_
private

Definition at line 133 of file nexthop_ksync.h.

◆ learning_enabled_

bool NHKSyncEntry::learning_enabled_
private

Definition at line 130 of file nexthop_ksync.h.

◆ MAX_VR_PHY_INTF

const int NHKSyncEntry::MAX_VR_PHY_INTF = 3
static

Definition at line 30 of file nexthop_ksync.h.

◆ need_pbb_tunnel_

bool NHKSyncEntry::need_pbb_tunnel_
private

Definition at line 131 of file nexthop_ksync.h.

◆ nh_

const NextHop* NHKSyncEntry::nh_
private

Definition at line 113 of file nexthop_ksync.h.

◆ nh_id_

uint32_t NHKSyncEntry::nh_id_
private

Definition at line 122 of file nexthop_ksync.h.

◆ pbb_child_nh_

KSyncEntryPtr NHKSyncEntry::pbb_child_nh_
private

Definition at line 127 of file nexthop_ksync.h.

◆ pbb_label_

uint32_t NHKSyncEntry::pbb_label_
private

Definition at line 129 of file nexthop_ksync.h.

◆ policy_

bool NHKSyncEntry::policy_
private

Definition at line 109 of file nexthop_ksync.h.

◆ prefix_len_

uint8_t NHKSyncEntry::prefix_len_
private

Definition at line 121 of file nexthop_ksync.h.

◆ rewrite_dmac_

MacAddress NHKSyncEntry::rewrite_dmac_
private

Definition at line 107 of file nexthop_ksync.h.

◆ sip_

IpAddress NHKSyncEntry::sip_
private

Definition at line 101 of file nexthop_ksync.h.

◆ smac_

MacAddress NHKSyncEntry::smac_
private

Definition at line 105 of file nexthop_ksync.h.

◆ sport_

uint16_t NHKSyncEntry::sport_
private

Definition at line 103 of file nexthop_ksync.h.

◆ transport_tunnel_type_

TunnelType::Type NHKSyncEntry::transport_tunnel_type_
private

Definition at line 137 of file nexthop_ksync.h.

◆ tunnel_type_

TunnelType NHKSyncEntry::tunnel_type_
private

Definition at line 120 of file nexthop_ksync.h.

◆ type_

NextHop::Type NHKSyncEntry::type_
private

Definition at line 97 of file nexthop_ksync.h.

◆ valid_

bool NHKSyncEntry::valid_
private

Definition at line 108 of file nexthop_ksync.h.

◆ validate_mcast_src_

bool NHKSyncEntry::validate_mcast_src_
private

Definition at line 119 of file nexthop_ksync.h.

◆ vlan_tag_

uint16_t NHKSyncEntry::vlan_tag_
private

Definition at line 114 of file nexthop_ksync.h.

◆ vrf_id_

uint32_t NHKSyncEntry::vrf_id_
private

Definition at line 98 of file nexthop_ksync.h.


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