OpenSDN source code
RoutingPolicyMgr Class Reference

#include <routing_policy.h>

Collaboration diagram for RoutingPolicyMgr:

Classes

class  DeleteActor
 

Public Types

typedef std::map< std::string, RoutingPolicy * > RoutingPolicyList
 
typedef RoutingPolicyList::iterator name_iterator
 
typedef RoutingPolicyList::const_iterator const_name_iterator
 
typedef std::map< BgpTable *, DBTable::DBTableWalkRefRoutingPolicyWalkRequests
 

Public Member Functions

 RoutingPolicyMgr (BgpServer *server)
 
virtual ~RoutingPolicyMgr ()
 
SandeshTraceBufferPtr trace_buffer () const
 
name_iterator name_begin ()
 
name_iterator name_end ()
 
name_iterator name_lower_bound (const std::string &name)
 
const_name_iterator name_cbegin ()
 
const_name_iterator name_cend ()
 
const_name_iterator name_clower_bound (const std::string &name)
 
RoutingPolicyGetRoutingPolicy (const std::string &name)
 
const RoutingPolicyGetRoutingPolicy (const std::string &name) const
 
virtual RoutingPolicyCreateRoutingPolicy (const BgpRoutingPolicyConfig *config)
 
void UpdateRoutingPolicy (const BgpRoutingPolicyConfig *config)
 
virtual void DeleteRoutingPolicy (const std::string &name)
 
bool deleted ()
 
void ManagedDelete ()
 
void DestroyRoutingPolicy (RoutingPolicy *policy)
 
size_t count () const
 
BgpServerserver ()
 
const BgpServerserver () const
 
LifetimeActordeleter ()
 
RoutingPolicy::PolicyResult ExecuteRoutingPolicy (const RoutingPolicy *policy, const BgpRoute *route, const BgpPath *path, BgpAttr *attr) const
 
bool UpdateRoutingPolicyList (const RoutingPolicyConfigList &cfg_list, RoutingPolicyAttachList *oper_list)
 
void ApplyRoutingPolicy (RoutingInstance *instance)
 
void RequestWalk (BgpTable *table)
 
void WalkDone (DBTableBase *dbtable)
 
bool EvaluateRoutingPolicy (DBTablePartBase *root, DBEntryBase *entry)
 

Private Attributes

BgpServerserver_
 
tbb::mutex mutex_
 
RoutingPolicyList routing_policies_
 
boost::scoped_ptr< DeleteActordeleter_
 
LifetimeRef< RoutingPolicyMgrserver_delete_ref_
 
RoutingPolicyWalkRequests routing_policy_sync_
 
SandeshTraceBufferPtr trace_buf_
 

Detailed Description

Definition at line 296 of file routing_policy.h.

Member Typedef Documentation

◆ const_name_iterator

typedef RoutingPolicyList::const_iterator RoutingPolicyMgr::const_name_iterator

Definition at line 300 of file routing_policy.h.

◆ name_iterator

typedef RoutingPolicyList::iterator RoutingPolicyMgr::name_iterator

Definition at line 299 of file routing_policy.h.

◆ RoutingPolicyList

typedef std::map<std::string, RoutingPolicy*> RoutingPolicyMgr::RoutingPolicyList

Definition at line 298 of file routing_policy.h.

◆ RoutingPolicyWalkRequests

Constructor & Destructor Documentation

◆ RoutingPolicyMgr()

RoutingPolicyMgr::RoutingPolicyMgr ( BgpServer server)
explicit

Definition at line 41 of file routing_policy.cc.

◆ ~RoutingPolicyMgr()

RoutingPolicyMgr::~RoutingPolicyMgr ( )
virtual

Definition at line 48 of file routing_policy.cc.

Member Function Documentation

◆ ApplyRoutingPolicy()

void RoutingPolicyMgr::ApplyRoutingPolicy ( RoutingInstance instance)

Definition at line 141 of file routing_policy.cc.

Here is the call graph for this function:

◆ count()

size_t RoutingPolicyMgr::count ( ) const
inline

Definition at line 345 of file routing_policy.h.

◆ CreateRoutingPolicy()

RoutingPolicy * RoutingPolicyMgr::CreateRoutingPolicy ( const BgpRoutingPolicyConfig config)
virtual

Definition at line 63 of file routing_policy.cc.

Here is the call graph for this function:

◆ deleted()

bool RoutingPolicyMgr::deleted ( )

Definition at line 59 of file routing_policy.cc.

Here is the call graph for this function:

◆ deleter()

LifetimeActor * RoutingPolicyMgr::deleter ( )

Definition at line 55 of file routing_policy.cc.

◆ DeleteRoutingPolicy()

void RoutingPolicyMgr::DeleteRoutingPolicy ( const std::string &  name)
virtual

Definition at line 101 of file routing_policy.cc.

