OpenSDN source code
Inet6VpnTable Class Reference

#include <inet6vpn_table.h>

Inheritance diagram for Inet6VpnTable:
Collaboration diagram for Inet6VpnTable:

Classes

struct  RequestKey
 

Public Member Functions

 Inet6VpnTable (DB *db, const std::string &name)
 
virtual std::unique_ptr< DBEntry > AllocEntry (const DBRequestKey *key) const
 
virtual std::unique_ptr< DBEntry > AllocEntryStr (const std::string &key) const
 
virtual Address::Family family () const
 
virtual bool IsVpnTable () const
 
virtual size_t Hash (const DBEntry *entry) const
 
virtual size_t Hash (const DBRequestKey *key) const
 
virtual BgpRoute * RouteReplicate (BgpServer *server, BgpTable *src_table, BgpRoute *src_rt, const BgpPath *path, ExtCommunityPtr ptr)
 
virtual bool Export (RibOut *ribout, Route *route, const RibPeerSet &peerset, UpdateInfoSList &info_slist)
 
- Public Member Functions inherited from BgpTable
 BgpTable (DB *db, const std::string &name)
 
 ~BgpTable ()
 
const RibOutMap & ribout_map ()
 
RibOut * RibOutFind (const RibExportPolicy &policy)
 
RibOut * RibOutLocate (BgpUpdateSender *sender, const RibExportPolicy &policy)
 
void RibOutDelete (const RibExportPolicy &policy)
 
virtual bool IsRoutingPolicySupported () const
 
virtual bool IsRouteAggregationSupported () const
 
void CheckAggregatorAttr (BgpAttr *attr) const
 
void CreateAsPath4Byte (BgpAttr *attr, as_t local_as) const
 
void CreateAsPath2Byte (BgpAttr *attr) const
 
void CreateAs4Path (BgpAttr *attr) const
 
bool Has4ByteAsn (BgpAttr *attr) const
 
void PrependAsToAsPath4Byte (BgpAttr *attr, as_t asn) const
 
void PrependAsToAsPath2Byte (BgpAttr *attr, as_t asn) const
 
void PrependAsToAsPath2Byte (BgpAttr *attr, as2_t asn) const
 
void PrependAsToAs4Path (BgpAttr *attr, as_t asn) const
 
UpdateInfo * GetUpdateInfo (RibOut *ribout, BgpRoute *route, const RibPeerSet &peerset)
 
void ProcessDefaultTunnelEncapsulation (const RibOut *ribout, ExtCommunityDB *extcomm_db, BgpAttr *attr) const
 
virtual void UpdateSecondaryTablesForReplication (BgpRoute *rt, TableSet *secondary_tables)
 
void ManagedDelete ()
 
virtual void RetryDelete ()
 
void Shutdown ()
 
virtual bool MayDelete () const
 
bool IsDeleted () const
 
virtual PathResolver * CreatePathResolver ()
 
void LocatePathResolver ()
 
void DestroyPathResolver ()
 
RoutingInstance * routing_instance ()
 
const RoutingInstance * routing_instance () const
 
virtual void set_routing_instance (RoutingInstance *rtinstance)
 
BgpServer * server ()
 
const BgpServer * server () const
 
PathResolver * path_resolver ()
 
const PathResolver * path_resolver () const
 
LifetimeActor * deleter ()
 
const LifetimeActor * deleter () const
 
size_t GetPendingRiboutsCount (size_t *markers) const
 
void UpdatePathCount (const BgpPath *path, int count)
 
const uint64_t GetPrimaryPathCount () const
 
const uint64_t GetSecondaryPathCount () const
 
const uint64_t GetInfeasiblePathCount () const
 
const uint64_t GetStalePathCount () const
 
const uint64_t GetLlgrStalePathCount () const
 
void UpdateStalePathCount (int count)
 
void UpdateLlgrStalePathCount (int count)
 
bool IsAggregateRoute (const BgpRoute *route) const
 
bool IsContributingRoute (const BgpRoute *route) const
 
bool DeletePath (DBTablePartBase *root, BgpRoute *rt, BgpPath *path)
 
virtual void Input (DBTablePartition *root, DBClient *client, DBRequest *req)
 
bool InputCommon (DBTablePartBase *root, BgpRoute *rt, BgpPath *path, const IPeer *peer, DBRequest *req, DBRequest::DBOperation oper, BgpAttrPtr attrs, uint32_t path_id, uint32_t flags, uint32_t label, uint32_t l3_label)
 
