OpenSDN source code
RouteKSyncEntry Class Reference

#include <route_ksync.h>

Inheritance diagram for RouteKSyncEntry:
Collaboration diagram for RouteKSyncEntry:

Public Member Functions

 RouteKSyncEntry (RouteKSyncObject *obj, const RouteKSyncEntry *entry, uint32_t index)
 
 RouteKSyncEntry (RouteKSyncObject *obj, const AgentRoute *route)
 
virtual ~RouteKSyncEntry ()
 
uint32_t prefix_len () const
 
uint32_t label () const
 
bool proxy_arp () const
 
bool flood () const
 
bool flood_dhcp () const
 
bool wait_for_traffic () const
 
MacAddress mac () const
 
NHKSyncEntrynh () const
 
void set_prefix_len (uint32_t len)
 
void set_ip (IpAddress addr)
 
KSyncDBObjectGetObject () const
 
void FillObjectLog (sandesh_op::type op, KSyncRouteInfo &info) 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)
 
bool BuildArpFlags (const DBEntry *rt, const AgentPath *path, const MacAddress &mac)
 
uint8_t CopyReplacementData (NHKSyncEntry *nexthop, RouteKSyncEntry *new_rt)
 
bool IsLearntRoute ()
 
- Public Member Functions inherited from KSyncNetlinkDBEntry
 KSyncNetlinkDBEntry ()
 
 KSyncNetlinkDBEntry (uint32_t index)
 
virtual ~KSyncNetlinkDBEntry ()
 
virtual int MsgLen ()
 
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 ()
 

Private Member Functions

int Encode (sandesh_op::type op, uint8_t replace_plen, char *buf, int buf_len)
 
int DeleteInternal (NHKSyncEntry *nexthop, RouteKSyncEntry *new_rt, char *buf, int buf_len)
 
bool UcIsLess (const KSyncEntry &rhs) const
 
bool McIsLess (const KSyncEntry &rhs) const
 
bool EvpnIsLess (const KSyncEntry &rhs) const
 
bool L2IsLess (const KSyncEntry &rhs) const
 
const NextHopGetActiveNextHop (const AgentRoute *route) const
 
const AgentPathGetActivePath (const AgentRoute *route) const
 
 DISALLOW_COPY_AND_ASSIGN (RouteKSyncEntry)
 

Private Attributes

RouteKSyncObjectksync_obj_
 
Agent::RouteTableType rt_type_
 
uint32_t vrf_id_
 
IpAddress addr_
 
IpAddress src_addr_
 
MacAddress mac_
 
uint32_t prefix_len_
 
KSyncEntryPtr nh_
 
uint32_t label_
 
uint8_t type_
 
bool proxy_arp_
 
bool flood_dhcp_
 
string address_string_
 
TunnelType::Type tunnel_type_
 
bool wait_for_traffic_
 
bool local_vm_peer_route_
 
bool flood_
 
uint32_t ethernet_tag_
 
bool layer2_control_word_
 
bool is_learnt_route_
 

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)
 
- 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 28 of file route_ksync.h.

Constructor & Destructor Documentation

◆ RouteKSyncEntry() [1/2]

RouteKSyncEntry::RouteKSyncEntry ( RouteKSyncObject obj,
const RouteKSyncEntry entry,
uint32_t  index 
)

Definition at line 39 of file route_ksync.cc.

◆ RouteKSyncEntry() [2/2]

RouteKSyncEntry::RouteKSyncEntry ( RouteKSyncObject obj,
const AgentRoute route 
)

Definition at line 56 of file route_ksync.cc.

Here is the call graph for this function:

◆ ~RouteKSyncEntry()

RouteKSyncEntry::~RouteKSyncEntry ( )
virtual

Definition at line 109 of file route_ksync.cc.

Member Function Documentation

◆ AddMsg()

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

Implements KSyncNetlinkDBEntry.

Definition at line 664 of file route_ksync.cc.

Here is the call graph for this function:

◆ BuildArpFlags()