Here is the call graph for this function:

◆ DestroyRoutingPolicy()

void RoutingPolicyMgr::DestroyRoutingPolicy ( RoutingPolicy policy)

Definition at line 120 of file routing_policy.cc.

Here is the call graph for this function:

◆ EvaluateRoutingPolicy()

bool RoutingPolicyMgr::EvaluateRoutingPolicy ( DBTablePartBase root,
DBEntryBase entry 
)

Definition at line 166 of file routing_policy.cc.

Here is the call graph for this function:

◆ ExecuteRoutingPolicy()

RoutingPolicy::PolicyResult RoutingPolicyMgr::ExecuteRoutingPolicy ( const RoutingPolicy policy,
const BgpRoute route,
const BgpPath path,
BgpAttr attr 
) const

Definition at line 154 of file routing_policy.cc.

◆ GetRoutingPolicy() [1/2]

RoutingPolicy* RoutingPolicyMgr::GetRoutingPolicy ( const std::string &  name)
inline

Definition at line 319 of file routing_policy.h.

◆ GetRoutingPolicy() [2/2]

const RoutingPolicy* RoutingPolicyMgr::GetRoutingPolicy ( const std::string &  name) const
inline

Definition at line 326 of file routing_policy.h.

◆ ManagedDelete()

void RoutingPolicyMgr::ManagedDelete ( )

Definition at line 51 of file routing_policy.cc.

◆ name_begin()

name_iterator RoutingPolicyMgr::name_begin ( )
inline

Definition at line 308 of file routing_policy.h.

◆ name_cbegin()

const_name_iterator RoutingPolicyMgr::name_cbegin ( )
inline

Definition at line 313 of file routing_policy.h.

◆ name_cend()

const_name_iterator RoutingPolicyMgr::name_cend ( )
inline

Definition at line 314 of file routing_policy.h.

◆ name_clower_bound()

const_name_iterator RoutingPolicyMgr::name_clower_bound ( const std::string &  name)
inline

Definition at line 315 of file routing_policy.h.

◆ name_end()

name_iterator RoutingPolicyMgr::name_end ( )
inline

Definition at line 309 of file routing_policy.h.

◆ name_lower_bound()

name_iterator RoutingPolicyMgr::name_lower_bound ( const std::string &  name)
inline

Definition at line 310 of file routing_policy.h.

◆ RequestWalk()

void RoutingPolicyMgr::RequestWalk ( BgpTable table)

Definition at line 260 of file routing_policy.cc.

Here is the call graph for this function:

◆ server() [1/2]

BgpServer* RoutingPolicyMgr::server ( )
inline

Definition at line 346 of file routing_policy.h.

◆ server() [2/2]

const BgpServer* RoutingPolicyMgr::server ( ) const
inline

Definition at line 347 of file routing_policy.h.

◆ trace_buffer()

SandeshTraceBufferPtr RoutingPolicyMgr::trace_buffer ( ) const
inline

Definition at line 306 of file routing_policy.h.

◆ UpdateRoutingPolicy()

void RoutingPolicyMgr::UpdateRoutingPolicy ( const BgpRoutingPolicyConfig config)

Definition at line 82 of file routing_policy.cc.

Here is the call graph for this function:

◆ UpdateRoutingPolicyList()

bool RoutingPolicyMgr::UpdateRoutingPolicyList ( const RoutingPolicyConfigList cfg_list,
RoutingPolicyAttachList oper_list 
)

Definition at line 198 of file routing_policy.cc.

Here is the call graph for this function:

◆ WalkDone()

void RoutingPolicyMgr::WalkDone ( DBTableBase dbtable)

Definition at line 275 of file routing_policy.cc.

Here is the call graph for this function:

Member Data Documentation

◆ deleter_

boost::scoped_ptr<DeleteActor> RoutingPolicyMgr::deleter_
private

Definition at line 372 of file routing_policy.h.

◆ mutex_

tbb::mutex RoutingPolicyMgr::mutex_
private

Definition at line 370 of file routing_policy.h.

◆ routing_policies_

RoutingPolicyList RoutingPolicyMgr::routing_policies_
private

Definition at line 371 of file routing_policy.h.

◆ routing_policy_sync_

RoutingPolicyWalkRequests RoutingPolicyMgr::routing_policy_sync_
private

Definition at line 374 of file routing_policy.h.

◆ server_

BgpServer* RoutingPolicyMgr::server_
private

Definition at line 369 of file routing_policy.h.

◆ server_delete_ref_

LifetimeRef<RoutingPolicyMgr> RoutingPolicyMgr::server_delete_ref_
private

Definition at line 373 of file routing_policy.h.

◆ trace_buf_

SandeshTraceBufferPtr RoutingPolicyMgr::trace_buf_
private

Definition at line 375 of file routing_policy.h.


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