void InputCommonPostProcess (DBTablePartBase *root, BgpRoute *rt, bool notify_rt)
 
void FillRibOutStatisticsInfo (std::vector< ShowRibOutStatistics > *sros_list) const
 
virtual BgpAttrPtr GetAttributes (BgpRoute *rt, BgpAttrPtr attrp, const IPeer *peer)
 
- Public Member Functions inherited from RouteTable
 RouteTable (DB *db, const std::string &name)
 
- Public Member Functions inherited from DBTable
 DBTable (DB *db, const std::string &name)
 
virtual ~DBTable ()
 
void Init ()
 
virtual DBTablePartition * AllocPartition (int index)
 
virtual DBEntry * Add (const DBRequest *req)
 
virtual bool OnChange (DBEntry *entry, const DBRequest *req)
 
virtual bool Delete (DBEntry *entry, const DBRequest *req)
 
void NotifyAllEntries ()
 
DBEntry * Find (const DBEntry *entry)
 
const DBEntry * Find (const DBEntry *entry) const
 
DBEntry * Find (const DBRequestKey *key, int id=-1)
 
const DBEntry * Find (const DBRequestKey *key, int id=-1) const
 
DBEntry * FindNoLock (const DBEntry *entry)
 
DBEntry * FindNoLock (const DBRequestKey *key)
 
virtual DBTablePartBase * GetTablePartition (const DBRequestKey *key)
 
virtual const DBTablePartBase * GetTablePartition (const DBRequestKey *key) const
 
virtual DBTablePartBase * GetTablePartition (const DBEntryBase *entry)
 
virtual const DBTablePartBase * GetTablePartition (const DBEntryBase *entry) const
 
virtual DBTablePartBase * GetTablePartition (const int index)
 
virtual const DBTablePartBase * GetTablePartition (const int index) const
 
virtual void Change (DBEntryBase *entry)
 
virtual int PartitionCount () const
 
virtual size_t Size () const
 
DBTableWalkRef AllocWalker (WalkFn walk_fn, WalkCompleteFn walk_complete)
 
void ReleaseWalker (DBTableWalkRef &walk)
 
void WalkTable (DBTableWalkRef walk)
 
void WalkAgain (DBTableWalkRef walk)
 
void SetWalkIterationToYield (int count)
 
int GetWalkIterationToYield ()
 
void SetWalkTaskId (int task_id)
 
int GetWalkerTaskId ()
 
- Public Member Functions inherited from DBTableBase
 DBTableBase (DB *db, const std::string &name)
 
virtual ~DBTableBase ()
 
bool Enqueue (DBRequest *req)
 
void EnqueueRemove (DBEntryBase *db_entry)
 
virtual void AddRemoveCallback (const DBEntryBase *entry, bool add) const
 
ListenerId Register (ChangeCallback callback, const std::string &name="unspecified")
 
void Unregister (ListenerId listener)
 
void RunNotify (DBTablePartBase *tpart, DBEntryBase *entry)
 
void AddToDBStateCount (ListenerId listener, int count)
 
uint64_t GetDBStateCount (ListenerId listener)
 
bool empty () const
 
DB * database ()
 
const DB * database () const
 
const std::string & name () const
 
bool HasListeners () const
 
size_t GetListenerCount () const
 
void FillListeners (std::vector< ShowTableListener > *listeners) const
 
uint64_t enqueue_count () const
 
void incr_enqueue_count ()
 
void reset_enqueue_count ()
 
uint64_t input_count () const
 
void incr_input_count ()
 
void reset_input_count ()
 
uint64_t notify_count () const
 
void incr_notify_count ()
 
void reset_notify_count ()
 
bool HasWalkers () const
 
uint64_t walker_count () const
 
void incr_walker_count ()
 
uint64_t decr_walker_count ()
 
uint64_t walk_request_count () const
 
uint64_t walk_complete_count () const
 
uint64_t walk_cancel_count () const
 
uint64_t walk_again_count () const
 
uint64_t walk_count () const
 
void incr_walk_request_count ()
 
void incr_walk_complete_count ()
 
void incr_walk_cancel_count ()
 
void incr_walk_again_count ()
 
void incr_walk_count ()
 

Static Public Member Functions

static DBTableBase * CreateTable (DB *db, const std::string &name)
 
