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

#include <evpn_route.h>

Inheritance diagram for EvpnRoute:
Collaboration diagram for EvpnRoute:

Public Member Functions

 EvpnRoute (const EvpnPrefix &prefix)
 
virtual int CompareTo (const Route &rhs) const
 
virtual std::string ToString () const
 
virtual std::string ToXmppIdString () const
 
virtual bool IsValid () const
 
const EvpnPrefixGetPrefix () const
 
virtual KeyPtr GetDBRequestKey () const
 
virtual void SetKey (const DBRequestKey *reqkey)
 
virtual void BuildProtoPrefix (BgpProtoPrefix *proto_prefix, const BgpAttr *attr=NULL, uint32_t label=0, uint32_t l3_label=0) const
 
virtual void BuildBgpProtoNextHop (std::vector< uint8_t > &nh, IpAddress nexthop) const
 
virtual bool IsLess (const DBEntry &genrhs) const
 
- Public Member Functions inherited from BgpRoute
 BgpRoute ()
 
 ~BgpRoute ()
 
bool HasPaths () const
 
const BgpPathBestPath () const
 
void InsertPath (BgpPath *path)
 
void DeletePath (BgpPath *path)
 
const BgpPathFindPath (BgpPath::PathSource src) const
 
const BgpPathFindPath (const IPeer *peer, bool include_secondary=false) const
 
BgpPathFindPath (const IPeer *peer, bool include_secondary=false)
 
BgpPathFindPath (const IpAddress &nexthop)
 
BgpPathFindPath (BgpPath::PathSource src, const IPeer *peer, uint32_t path_id)
 
BgpPathFindPath (BgpPath::PathSource src, uint32_t path_id)
 
bool RemovePath (BgpPath::PathSource src, const IPeer *peer=NULL, uint32_t path_id=0)
 
bool RemovePath (BgpPath::PathSource src, uint32_t path_id)
 
bool RemovePath (const IPeer *peer)
 
bool IsUsable () const
 
bool DuplicateForwardingPath (const BgpPath *in_path) const
 
BgpPathFindSecondaryPath (BgpRoute *src_rt, BgpPath::PathSource src, const IPeer *peer, uint32_t path_id)
 
bool RemoveSecondaryPath (const BgpRoute *src_rt, BgpPath::PathSource src, const IPeer *peer, uint32_t path_id)
 
virtual RouteDistinguisher GetRouteDistinguisher () const
 
void NotifyOrDelete ()
 
BgpTabletable ()
 
const BgpTabletable () const
 
size_t count () const
 
void FillRouteInfo (const BgpTable *table, ShowRouteBrief *show_route) const
 
void FillRouteInfo (const BgpTable *table, ShowRoute *show_route, const std::string &source="", const std::string &protocol="") const
 
uint32_t SubClusterId () const
 
void AddExtCommunitySubCluster (BgpPath *path)
 
- Public Member Functions inherited from Route
 Route ()
 
virtual ~Route ()
 
bool operator< (const Route &rhs) const
 
const Pathfront () const
 
void insert (const Path *path)
 
void remove (const Path *path)
 
void Sort (Compare compare, const Path *prev_front)
 
const PathListGetPathList () const
 
PathListGetPathList ()
 
- Public Member Functions inherited from DBEntry
 DBEntry ()
 
virtual ~DBEntry ()
 
bool operator< (const DBEntry &rhs) const
 
- Public Member Functions inherited from DBEntryBase
 DBEntryBase ()
 
virtual ~DBEntryBase ()
 
virtual bool IsMoreSpecific (const std::string &match) const
 
virtual bool IsLessSpecific (const std::string &match) const
 
void SetState (DBTableBase *tbl_base, ListenerId listener, DBState *state)
 
void ClearState (DBTableBase *tbl_base, ListenerId listener)
 
DBStateGetState (DBTableBase *tbl_base, ListenerId listener) const
 
const DBStateGetState (const DBTableBase *tbl_base, ListenerId listener) const
 
bool is_state_empty (DBTablePartBase *tpart)
 
bool is_state_empty_unlocked (DBTablePartBase *tpart)
 
void Delete ()
 
void MarkDelete ()
 
void ClearDelete ()
 
bool IsDeleted () const
 
void set_onlist ()
 
void clear_onlist ()
 