bool RouteKSyncEntry::BuildArpFlags ( const DBEntry rt,
const AgentPath path,
const MacAddress mac 
)

Definition at line 254 of file route_ksync.cc.

Here is the call graph for this function:

◆ ChangeMsg()

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

Implements KSyncNetlinkDBEntry.

Definition at line 671 of file route_ksync.cc.

Here is the call graph for this function:

◆ CopyReplacementData()

uint8_t RouteKSyncEntry::CopyReplacementData ( NHKSyncEntry nexthop,
RouteKSyncEntry new_rt 
)

Definition at line 722 of file route_ksync.cc.

Here is the call graph for this function:

◆ DeleteInternal()

int RouteKSyncEntry::DeleteInternal ( NHKSyncEntry nexthop,
RouteKSyncEntry new_rt,
char *  buf,
int  buf_len 
)
private

Definition at line 749 of file route_ksync.cc.

Here is the call graph for this function:

◆ DeleteMsg()

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

Implements KSyncNetlinkDBEntry.

Definition at line 679 of file route_ksync.cc.

Here is the call graph for this function:

◆ DISALLOW_COPY_AND_ASSIGN()

RouteKSyncEntry::DISALLOW_COPY_AND_ASSIGN ( RouteKSyncEntry  )
private

◆ Encode()

int RouteKSyncEntry::Encode ( sandesh_op::type  op,
uint8_t  replace_plen,
char *  buf,
int  buf_len 
)
private

Definition at line 553 of file route_ksync.cc.

Here is the call graph for this function:

◆ EvpnIsLess()

bool RouteKSyncEntry::EvpnIsLess ( const KSyncEntry rhs) const
private

◆ FillObjectLog()

void RouteKSyncEntry::FillObjectLog ( sandesh_op::type  op,
KSyncRouteInfo &  info 
) const

Definition at line 528 of file route_ksync.cc.

Here is the call graph for this function:

◆ flood()

bool RouteKSyncEntry::flood ( ) const
inline

Definition at line 38 of file route_ksync.h.

◆ flood_dhcp()

bool RouteKSyncEntry::flood_dhcp ( ) const
inline

Definition at line 39 of file route_ksync.h.

◆ GetActiveNextHop()

const NextHop * RouteKSyncEntry::GetActiveNextHop ( const AgentRoute route) const
private

Definition at line 402 of file route_ksync.cc.

Here is the call graph for this function:

◆ GetActivePath()

const AgentPath * RouteKSyncEntry::GetActivePath ( const AgentRoute route) const
private

Definition at line 413 of file route_ksync.cc.

Here is the call graph for this function:

◆ GetObject()

KSyncDBObject * RouteKSyncEntry::GetObject ( ) const
virtual

Implements KSyncEntry.

Definition at line 112 of file route_ksync.cc.

◆ IsLearntRoute()

bool RouteKSyncEntry::IsLearntRoute ( )
inline

Definition at line 61 of file route_ksync.h.

◆ IsLess()

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

Implements KSyncEntry.

Definition at line 152 of file route_ksync.cc.

Here is the call graph for this function:

◆ L2IsLess()

bool RouteKSyncEntry::L2IsLess ( const KSyncEntry rhs) const
private

Definition at line 142 of file route_ksync.cc.

◆ label()

uint32_t RouteKSyncEntry::label ( ) const
inline

Definition at line 36 of file route_ksync.h.

◆ mac()

MacAddress RouteKSyncEntry::mac ( void  ) const
inline

Definition at line 41 of file route_ksync.h.

◆ McIsLess()

bool RouteKSyncEntry::McIsLess ( const KSyncEntry rhs) const
private

Definition at line 129 of file route_ksync.cc.

◆ nh()

NHKSyncEntry* RouteKSyncEntry::nh ( ) const
inline

Definition at line 42 of file route_ksync.h.

◆ prefix_len()

uint32_t RouteKSyncEntry::prefix_len ( ) const
inline

Definition at line 35 of file route_ksync.h.

◆ proxy_arp()

