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

#include <inet_route.h>

Inheritance diagram for InetRoute:
Collaboration diagram for InetRoute:

Public Member Functions

 InetRoute (const Ip4Prefix &prefix)
 
virtual int CompareTo (const Route &rhs) const
 
virtual std::string ToString () const
 
const Ip4PrefixGetPrefix () const
 
virtual KeyPtr GetDBRequestKey () const
 
virtual void SetKey (const DBRequestKey *reqkey)
 
virtual void BuildProtoPrefix (BgpProtoPrefix *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
 
virtual bool IsMoreSpecific (const std::string &match) const
 
virtual bool IsLessSpecific (const std::string &match) 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
 
virtual bool IsValid () 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
 
virtual std::string ToXmppIdString () 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 ()
 
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 (InetRoute)
 

Private Attributes

Ip4Prefix prefix_
 
std::string prefix_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 65 of file inet_route.h.

Constructor & Destructor Documentation

InetRoute::InetRoute ( const Ip4Prefix prefix)
explicit

Definition at line 107 of file inet_route.cc.

Member Function Documentation

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

Reimplemented from BgpRoute.

Definition at line 178 of file inet_route.cc.

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

Reimplemented from BgpRoute.

Definition at line 152 of file inet_route.cc.

Here is the call graph for this function:

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

Implements Route.

Definition at line 112 of file inet_route.cc.

Here is the call graph for this function:

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

Implements DBEntryBase.

Definition at line 141 of file inet_route.cc.

const Ip4Prefix& InetRoute::GetPrefix ( ) const
inline

Definition at line 70 of file inet_route.h.

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

Implements DBEntry.

Definition at line 82 of file inet_route.h.

Here is the call graph for this function:

bool InetRoute::IsLessSpecific ( const std::string &  match) const
virtual

Reimplemented from DBEntryBase.

Definition at line 130 of file inet_route.cc.

Here is the call graph for this function:

bool InetRoute::IsMoreSpecific ( const std::string &  match) const
virtual

Reimplemented from DBEntryBase.

Definition at line 118 of file inet_route.cc.

Here is the call graph for this function:

void InetRoute::SetKey ( const DBRequestKey reqkey)
virtual

Implements DBEntry.

Definition at line 146 of file inet_route.cc.

virtual std::string InetRoute::ToString ( ) const
inlinevirtual

Implements DBEntryBase.

Definition at line 69 of file inet_route.h.

Member Data Documentation

Ip4Prefix InetRoute::prefix_
private

Definition at line 92 of file inet_route.h.

std::string InetRoute::prefix_str_
private

Definition at line 93 of file inet_route.h.


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