OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RibOut Class Reference

#include <bgp_ribout.h>

Collaboration diagram for RibOut:

Classes

class  PeerIterator
 
struct  PeerState
 

Public Member Functions

 RibOut (BgpTable *table, BgpUpdateSender *sender, const RibExportPolicy &policy)
 
 ~RibOut ()
 
void RegisterListener ()
 
void Register (IPeerUpdate *peer)
 
void Unregister (IPeerUpdate *peer)
 
bool IsRegistered (IPeerUpdate *peer)
 
void Deactivate (IPeerUpdate *peer)
 
bool IsActive (IPeerUpdate *peer) const
 
void BuildSendReadyBitSet (const RibPeerSet &peerset, RibPeerSet *mready) const
 
IPeerUpdateGetPeer (int index) const
 
int GetPeerIndex (IPeerUpdate *peer) const
 
const RibPeerSetPeerSet () const
 
void GetSubsetPeerSet (RibPeerSet *peerset, const IPeerUpdate *cpeer) const
 
BgpTabletable ()
 
const BgpTabletable () const
 
BgpUpdateSendersender ()
 
const RibExportPolicyExportPolicy () const
 
int RouteAdvertiseCount (const BgpRoute *rt) const
 
uint32_t GetQueueSize () const
 
DBTableBase::ListenerId listener_id () const
 
const std::string & ToString () const
 
RibOutUpdatesupdates (int idx)
 
const RibOutUpdatesupdates (int idx) const
 
BgpExportbgp_export ()
 
BgpProto::BgpPeerType peer_type () const
 
as_t peer_as () const
 
as_t local_as () const
 
bool as_override () const
 
bool llgr () const
 
bool as4_supported () const
 
void set_as4_supported (bool as4)
 
const IpAddressnexthop () const
 
bool IsEncodingXmpp () const
 
bool IsEncodingBgp () const
 
std::string EncodingString () const
 
bool remove_private_enabled () const
 
bool remove_private_all () const
 
bool remove_private_replace () const
 
bool remove_private_peer_loop_check () const
 
uint32_t cluster_id () const
 
void FillStatisticsInfo (std::vector< ShowRibOutStatistics > *sros_list) const
 

Private Types

typedef IndexMap< IPeerUpdate
*, PeerState, RibPeerSet
PeerStateMap
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (RibOut)
 

Private Attributes

BgpTabletable_
 
BgpUpdateSendersender_
 
RibExportPolicy policy_
 
std::string name_
 
PeerStateMap state_map_
 
RibPeerSet active_peerset_
 
int listener_id_
 
std::vector< RibOutUpdates * > updates_
 
boost::scoped_ptr< BgpExportbgp_export_
 

Detailed Description

Definition at line 260 of file bgp_ribout.h.

Member Typedef Documentation

Definition at line 359 of file bgp_ribout.h.

Constructor & Destructor Documentation

RibOut::RibOut ( BgpTable table,
BgpUpdateSender sender,
const RibExportPolicy policy 
)

Definition at line 297 of file bgp_ribout.cc.

Here is the call graph for this function:

RibOut::~RibOut ( )

Definition at line 327 of file bgp_ribout.cc.

Here is the call graph for this function:

Member Function Documentation

bool RibOut::as4_supported ( ) const
inline

Definition at line 325 of file bgp_ribout.h.

bool RibOut::as_override ( ) const
inline

Definition at line 323 of file bgp_ribout.h.

BgpExport* RibOut::bgp_export ( )
inline

Definition at line 318 of file bgp_ribout.h.

void RibOut::BuildSendReadyBitSet ( const RibPeerSet peerset,
RibPeerSet mready 
) const

Definition at line 426 of file bgp_ribout.cc.

Here is the call graph for this function:

uint32_t RibOut::cluster_id ( ) const
inline

Definition at line 347 of file bgp_ribout.h.

void RibOut::Deactivate ( IPeerUpdate peer)

Definition at line 411 of file bgp_ribout.cc.

Here is the call graph for this function:

RibOut::DISALLOW_COPY_AND_ASSIGN ( RibOut  )
private
std::string RibOut::EncodingString ( ) const
inline

Definition at line 334 of file bgp_ribout.h.

Here is the call graph for this function:

const RibExportPolicy& RibOut::ExportPolicy ( ) const
inline

Definition at line 308 of file bgp_ribout.h.

void RibOut::FillStatisticsInfo ( std::vector< ShowRibOutStatistics > *  sros_list) const

Definition at line 545 of file bgp_ribout.cc.

Here is the call graph for this function:

IPeerUpdate * RibOut::GetPeer ( int  index) const

Definition at line 525 of file bgp_ribout.cc.

