#include <bgp_membership.h>
|
| BgpMembershipManager (BgpServer *server) |
|
virtual | ~BgpMembershipManager () |
|
int | RegisterPeerRegistrationCallback (PeerRegistrationCallback callback) |
|
void | UnregisterPeerRegistrationCallback (int id) |
|
virtual void | Register (IPeer *peer, BgpTable *table, const RibExportPolicy &policy, int instance_id=-1) |
|
void | RegisterRibIn (IPeer *peer, BgpTable *table) |
|
virtual void | Unregister (IPeer *peer, BgpTable *table) |
|
void | UnregisterRibIn (IPeer *peer, BgpTable *table) |
|
virtual void | UnregisterRibOut (IPeer *peer, BgpTable *table) |
|
void | WalkRibIn (IPeer *peer, BgpTable *table) |
|
bool | GetRegistrationInfo (const IPeer *peer, const BgpTable *table, int *instance_id=NULL, uint64_t *subscription_gen_id=NULL) const |
|
void | SetRegistrationInfo (const IPeer *peer, const BgpTable *table, int instance_id, uint64_t subscription_gen_id) |
|
bool | IsRegistered (const IPeer *peer, const BgpTable *table) const |
|
bool | IsRibInRegistered (const IPeer *peer, const BgpTable *table) const |
|
bool | IsRibOutRegistered (const IPeer *peer, const BgpTable *table) const |
|
uint32_t | GetRibOutQueueDepth (const IPeer *peer, const BgpTable *table) const |
|
void | GetRegisteredRibs (const IPeer *peer, std::list< BgpTable * > *table_list) const |
|
void | FillRoutingInstanceTableInfo (ShowRoutingInstanceTable *srit, const BgpTable *table) const |
|
void | FillPeerMembershipInfo (const IPeer *peer, BgpNeighborResp *resp) const |
|
BgpServer * | server () |
|
bool | IsQueueEmpty () const |
|
size_t | GetMembershipCount () const |
|
uint64_t | current_jobs_count () const |
|
uint64_t | total_jobs_count () const |
|
|
enum | Action {
NONE,
RIBOUT_ADD,
RIBIN_DELETE,
RIBIN_WALK,
RIBIN_WALK_RIBOUT_DELETE,
RIBIN_DELETE_RIBOUT_DELETE
} |
|
enum | EventType {
REGISTER_RIB,
REGISTER_RIB_COMPLETE,
UNREGISTER_RIB,
UNREGISTER_RIB_COMPLETE,
WALK_RIB_COMPLETE
} |
|
typedef std::vector
< PeerRegistrationCallback > | PeerRegistrationListenerList |
|
typedef std::map< const IPeer
*, PeerState * > | PeerStateMap |
|
typedef std::map< const
BgpTable *, RibState * > | RibStateMap |
|
typedef std::set< PeerRibState * > | PeerRibList |
|
Definition at line 86 of file bgp_membership.h.
Enumerator |
---|
NONE |
|
RIBOUT_ADD |
|
RIBIN_DELETE |
|
RIBIN_WALK |
|
RIBIN_WALK_RIBOUT_DELETE |
|
RIBIN_DELETE_RIBOUT_DELETE |
|
Definition at line 155 of file bgp_membership.h.
Enumerator |
---|
REGISTER_RIB |
|
REGISTER_RIB_COMPLETE |
|
UNREGISTER_RIB |
|
UNREGISTER_RIB_COMPLETE |
|
WALK_RIB_COMPLETE |
|
Definition at line 164 of file bgp_membership.h.
BgpMembershipManager::BgpMembershipManager |
( |
BgpServer * |
server | ) |
|
|
explicit |
BgpMembershipManager::~BgpMembershipManager |
( |
| ) |
|
|
virtual |
bool BgpMembershipManager::AssertRegister |
( |
PeerRibState * |
prs, |
|
|
bool |
do_assert = true |
|
) |
| |
|
protectedvirtual |
bool BgpMembershipManager::AssertRegisterRibIn |
( |
PeerRibState * |
prs, |
|
|
IPeer * |
peer, |
|
|
bool |
do_assert = true |
|
) |
| |
|
protectedvirtual |
bool BgpMembershipManager::AssertUnregister |
( |
PeerRibState * |
prs, |
|
|
bool |
do_assert = true |
|
) |
| |
|
protectedvirtual |
bool BgpMembershipManager::AssertWalkRibIn |
( |
PeerRibState * |
prs, |
|
|
bool |
do_assert = true |
|
) |
| |
|
protectedvirtual |
uint64_t BgpMembershipManager::current_jobs_count |
( |
| ) |
const |
|
inline |
void BgpMembershipManager::DestroyPeerRibState |
( |
PeerRibState * |
prs | ) |
|
|
private |
void BgpMembershipManager::DestroyPeerState |
( |
PeerState * |
ps | ) |
|
|
private |
void BgpMembershipManager::DestroyRibState |
( |
RibState * |
ps | ) |
|
|
private |
void BgpMembershipManager::EnqueueEvent |
( |
Event * |
event | ) |
|
|
inlineprivate |
void BgpMembershipManager::EnqueueRibState |
( |
RibState * |
rs | ) |
|
|
private |
bool BgpMembershipManager::EventCallback |
( |
Event * |
event | ) |
|
|
private |
bool BgpMembershipManager::EventCallbackInternal |
( |
Event * |
event | ) |
|
|
protectedvirtual |
void BgpMembershipManager::FillPeerMembershipInfo |
( |
const IPeer * |
peer, |
|
|
BgpNeighborResp * |
resp |
|
) |
| const |
void BgpMembershipManager::FillRoutingInstanceTableInfo |
( |
ShowRoutingInstanceTable * |
srit, |
|
|
const BgpTable * |
table |
|
) |
| const |
size_t BgpMembershipManager::GetMembershipCount |
( |
| ) |
const |
void BgpMembershipManager::GetRegisteredRibs |
( |
const IPeer * |
peer, |
|
|
std::list< BgpTable * > * |
table_list |
|
) |
| const |
bool BgpMembershipManager::GetRegistrationInfo |
( |
const IPeer * |
peer, |
|
|
const BgpTable * |
table, |
|
|
int * |
instance_id = NULL , |
|
|
uint64_t * |
subscription_gen_id = NULL |
|
) |
| const |
uint32_t BgpMembershipManager::GetRibOutQueueDepth |
( |
const IPeer * |
peer, |
|
|
const BgpTable * |
table |
|
) |
| const |
bool BgpMembershipManager::IsQueueEmpty |
( |
| ) |
const |
bool BgpMembershipManager::IsRegistered |
( |
const IPeer * |
peer, |
|
|
const BgpTable * |
table |
|
) |
| const |
bool BgpMembershipManager::IsRibInRegistered |
( |
const IPeer * |
peer, |
|
|
const BgpTable * |
table |
|
) |
| const |
bool BgpMembershipManager::IsRibOutRegistered |
( |
const IPeer * |
peer, |
|
|
const BgpTable * |
table |
|
) |
| const |
void BgpMembershipManager::NotifyPeerRegistration |
( |
IPeer * |
peer, |
|
|
BgpTable * |
table, |
|
|
bool |
unregister |
|
) |
| |
|
private |
void BgpMembershipManager::ProcessRegisterRibCompleteEvent |
( |
Event * |
event | ) |
|
|
private |
void BgpMembershipManager::ProcessRegisterRibEvent |
( |
Event * |
event | ) |
|
|
private |
void BgpMembershipManager::ProcessUnregisterRibCompleteEvent |
( |
Event * |
event | ) |
|
|
private |
void BgpMembershipManager::ProcessUnregisterRibEvent |
( |
Event * |
event | ) |
|
|
private |
void BgpMembershipManager::ProcessWalkRibCompleteEvent |
( |
Event * |
event | ) |
|
|
private |
void BgpMembershipManager::RegisterRibIn |
( |
IPeer * |
peer, |
|
|
BgpTable * |
table |
|
) |
| |
void BgpMembershipManager::SetQueueDisable |
( |
bool |
value | ) |
|
|
inlineprivate |
void BgpMembershipManager::SetRegistrationInfo |
( |
const IPeer * |
peer, |
|
|
const BgpTable * |
table, |
|
|
int |
instance_id, |
|
|
uint64_t |
subscription_gen_id |
|
) |
| |
uint64_t BgpMembershipManager::total_jobs_count |
( |
| ) |
const |
|
inline |
void BgpMembershipManager::TriggerRegisterRibCompleteEvent |
( |
IPeer * |
peer, |
|
|
BgpTable * |
table |
|
) |
| |
|
private |
void BgpMembershipManager::TriggerUnregisterRibCompleteEvent |
( |
IPeer * |
peer, |
|
|
BgpTable * |
table |
|
) |
| |
|
private |
void BgpMembershipManager::TriggerWalkRibCompleteEvent |
( |
IPeer * |
peer, |
|
|
BgpTable * |
table |
|
) |
| |
|
private |
void BgpMembershipManager::Unregister |
( |
IPeer * |
peer, |
|
|
BgpTable * |
table |
|
) |
| |
|
virtual |
void BgpMembershipManager::UnregisterPeerRegistrationCallback |
( |
int |
id | ) |
|
void BgpMembershipManager::UnregisterRibIn |
( |
IPeer * |
peer, |
|
|
BgpTable * |
table |
|
) |
| |
void BgpMembershipManager::UnregisterRibInUnlocked |
( |
PeerRibState * |
prs | ) |
|
|
private |
void BgpMembershipManager::UnregisterRibOut |
( |
IPeer * |
peer, |
|
|
BgpTable * |
table |
|
) |
| |
|
virtual |
Walker* BgpMembershipManager::walker |
( |
| ) |
|
|
inlineprivate |
void BgpMembershipManager::WalkRibIn |
( |
IPeer * |
peer, |
|
|
BgpTable * |
table |
|
) |
| |
friend class BgpMembershipTest |
|
friend |
friend class BgpServerUnitTest |
|
friend |
friend class BgpXmppUnitTest |
|
friend |
tbb::atomic<uint64_t> BgpMembershipManager::current_jobs_count_ |
|
private |
boost::scoped_ptr<WorkQueue<Event *> > BgpMembershipManager::event_queue_ |
|
private |
boost::dynamic_bitset BgpMembershipManager::registration_bmap_ |
|
private |
tbb::spin_rw_mutex BgpMembershipManager::rw_mutex_ |
|
mutableprotected |
tbb::atomic<uint64_t> BgpMembershipManager::total_jobs_count_ |
|
private |
boost::scoped_ptr<Walker> BgpMembershipManager::walker_ |
|
private |
The documentation for this class was generated from the following files: