OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 ()
 
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
< 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 26 of file route_ksync.h.

Constructor & Destructor Documentation

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

Definition at line 37 of file route_ksync.cc.

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

Definition at line 54 of file route_ksync.cc.

Here is the call graph for this function:

RouteKSyncEntry::~RouteKSyncEntry ( )
virtual

Definition at line 107 of file route_ksync.cc.

Member Function Documentation

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

Implements KSyncNetlinkDBEntry.

Definition at line 662 of file route_ksync.cc.

Here is the call graph for this function:

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

Definition at line 252 of file route_ksync.cc.

Here is the call graph for this function:

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

Implements KSyncNetlinkDBEntry.

Definition at line 669 of file route_ksync.cc.

Here is the call graph for this function:

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

Definition at line 720 of file route_ksync.cc.

Here is the call graph for this function:

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

Definition at line 747 of file route_ksync.cc.

Here is the call graph for this function:

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

Implements KSyncNetlinkDBEntry.

Definition at line 677 of file route_ksync.cc.

Here is the call graph for this function:

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

Definition at line 551 of file route_ksync.cc.

Here is the call graph for this function:

bool RouteKSyncEntry::EvpnIsLess ( const KSyncEntry rhs) const
private
void RouteKSyncEntry::FillObjectLog ( sandesh_op::type  op,
KSyncRouteInfo &  info 
) const

Definition at line 526 of file route_ksync.cc.

Here is the call graph for this function:

bool RouteKSyncEntry::flood ( ) const
inline

Definition at line 36 of file route_ksync.h.

bool RouteKSyncEntry::flood_dhcp ( ) const
inline

Definition at line 37 of file route_ksync.h.

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

Definition at line 400 of file route_ksync.cc.

Here is the call graph for this function:

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

Definition at line 411 of file route_ksync.cc.

Here is the call graph for this function:

KSyncDBObject * RouteKSyncEntry::GetObject ( ) const
virtual

Implements KSyncEntry.

Definition at line 110 of file route_ksync.cc.

bool RouteKSyncEntry::IsLearntRoute ( )
inline

Definition at line 59 of file route_ksync.h.

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

Implements KSyncEntry.

Definition at line 150 of file route_ksync.cc.

Here is the call graph for this function:

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

Definition at line 140 of file route_ksync.cc.

uint32_t RouteKSyncEntry::label ( ) const
inline

Definition at line 34 of file route_ksync.h.

MacAddress RouteKSyncEntry::mac ( void  ) const
inline

Definition at line 39 of file route_ksync.h.

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

Definition at line 127 of file route_ksync.cc.

NHKSyncEntry* RouteKSyncEntry::nh ( ) const
inline

Definition at line 40 of file route_ksync.h.

uint32_t RouteKSyncEntry::prefix_len ( ) const
inline

Definition at line 33 of file route_ksync.h.

bool RouteKSyncEntry::proxy_arp ( ) const
inline

Definition at line 35 of file route_ksync.h.

void RouteKSyncEntry::set_ip ( IpAddress  addr)
inline

Definition at line 44 of file route_ksync.h.

void RouteKSyncEntry::set_prefix_len ( uint32_t  len)
inline

Definition at line 43 of file route_ksync.h.

bool RouteKSyncEntry::Sync ( DBEntry e)
virtual

Implements KSyncDBEntry.

Definition at line 416 of file route_ksync.cc.

Here is the call graph for this function:

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

Implements KSyncEntry.

Definition at line 190 of file route_ksync.cc.

Here is the call graph for this function:

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

Definition at line 114 of file route_ksync.cc.

KSyncEntry * RouteKSyncEntry::UnresolvedReference ( )
virtual

Implements KSyncEntry.

Definition at line 758 of file route_ksync.cc.

Here is the call graph for this function:

bool RouteKSyncEntry::wait_for_traffic ( ) const
inline

Definition at line 38 of file route_ksync.h.

Member Data Documentation

IpAddress RouteKSyncEntry::addr_
private

Definition at line 75 of file route_ksync.h.

string RouteKSyncEntry::address_string_
private

Definition at line 84 of file route_ksync.h.

uint32_t RouteKSyncEntry::ethernet_tag_
private

Definition at line 89 of file route_ksync.h.

bool RouteKSyncEntry::flood_
private

Definition at line 88 of file route_ksync.h.

bool RouteKSyncEntry::flood_dhcp_
private

Definition at line 83 of file route_ksync.h.

bool RouteKSyncEntry::is_learnt_route_
private

Definition at line 91 of file route_ksync.h.

RouteKSyncObject* RouteKSyncEntry::ksync_obj_
private

Definition at line 72 of file route_ksync.h.

uint32_t RouteKSyncEntry::label_
private

Definition at line 80 of file route_ksync.h.

bool RouteKSyncEntry::layer2_control_word_
private

Definition at line 90 of file route_ksync.h.

bool RouteKSyncEntry::local_vm_peer_route_
private

Definition at line 87 of file route_ksync.h.

MacAddress RouteKSyncEntry::mac_
private

Definition at line 77 of file route_ksync.h.

KSyncEntryPtr RouteKSyncEntry::nh_
private

Definition at line 79 of file route_ksync.h.

uint32_t RouteKSyncEntry::prefix_len_
private

Definition at line 78 of file route_ksync.h.

bool RouteKSyncEntry::proxy_arp_
private

Definition at line 82 of file route_ksync.h.

Agent::RouteTableType RouteKSyncEntry::rt_type_
private

Definition at line 73 of file route_ksync.h.

IpAddress RouteKSyncEntry::src_addr_
private

Definition at line 76 of file route_ksync.h.

TunnelType::Type RouteKSyncEntry::tunnel_type_
private

Definition at line 85 of file route_ksync.h.

uint8_t RouteKSyncEntry::type_
private

Definition at line 81 of file route_ksync.h.

uint32_t RouteKSyncEntry::vrf_id_
private

Definition at line 74 of file route_ksync.h.

bool RouteKSyncEntry::wait_for_traffic_
private

Definition at line 86 of file route_ksync.h.


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