Here is the call graph for this function:

int RibOut::GetPeerIndex ( IPeerUpdate peer) const

Definition at line 536 of file bgp_ribout.cc.

Here is the call graph for this function:

uint32_t RibOut::GetQueueSize ( ) const

Definition at line 485 of file bgp_ribout.cc.

Here is the call graph for this function:

void RibOut::GetSubsetPeerSet ( RibPeerSet peerset,
const IPeerUpdate cpeer 
) const

Definition at line 512 of file bgp_ribout.cc.

Here is the call graph for this function:

bool RibOut::IsActive ( IPeerUpdate peer) const

Definition at line 418 of file bgp_ribout.cc.

Here is the call graph for this function:

bool RibOut::IsEncodingBgp ( ) const
inline

Definition at line 331 of file bgp_ribout.h.

bool RibOut::IsEncodingXmpp ( ) const
inline

Definition at line 328 of file bgp_ribout.h.

bool RibOut::IsRegistered ( IPeerUpdate peer)

Definition at line 398 of file bgp_ribout.cc.

Here is the call graph for this function:

DBTableBase::ListenerId RibOut::listener_id ( ) const
inline

Definition at line 313 of file bgp_ribout.h.

bool RibOut::llgr ( ) const
inline

Definition at line 324 of file bgp_ribout.h.

as_t RibOut::local_as ( ) const
inline

Definition at line 322 of file bgp_ribout.h.

const IpAddress& RibOut::nexthop ( ) const
inline

Definition at line 327 of file bgp_ribout.h.

as_t RibOut::peer_as ( ) const
inline

Definition at line 321 of file bgp_ribout.h.

BgpProto::BgpPeerType RibOut::peer_type ( ) const
inline

Definition at line 320 of file bgp_ribout.h.

const RibPeerSet & RibOut::PeerSet ( ) const

Definition at line 504 of file bgp_ribout.cc.

void RibOut::Register ( IPeerUpdate peer)

Definition at line 357 of file bgp_ribout.cc.

Here is the call graph for this function:

void RibOut::RegisterListener ( )

Definition at line 343 of file bgp_ribout.cc.

Here is the call graph for this function:

bool RibOut::remove_private_all ( ) const
inline

Definition at line 340 of file bgp_ribout.h.

bool RibOut::remove_private_enabled ( ) const
inline

Definition at line 337 of file bgp_ribout.h.

bool RibOut::remove_private_peer_loop_check ( ) const
inline

Definition at line 344 of file bgp_ribout.h.

bool RibOut::remove_private_replace ( ) const
inline

Definition at line 341 of file bgp_ribout.h.

int RibOut::RouteAdvertiseCount ( const BgpRoute rt) const

Definition at line 440 of file bgp_ribout.cc.

Here is the call graph for this function:

BgpUpdateSender* RibOut::sender ( )
inline

Definition at line 306 of file bgp_ribout.h.

void RibOut::set_as4_supported ( bool  as4)
inline

Definition at line 326 of file bgp_ribout.h.

BgpTable* RibOut::table ( )
inline

Definition at line 304 of file bgp_ribout.h.

const BgpTable* RibOut::table ( ) const
inline

Definition at line 305 of file bgp_ribout.h.

const std::string& RibOut::ToString ( ) const
inline

Definition at line 314 of file bgp_ribout.h.

void RibOut::Unregister ( IPeerUpdate peer)

Definition at line 378 of file bgp_ribout.cc.

Here is the call graph for this function:

RibOutUpdates* RibOut::updates ( int  idx)
inline

Definition at line 316 of file bgp_ribout.h.

const RibOutUpdates* RibOut::updates ( int  idx) const
inline

Definition at line 317 of file bgp_ribout.h.

Member Data Documentation

RibPeerSet RibOut::active_peerset_
private

Definition at line 366 of file bgp_ribout.h.

boost::scoped_ptr<BgpExport> RibOut::bgp_export_
private

Definition at line 369 of file bgp_ribout.h.

int RibOut::listener_id_
private

Definition at line 367 of file bgp_ribout.h.

std::string RibOut::name_
private

Definition at line 364 of file bgp_ribout.h.

RibExportPolicy RibOut::policy_
private

Definition at line 363 of file bgp_ribout.h.

BgpUpdateSender* RibOut::sender_
private

Definition at line 362 of file bgp_ribout.h.

PeerStateMap RibOut::state_map_
private

Definition at line 365 of file bgp_ribout.h.

BgpTable* RibOut::table_
private

Definition at line 361 of file bgp_ribout.h.

std::vector<RibOutUpdates *> RibOut::updates_
private

Definition at line 368 of file bgp_ribout.h.


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