bool RouteKSyncEntry::proxy_arp ( ) const
inline

Definition at line 37 of file route_ksync.h.

◆ set_ip()

void RouteKSyncEntry::set_ip ( IpAddress  addr)
inline

Definition at line 46 of file route_ksync.h.

◆ set_prefix_len()

void RouteKSyncEntry::set_prefix_len ( uint32_t  len)
inline

Definition at line 45 of file route_ksync.h.

◆ Sync()

bool RouteKSyncEntry::Sync ( DBEntry e)
virtual

Implements KSyncDBEntry.

Definition at line 418 of file route_ksync.cc.

Here is the call graph for this function:

◆ ToString()

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

Implements KSyncEntry.

Definition at line 192 of file route_ksync.cc.

Here is the call graph for this function:

◆ UcIsLess()

bool RouteKSyncEntry::UcIsLess ( const KSyncEntry rhs) const
private

Definition at line 116 of file route_ksync.cc.

◆ UnresolvedReference()

KSyncEntry * RouteKSyncEntry::UnresolvedReference ( )
virtual

Implements KSyncEntry.

Definition at line 760 of file route_ksync.cc.

Here is the call graph for this function:

◆ wait_for_traffic()

bool RouteKSyncEntry::wait_for_traffic ( ) const
inline

Definition at line 40 of file route_ksync.h.

Member Data Documentation

◆ addr_

IpAddress RouteKSyncEntry::addr_
private

Definition at line 77 of file route_ksync.h.

◆ address_string_

string RouteKSyncEntry::address_string_
private

Definition at line 86 of file route_ksync.h.

◆ ethernet_tag_

uint32_t RouteKSyncEntry::ethernet_tag_
private

Definition at line 91 of file route_ksync.h.

◆ flood_

bool RouteKSyncEntry::flood_
private

Definition at line 90 of file route_ksync.h.

◆ flood_dhcp_

bool RouteKSyncEntry::flood_dhcp_
private

Definition at line 85 of file route_ksync.h.

◆ is_learnt_route_

bool RouteKSyncEntry::is_learnt_route_
private

Definition at line 93 of file route_ksync.h.

◆ ksync_obj_

RouteKSyncObject* RouteKSyncEntry::ksync_obj_
private

Definition at line 74 of file route_ksync.h.

◆ label_

uint32_t RouteKSyncEntry::label_
private

Definition at line 82 of file route_ksync.h.

◆ layer2_control_word_

bool RouteKSyncEntry::layer2_control_word_
private

Definition at line 92 of file route_ksync.h.

◆ local_vm_peer_route_

bool RouteKSyncEntry::local_vm_peer_route_
private

Definition at line 89 of file route_ksync.h.

◆ mac_

MacAddress RouteKSyncEntry::mac_
private

Definition at line 79 of file route_ksync.h.

◆ nh_

KSyncEntryPtr RouteKSyncEntry::nh_
private

Definition at line 81 of file route_ksync.h.

◆ prefix_len_

uint32_t RouteKSyncEntry::prefix_len_
private

Definition at line 80 of file route_ksync.h.

◆ proxy_arp_

bool RouteKSyncEntry::proxy_arp_
private

Definition at line 84 of file route_ksync.h.

◆ rt_type_

Agent::RouteTableType RouteKSyncEntry::rt_type_
private

Definition at line 75 of file route_ksync.h.

◆ src_addr_

IpAddress RouteKSyncEntry::src_addr_
private

Definition at line 78 of file route_ksync.h.

◆ tunnel_type_

TunnelType::Type RouteKSyncEntry::tunnel_type_
private

Definition at line 87 of file route_ksync.h.

◆ type_

uint8_t RouteKSyncEntry::type_
private

Definition at line 83 of file route_ksync.h.

◆ vrf_id_

uint32_t RouteKSyncEntry::vrf_id_
private

Definition at line 76 of file route_ksync.h.

◆ wait_for_traffic_

bool RouteKSyncEntry::wait_for_traffic_
private

Definition at line 88 of file route_ksync.h.


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