bool is_onlist ()
 
void SetOnRemoveQ ()
 
bool IsOnRemoveQ ()
 
void ClearOnRemoveQ ()
 
void set_last_change_at (uint64_t time)
 
void set_last_change_at_to_now ()
 
const uint64_t last_change_at () const
 
const std::string last_change_at_str () const
 
void set_last_update_at (uint64_t time)
 
void set_last_update_at_to_now ()
 
const uint64_t last_update_at () const
 
DBTablePartBaseget_table_partition () const
 
void set_table_partition (DBTablePartBase *tpart)
 
DBTableBaseget_table () const
 
void Notify ()
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (EvpnRoute)
 

Private Attributes

EvpnPrefix prefix_
 
std::string xmpp_id_str_
 

Additional Inherited Members

- Public Types inherited from Route
typedef
boost::intrusive::member_hook
< Path,
boost::intrusive::list_member_hook
<>,&Path::node_
PathListMember
 
typedef boost::intrusive::list
< Path, PathListMember
PathList
 
typedef bool(* Compare )(const Path &path1, const Path &path2)
 
- Public Types inherited from DBEntryBase
typedef DBTableBase::ListenerId ListenerId
 
typedef std::unique_ptr
< DBRequestKey
KeyPtr
 
- Public Attributes inherited from DBEntryBase
boost::intrusive::list_member_hook chg_list_
 

Detailed Description

Definition at line 154 of file bgp/evpn/evpn_route.h.

Constructor & Destructor Documentation

EvpnRoute::EvpnRoute ( const EvpnPrefix prefix)
explicit

Definition at line 1194 of file bgp/evpn/evpn_route.cc.

Member Function Documentation

void EvpnRoute::BuildBgpProtoNextHop ( std::vector< uint8_t > &  nh,
IpAddress  nexthop 
) const
virtual

Reimplemented from BgpRoute.

Definition at line 1278 of file bgp/evpn/evpn_route.cc.

void EvpnRoute::BuildProtoPrefix ( BgpProtoPrefix proto_prefix,
const BgpAttr attr = NULL,
uint32_t  label = 0,
uint32_t  l3_label = 0 
) const
virtual

Reimplemented from BgpRoute.

Definition at line 1273 of file bgp/evpn/evpn_route.cc.

Here is the call graph for this function:

int EvpnRoute::CompareTo ( const Route rhs) const
virtual

Implements Route.

Definition at line 1198 of file bgp/evpn/evpn_route.cc.

Here is the call graph for this function:

EvpnRoute::DISALLOW_COPY_AND_ASSIGN ( EvpnRoute  )
private
DBEntryBase::KeyPtr EvpnRoute::GetDBRequestKey ( ) const
virtual

Implements DBEntryBase.

Definition at line 1285 of file bgp/evpn/evpn_route.cc.

Here is the call graph for this function:

const EvpnPrefix& EvpnRoute::GetPrefix ( ) const
inline

Definition at line 162 of file bgp/evpn/evpn_route.h.

virtual bool EvpnRoute::IsLess ( const DBEntry genrhs) const
inlinevirtual

Implements DBEntry.

Definition at line 173 of file bgp/evpn/evpn_route.h.

Here is the call graph for this function:

bool EvpnRoute::IsValid ( ) const
virtual

Reimplemented from BgpRoute.

Definition at line 1213 of file bgp/evpn/evpn_route.cc.

Here is the call graph for this function:

void EvpnRoute::SetKey ( const DBRequestKey reqkey)
virtual

Implements DBEntry.

Definition at line 1267 of file bgp/evpn/evpn_route.cc.

string EvpnRoute::ToString ( ) const
virtual

Implements DBEntryBase.

Definition at line 1203 of file bgp/evpn/evpn_route.cc.

Here is the call graph for this function:

string EvpnRoute::ToXmppIdString ( ) const
virtual

Reimplemented from BgpRoute.

Definition at line 1207 of file bgp/evpn/evpn_route.cc.

Here is the call graph for this function:

Member Data Documentation

EvpnPrefix EvpnRoute::prefix_
private

Definition at line 180 of file bgp/evpn/evpn_route.h.

std::string EvpnRoute::xmpp_id_str_
mutableprivate

Definition at line 181 of file bgp/evpn/evpn_route.h.


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