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

#include <bgp_path.h>

Inheritance diagram for BgpSecondaryPath:
Collaboration diagram for BgpSecondaryPath:

Public Member Functions

 BgpSecondaryPath (const IPeer *peer, uint32_t path_id, PathSource src, const BgpAttrPtr attr, uint32_t flags, uint32_t label, uint32_t l3_label=0)
 
virtual bool IsReplicated () const
 
void SetReplicateInfo (const BgpTable *table, const BgpRoute *rt)
 
virtual ~BgpSecondaryPath ()
 
RouteDistinguisher GetPrimaryRouteDistinguisher () const
 
const BgpTablesrc_table () const
 
const BgpRoutesrc_rt () const
 
- Public Member Functions inherited from BgpPath
 BgpPath (const IPeer *peer, uint32_t path_id, PathSource src, const BgpAttrPtr ptr, uint32_t flags, uint32_t label, uint32_t l3_label=0)
 
 BgpPath (const IPeer *peer, PathSource src, const BgpAttrPtr attr, uint32_t flags, uint32_t label, uint32_t l3_label=0)
 
 BgpPath (uint32_t path_id, PathSource src, const BgpAttrPtr attr, uint32_t flags=0, uint32_t label=0, uint32_t l3_label=0)
 
 BgpPath (PathSource src, const BgpAttrPtr attr, uint32_t flags=0, uint32_t label=0, uint32_t l3_label=0)
 
virtual ~BgpPath ()
 
void AddExtCommunitySubCluster (uint32_t subcluster_id)
 
RouteDistinguisher GetSourceRouteDistinguisher () const
 
bool IsVrfOriginated () const
 
IPeerGetPeer ()
 
const IPeerGetPeer () const
 
const uint32_t GetPathId () const
 
void UpdatePeerRefCount (int count, Address::Family family) const
 
void SetAttr (const BgpAttrPtr attr, const BgpAttrPtr original_attr)
 
const BgpAttrGetAttr () const
 
const BgpAttrGetOriginalAttr () const
 
uint32_t GetLabel () const
 
uint32_t GetL3Label () const
 
bool IsFeasible () const
 
bool IsResolutionFeasible () const
 
bool IsAliased () const
 
bool IsResolved () const
 
uint32_t GetFlags () const
 
std::vector< std::string > GetFlagsStringList () const
 
PathSource GetSource () const
 
std::string GetSourceString (bool combine_bgp_and_xmpp=false) const
 
bool IsStale () const
 
bool IsLlgrStale () const
 
void SetPolicyReject ()
 
void ResetPolicyReject ()
 
bool IsPolicyReject () const
 
void SetStale ()
 
void ResetStale ()
 
void SetResolveNextHop ()
 
void ResetResolveNextHop ()
 
void SetLlgrStale ()
 
void ResetLlgrStale ()
 
bool NeedsResolution () const
 
bool CheckErmVpn () const
 
void ResetCheckErmVpn ()
 
void SetCheckErmVpn ()
 
virtual std::string ToString () const
 
int PathCompare (const BgpPath &rhs, bool allow_ecmp) const
 
bool PathSameNeighborAs (const BgpPath &rhs) const
 
- Public Member Functions inherited from Path
 Path ()
 
virtual ~Path ()
 
const uint64_t time_stamp_usecs () const
 
void set_time_stamp_usecs (uint64_t time_stamp_usecs)
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (BgpSecondaryPath)
 

Private Attributes

const BgpTablesrc_table_
 
const BgpRoutesrc_entry_
 

Additional Inherited Members

- Public Types inherited from BgpPath
enum  PathFlag {
  AsPathLooped = 1 << 0, NoNeighborAs = 1 << 1, Stale = 1 << 2, NoTunnelEncap = 1 << 3,
  OriginatorIdLooped = 1 << 4, ResolveNexthop = 1 << 5, ResolvedPath = 1 << 6, RoutingPolicyReject = 1 << 7,
  LlgrStale = 1 << 8, ClusterListLooped = 1 << 9, AliasedPath = 1 << 10, CheckGlobalErmVpnRoute = 1 << 11
}
 
enum  PathSource {
  None = 0, BGP_XMPP = 1, ServiceChain = 2, StaticRoute = 3,
  Aggregate = 4, Local = 5
}
 
- Static Public Member Functions inherited from BgpPath
static std::string PathIdString (uint32_t path_id)
 
- Static Public Attributes inherited from BgpPath
static const uint32_t INFEASIBLE_MASK
 

Detailed Description

Definition at line 162 of file bgp_path.h.

Constructor & Destructor Documentation

BgpSecondaryPath::BgpSecondaryPath ( const IPeer peer,
uint32_t  path_id,
PathSource  src,
const BgpAttrPtr  attr,
uint32_t  flags,
uint32_t  label,
uint32_t  l3_label = 0 
)

Definition at line 294 of file bgp_path.cc.

virtual BgpSecondaryPath::~BgpSecondaryPath ( )
inlinevirtual

Definition at line 177 of file bgp_path.h.

Member Function Documentation

BgpSecondaryPath::DISALLOW_COPY_AND_ASSIGN ( BgpSecondaryPath  )
private
RouteDistinguisher BgpSecondaryPath::GetPrimaryRouteDistinguisher ( ) const

Definition at line 300 of file bgp_path.cc.

Here is the call graph for this function:

virtual bool BgpSecondaryPath::IsReplicated ( ) const
inlinevirtual

Reimplemented from BgpPath.

Definition at line 168 of file bgp_path.h.

void BgpSecondaryPath::SetReplicateInfo ( const BgpTable table,
const BgpRoute rt 
)
inline

Definition at line 172 of file bgp_path.h.

const BgpRoute* BgpSecondaryPath::src_rt ( ) const
inline

Definition at line 186 of file bgp_path.h.

const BgpTable* BgpSecondaryPath::src_table ( ) const
inline

Definition at line 182 of file bgp_path.h.

Member Data Documentation

const BgpRoute* BgpSecondaryPath::src_entry_
private

Definition at line 192 of file bgp_path.h.

const BgpTable* BgpSecondaryPath::src_table_
private

Definition at line 191 of file bgp_path.h.


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