- Static Public Member Functions inherited from BgpTable
static bool PathSelection (const Path &path1, const Path &path2)
 
- Static Public Member Functions inherited from DBTable
static void DBStateClear (DBTable *table, ListenerId id)
 

Private Member Functions

virtual BgpRoute * TableFind (DBTablePartition *rtp, const DBRequestKey *prefix)
 
 DISALLOW_COPY_AND_ASSIGN (Inet6VpnTable)
 

Additional Inherited Members

- Public Types inherited from BgpTable
typedef std::map< RibExportPolicy, RibOut * > RibOutMap
 
typedef std::set< BgpTable * > TableSet
 
- Public Types inherited from DBTable
typedef boost::intrusive_ptr< DBTableWalk > DBTableWalkRef
 
typedef boost::function< bool(DBTablePartBase *, DBEntryBase *)> WalkFn
 
typedef boost::function< void(DBTableWalkRef, DBTableBase *)> WalkCompleteFn
 
- Public Types inherited from DBTableBase
typedef boost::function< void(DBTablePartBase *, DBEntryBase *)> ChangeCallback
 
typedef int ListenerId
 
- Static Public Attributes inherited from DBTable
static const int kIterationToYield = 256
 
- Static Public Attributes inherited from DBTableBase
static const int kInvalidId = -1
 

Detailed Description

Definition at line 17 of file inet6vpn_table.h.

Constructor & Destructor Documentation

◆ Inet6VpnTable()

Inet6VpnTable::Inet6VpnTable ( DB *  db,
const std::string &  name 
)

Definition at line 15 of file inet6vpn_table.cc.

Member Function Documentation

◆ AllocEntry()

std::unique_ptr< DBEntry > Inet6VpnTable::AllocEntry ( const DBRequestKey *  key) const
virtual

Implements DBTable.

Definition at line 20 of file inet6vpn_table.cc.

◆ AllocEntryStr()

std::unique_ptr< DBEntry > Inet6VpnTable::AllocEntryStr ( const std::string &  key) const
virtual

Implements BgpTable.

Definition at line 26 of file inet6vpn_table.cc.

Here is the call graph for this function:

◆ CreateTable()

DBTableBase * Inet6VpnTable::CreateTable ( DB *  db,
const std::string &  name 
)
static

Definition at line 53 of file inet6vpn_table.cc.

Here is the call graph for this function:

◆ DISALLOW_COPY_AND_ASSIGN()

Inet6VpnTable::DISALLOW_COPY_AND_ASSIGN ( Inet6VpnTable  )
private

◆ Export()

bool Inet6VpnTable::Export ( RibOut *  ribout,
Route *  route,
const RibPeerSet &  peerset,
UpdateInfoSList &  info_slist 
)
virtual

Implements BgpTable.

Definition at line 149 of file inet6vpn_table.cc.

Here is the call graph for this function:

◆ family()

virtual Address::Family Inet6VpnTable::family ( ) const
inlinevirtual

Implements BgpTable.

Definition at line 33 of file inet6vpn_table.h.

◆ Hash() [1/2]

size_t Inet6VpnTable::Hash ( const DBEntry *  entry) const
virtual

Reimplemented from DBTable.

Definition at line 31 of file inet6vpn_table.cc.

Here is the call graph for this function:

◆ Hash() [2/2]

size_t Inet6VpnTable::Hash ( const DBRequestKey *  key) const
virtual

Reimplemented from DBTable.

Definition at line 39 of file inet6vpn_table.cc.

Here is the call graph for this function:

◆ IsVpnTable()

virtual bool Inet6VpnTable::IsVpnTable ( ) const
inlinevirtual

Reimplemented from BgpTable.

Definition at line 34 of file inet6vpn_table.h.

◆ RouteReplicate()

BgpRoute * Inet6VpnTable::RouteReplicate ( BgpServer *  server,
BgpTable *  src_table,
BgpRoute *  src_rt,
const BgpPath *  path,
ExtCommunityPtr  ptr 
)
virtual

Implements BgpTable.

Definition at line 87 of file inet6vpn_table.cc.

Here is the call graph for this function:

◆ TableFind()

BgpRoute * Inet6VpnTable::TableFind ( DBTablePartition *  rtp,
const DBRequestKey *  prefix 
)
privatevirtual

Implements BgpTable.

Definition at line 46 of file inet6vpn_table.cc.

Here is the call graph for this function:

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