OpenSDN source code
|
#include <routing_instance.h>
Classes | |
class | DeleteActor |
Public Types | |
enum | Operation { INSTANCE_ADD = 1, INSTANCE_UPDATE = 2, INSTANCE_DELETE = 3 } |
typedef std::set< std::string > | RoutingInstanceConfigList |
typedef std::map< std::string, RoutingInstance * > | RoutingInstanceList |
typedef std::map< std::string, SandeshTraceBufferPtr > | RoutingInstanceTraceBufferMap |
typedef std::list< std::string > | RoutingInstanceTraceBufferList |
typedef RoutingInstanceList::iterator | name_iterator |
typedef RoutingInstanceList::const_iterator | const_name_iterator |
typedef RoutingInstanceList::iterator | RoutingInstanceIterator |
typedef std::multimap < RouteTarget, RoutingInstance * > | InstanceTargetMap |
typedef std::multimap< int, RoutingInstance * > | VnIndexMap |
typedef boost::function< void(std::string, int)> | RoutingInstanceCb |
typedef std::vector < RoutingInstanceCb > | InstanceOpListenersList |
typedef std::set< std::string > | MvpnManagerNetworks |
typedef std::map< std::string, MvpnManagerNetworks > | MvpnProjectManagerNetworks |
Static Public Member Functions | |
static std::string | GetPrimaryRoutingInstanceName (const string &name_in) |
Private Types | |
typedef std::map< std::string, std::set< std::string > > | VirtualNetworksMap |
Private Member Functions | |
bool | ProcessInstanceConfigList (int idx) |
bool | ProcessNeighborConfigList () |
void | InstanceTargetAdd (RoutingInstance *rti) |
void | InstanceTargetRemove (const RoutingInstance *rti) |
void | InstanceVnIndexAdd (RoutingInstance *rti) |
void | InstanceVnIndexRemove (const RoutingInstance *rti) |
const RoutingInstance * | GetInstanceByVnIndex (int vn_index) const |
int | GetVnIndexByRouteTarget (const RouteTarget &rtarget) const |
void | ASNUpdateCallback (as_t old_asn, as_t old_local_asn) |
void | IdentifierUpdateCallback (Ip4Address old_identifier) |
void | DisableInstanceConfigListProcessing () |
void | EnableInstanceConfigListProcessing () |
void | DisableNeighborConfigListProcessing () |
void | EnableNeighborConfigListProcessing () |
void | SetTableStatsUve (Address::Family family, const std::map< std::string, RoutingTableStats > &stats_map, RoutingInstanceStatsData *instance_info) const |
Private Attributes | |
BgpServer * | server_ |
tbb::mutex | mutex_ |
tbb::spin_rw_mutex | rw_mutex_ |
std::vector < RoutingInstanceConfigList > | instance_config_lists_ |
std::vector< TaskTrigger * > | instance_config_triggers_ |
RoutingInstanceConfigList | neighbor_config_list_ |
boost::scoped_ptr< TaskTrigger > | neighbor_config_trigger_ |
RoutingInstance * | default_rtinstance_ |
RoutingInstanceList | instances_ |
RoutingInstanceTraceBufferMap | trace_buffer_active_ |
RoutingInstanceTraceBufferMap | trace_buffer_dormant_ |
RoutingInstanceTraceBufferList | trace_buffer_dormant_list_ |
InstanceTargetMap | target_map_ |
VnIndexMap | vn_index_map_ |
uint32_t | deleted_count_ |
int | asn_listener_id_ |
int | identifier_listener_id_ |
size_t | dormant_trace_buf_size_ |
size_t | trace_buf_threshold_ |
boost::scoped_ptr< DeleteActor > | deleter_ |
LifetimeRef< RoutingInstanceMgr > | server_delete_ref_ |
boost::dynamic_bitset | bmap_ |
InstanceOpListenersList | callbacks_ |
VirtualNetworksMap | virtual_networks_ |
MvpnProjectManagerNetworks | mvpn_project_managers_ |
Friends | |
class | BgpConfigTest |
class | RoutingInstanceMgrTest |
Definition at line 281 of file routing_instance.h.
typedef RoutingInstanceList::const_iterator RoutingInstanceMgr::const_name_iterator |
Definition at line 289 of file routing_instance.h.
typedef std::vector<RoutingInstanceCb> RoutingInstanceMgr::InstanceOpListenersList |
Definition at line 295 of file routing_instance.h.
typedef std::multimap<RouteTarget, RoutingInstance *> RoutingInstanceMgr::InstanceTargetMap |
Definition at line 291 of file routing_instance.h.
typedef std::set<std::string> RoutingInstanceMgr::MvpnManagerNetworks |
Definition at line 296 of file routing_instance.h.
typedef std::map<std::string, MvpnManagerNetworks> RoutingInstanceMgr::MvpnProjectManagerNetworks |
Definition at line 298 of file routing_instance.h.
typedef RoutingInstanceList::iterator RoutingInstanceMgr::name_iterator |
Definition at line 288 of file routing_instance.h.
typedef boost::function<void(std::string, int)> RoutingInstanceMgr::RoutingInstanceCb |
Definition at line 294 of file routing_instance.h.
typedef std::set<std::string> RoutingInstanceMgr::RoutingInstanceConfigList |
Definition at line 283 of file routing_instance.h.
typedef RoutingInstanceList::iterator RoutingInstanceMgr::RoutingInstanceIterator |
Definition at line 290 of file routing_instance.h.
typedef std::map<std::string, RoutingInstance *> RoutingInstanceMgr::RoutingInstanceList |
Definition at line 284 of file routing_instance.h.
typedef std::list<std::string> RoutingInstanceMgr::RoutingInstanceTraceBufferList |
Definition at line 287 of file routing_instance.h.
typedef std::map<std::string, SandeshTraceBufferPtr> RoutingInstanceMgr::RoutingInstanceTraceBufferMap |
Definition at line 286 of file routing_instance.h.
|
private |
Definition at line 453 of file routing_instance.h.
typedef std::multimap<int, RoutingInstance *> RoutingInstanceMgr::VnIndexMap |
Definition at line 292 of file routing_instance.h.
Enumerator | |
---|---|
INSTANCE_ADD | |
INSTANCE_UPDATE | |
INSTANCE_DELETE |
Definition at line 300 of file routing_instance.h.
|
explicit |
|
virtual |
|
inline |
Definition at line 309 of file routing_instance.h.
|
inline |
Definition at line 377 of file routing_instance.h.
RoutingInstance * RoutingInstanceMgr::CreateRoutingInstance | ( | const BgpInstanceConfig * | config | ) |
void RoutingInstanceMgr::CreateRoutingInstanceNeighbors | ( | const BgpInstanceConfig * | config | ) |
bool RoutingInstanceMgr::CreateVirtualNetworkMapping | ( | const std::string & | virtual_network, |
const std::string & | instance_name | ||
) |
Definition at line 430 of file routing_instance.cc.
|
inline |
Definition at line 385 of file routing_instance.h.
bool RoutingInstanceMgr::deleted | ( | ) |
|
inline |
Definition at line 383 of file routing_instance.h.
LifetimeActor * RoutingInstanceMgr::deleter | ( | ) |
Definition at line 134 of file routing_instance.cc.
|
virtual |
bool RoutingInstanceMgr::DeleteVirtualNetworkMapping | ( | const std::string & | virtual_network, |
const std::string & | instance_name | ||
) |
void RoutingInstanceMgr::DestroyRoutingInstance | ( | RoutingInstance * | rtinstance | ) |
|
private |
Definition at line 933 of file routing_instance.cc.
|
private |
Definition at line 953 of file routing_instance.cc.
void RoutingInstanceMgr::DisableTraceBuffer | ( | const std::string & | name | ) |
Definition at line 761 of file routing_instance.cc.
|
private |
Definition at line 943 of file routing_instance.cc.
|
private |
Definition at line 961 of file routing_instance.cc.
|
inline |
Definition at line 313 of file routing_instance.h.
SandeshTraceBufferPtr RoutingInstanceMgr::GetActiveTraceBuffer | ( | const std::string & | name | ) | const |
Definition at line 806 of file routing_instance.cc.
RoutingInstance * RoutingInstanceMgr::GetDefaultRoutingInstance | ( | ) |
Definition at line 359 of file routing_instance.cc.
const RoutingInstance * RoutingInstanceMgr::GetDefaultRoutingInstance | ( | ) | const |
Definition at line 363 of file routing_instance.cc.
SandeshTraceBufferPtr RoutingInstanceMgr::GetDormantTraceBuffer | ( | const std::string & | name | ) | const |
Definition at line 819 of file routing_instance.cc.
size_t RoutingInstanceMgr::GetEnvRoutingInstanceDormantTraceBufferCapacity | ( | ) | const |
Definition at line 849 of file routing_instance.cc.
size_t RoutingInstanceMgr::GetEnvRoutingInstanceDormantTraceBufferThreshold | ( | ) | const |
Definition at line 861 of file routing_instance.cc.
const RoutingInstance * RoutingInstanceMgr::GetInstanceByTarget | ( | const RouteTarget & | target | ) | const |
Definition at line 188 of file routing_instance.cc.
|
private |
Definition at line 229 of file routing_instance.cc.
size_t RoutingInstanceMgr::GetMvpnProjectManagerCount | ( | const std::string & | network | ) | const |
Definition at line 102 of file routing_instance.cc.
|
static |
Definition at line 2025 of file routing_instance.cc.
RoutingInstance* RoutingInstanceMgr::GetRoutingInstance | ( | const std::string & | name | ) |
const RoutingInstance* RoutingInstanceMgr::GetRoutingInstance | ( | const std::string & | name | ) | const |
size_t RoutingInstanceMgr::GetRoutingInstanceActiveTraceBufSize | ( | ) | const |
Definition at line 871 of file routing_instance.cc.
|
inline |
Definition at line 363 of file routing_instance.h.
|
inline |
Definition at line 366 of file routing_instance.h.
size_t RoutingInstanceMgr::GetRoutingInstanceDormantTraceBufSize | ( | ) | const |
Definition at line 876 of file routing_instance.cc.
RoutingInstance * RoutingInstanceMgr::GetRoutingInstanceLocked | ( | const std::string & | name | ) |
Definition at line 382 of file routing_instance.cc.
SandeshTraceBufferPtr RoutingInstanceMgr::GetTraceBuffer | ( | const std::string & | name | ) |
string RoutingInstanceMgr::GetVirtualNetworkByVnIndex | ( | int | vn_index | ) | const |
int RoutingInstanceMgr::GetVnIndexByExtCommunity | ( | const ExtCommunity * | community | ) | const |
|
private |
Definition at line 253 of file routing_instance.cc.
bool RoutingInstanceMgr::HasRoutingInstanceActiveTraceBuf | ( | const std::string & | name | ) | const |
Definition at line 831 of file routing_instance.cc.
bool RoutingInstanceMgr::HasRoutingInstanceDormantTraceBuf | ( | const std::string & | name | ) | const |
Definition at line 840 of file routing_instance.cc.
|
private |
|
inline |
Definition at line 384 of file routing_instance.h.
void RoutingInstanceMgr::InsertRoutingInstance | ( | RoutingInstance * | rtinstance | ) |
|
private |
|
private |
|
private |
|
private |
void RoutingInstanceMgr::LocateRoutingInstance | ( | const BgpInstanceConfig * | config | ) |
void RoutingInstanceMgr::LocateRoutingInstance | ( | const std::string & | name | ) |
SandeshTraceBufferPtr RoutingInstanceMgr::LocateTraceBuffer | ( | const std::string & | name | ) |
void RoutingInstanceMgr::ManagedDelete | ( | ) |
Definition at line 113 of file routing_instance.cc.
bool RoutingInstanceMgr::MayDelete | ( | ) | const |
Definition at line 124 of file routing_instance.cc.
|
inline |
Definition at line 381 of file routing_instance.h.
|
inline |
Definition at line 392 of file routing_instance.h.
|
inline |
Definition at line 395 of file routing_instance.h.
|
inline |
Definition at line 317 of file routing_instance.h.
|
inline |
Definition at line 322 of file routing_instance.h.
|
inline |
Definition at line 323 of file routing_instance.h.
|
inline |
Definition at line 324 of file routing_instance.h.
|
inline |
Definition at line 318 of file routing_instance.h.
|
inline |
Definition at line 319 of file routing_instance.h.
void RoutingInstanceMgr::NotifyInstanceOp | ( | std::string | name, |
Operation | deleted | ||
) |
Definition at line 331 of file routing_instance.cc.
|
private |
|
private |
int RoutingInstanceMgr::RegisterInstanceOpCallback | ( | RoutingInstanceCb | cb | ) |
Definition at line 297 of file routing_instance.cc.
uint32_t RoutingInstanceMgr::SendTableStatsUve | ( | ) |
|
inline |
Definition at line 378 of file routing_instance.h.
|
inline |
Definition at line 379 of file routing_instance.h.
|
private |
Definition at line 483 of file routing_instance.cc.
void RoutingInstanceMgr::Shutdown | ( | ) |
void RoutingInstanceMgr::UnregisterInstanceOpCallback | ( | int | id | ) |
Definition at line 313 of file routing_instance.cc.
void RoutingInstanceMgr::UpdateRoutingInstance | ( | RoutingInstance * | rtinstance, |
const BgpInstanceConfig * | config | ||
) |
|
friend |
Definition at line 402 of file routing_instance.h.
|
friend |
Definition at line 403 of file routing_instance.h.
|
private |
Definition at line 443 of file routing_instance.h.
|
private |
Definition at line 449 of file routing_instance.h.
|
private |
Definition at line 450 of file routing_instance.h.
|
private |
Definition at line 435 of file routing_instance.h.
|
private |
Definition at line 442 of file routing_instance.h.
|
private |
Definition at line 447 of file routing_instance.h.
|
private |
Definition at line 445 of file routing_instance.h.
|
private |
Definition at line 444 of file routing_instance.h.
|
private |
Definition at line 431 of file routing_instance.h.
|
private |
Definition at line 432 of file routing_instance.h.
|
private |
Definition at line 436 of file routing_instance.h.
|
mutableprivate |
Definition at line 429 of file routing_instance.h.
|
private |
Definition at line 456 of file routing_instance.h.
|
private |
Definition at line 433 of file routing_instance.h.
|
private |
Definition at line 434 of file routing_instance.h.
|
mutableprivate |
Definition at line 430 of file routing_instance.h.
|
private |
Definition at line 428 of file routing_instance.h.
|
private |
Definition at line 448 of file routing_instance.h.
|
private |
Definition at line 440 of file routing_instance.h.
|
private |
Definition at line 446 of file routing_instance.h.
|
private |
Definition at line 437 of file routing_instance.h.
|
private |
Definition at line 438 of file routing_instance.h.
|
private |
Definition at line 439 of file routing_instance.h.
|
private |
Definition at line 454 of file routing_instance.h.
|
private |
Definition at line 441 of file routing_instance.h.