OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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::DBTableWalkRef
RoutingPolicyWalkRequests
 

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

typedef RoutingPolicyList::const_iterator RoutingPolicyMgr::const_name_iterator

Definition at line 300 of file routing_policy.h.

typedef RoutingPolicyList::iterator RoutingPolicyMgr::name_iterator

Definition at line 299 of file routing_policy.h.

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

Definition at line 298 of file routing_policy.h.

Constructor & Destructor Documentation

RoutingPolicyMgr::RoutingPolicyMgr ( BgpServer server)
explicit

Definition at line 41 of file routing_policy.cc.

RoutingPolicyMgr::~RoutingPolicyMgr ( )
virtual

Definition at line 48 of file routing_policy.cc.

Member Function Documentation

void RoutingPolicyMgr::ApplyRoutingPolicy ( RoutingInstance instance)

Definition at line 141 of file routing_policy.cc.

Here is the call graph for this function:

size_t RoutingPolicyMgr::count ( ) const
inline

Definition at line 345 of file routing_policy.h.

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

Definition at line 63 of file routing_policy.cc.

Here is the call graph for this function:

bool RoutingPolicyMgr::deleted ( )

Definition at line 59 of file routing_policy.cc.

Here is the call graph for this function:

LifetimeActor * RoutingPolicyMgr::deleter ( )

Definition at line 55 of file routing_policy.cc.

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:

void RoutingPolicyMgr::DestroyRoutingPolicy ( RoutingPolicy policy)

Definition at line 120 of file routing_policy.cc.

Here is the call graph for this function:

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

Definition at line 166 of file routing_policy.cc.

Here is the call graph for this function:

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.

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

Definition at line 319 of file routing_policy.h.

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

Definition at line 326 of file routing_policy.h.

void RoutingPolicyMgr::ManagedDelete ( )

Definition at line 51 of file routing_policy.cc.

name_iterator RoutingPolicyMgr::name_begin ( )
inline

Definition at line 308 of file routing_policy.h.

const_name_iterator RoutingPolicyMgr::name_cbegin ( )
inline

Definition at line 313 of file routing_policy.h.

const_name_iterator RoutingPolicyMgr::name_cend ( )
inline

Definition at line 314 of file routing_policy.h.

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

Definition at line 315 of file routing_policy.h.

name_iterator RoutingPolicyMgr::name_end ( )
inline

Definition at line 309 of file routing_policy.h.

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

Definition at line 310 of file routing_policy.h.

void RoutingPolicyMgr::RequestWalk ( BgpTable table)

Definition at line 260 of file routing_policy.cc.

Here is the call graph for this function:

BgpServer* RoutingPolicyMgr::server ( )
inline

Definition at line 346 of file routing_policy.h.

const BgpServer* RoutingPolicyMgr::server ( ) const
inline

Definition at line 347 of file routing_policy.h.

SandeshTraceBufferPtr RoutingPolicyMgr::trace_buffer ( ) const
inline

Definition at line 306 of file routing_policy.h.

void RoutingPolicyMgr::UpdateRoutingPolicy ( const BgpRoutingPolicyConfig config)

Definition at line 82 of file routing_policy.cc.

Here is the call graph for this function:

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:

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

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

Definition at line 372 of file routing_policy.h.

tbb::mutex RoutingPolicyMgr::mutex_
private

Definition at line 370 of file routing_policy.h.

RoutingPolicyList RoutingPolicyMgr::routing_policies_
private

Definition at line 371 of file routing_policy.h.

RoutingPolicyWalkRequests RoutingPolicyMgr::routing_policy_sync_
private

Definition at line 374 of file routing_policy.h.

BgpServer* RoutingPolicyMgr::server_
private

Definition at line 367 of file routing_policy.h.

LifetimeRef<RoutingPolicyMgr> RoutingPolicyMgr::server_delete_ref_
private

Definition at line 373 of file routing_policy.h.

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: