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

#include <rtarget_group.h>

Collaboration diagram for RtGroup:

Public Types

typedef std::set< BgpTable * > RtGroupMemberList
 
typedef std::map
< Address::Family,
RtGroupMemberList
RtGroupMembers
 
typedef std::set< BgpRoute * > RouteList
 
typedef std::vector< RouteListRTargetDepRouteList
 
typedef std::set< RTargetRoute * > RTargetRouteList
 
typedef std::map< const
BgpPeer *, RTargetRouteList
InterestedPeerList
 

Public Member Functions

 RtGroup (const RouteTarget &rt)
 
const RouteTargetrt ()
 
std::string ToString () const
 
bool MayDelete () const
 
const RtGroupMemberListGetImportTables (Address::Family family) const
 
const RtGroupMemberListGetExportTables (Address::Family family) const
 
bool AddImportTable (Address::Family family, BgpTable *tbl)
 
bool AddExportTable (Address::Family family, BgpTable *tbl)
 
bool RemoveImportTable (Address::Family family, BgpTable *tbl)
 
bool RemoveExportTable (Address::Family family, BgpTable *tbl)
 
bool HasImportExportTables () const
 
bool HasVrfTables (Address::Family family) const
 
void AddDepRoute (int part_id, BgpRoute *rt)
 
void RemoveDepRoute (int part_id, BgpRoute *rt)
 
void NotifyDepRoutes (int part_id)
 
bool HasDepRoutes () const
 
const RtGroupInterestedPeerSetGetInterestedPeers () const
 
void AddInterestedPeer (const BgpPeer *peer, RTargetRoute *rt)
 
void RemoveInterestedPeer (const BgpPeer *peer, RTargetRoute *rt)
 
bool HasInterestedPeers () const
 
bool HasInterestedPeer (const std::string &name) const
 
void FillShowInfo (ShowRtGroupInfo *info) const
 
void FillShowPeerInfo (ShowRtGroupInfo *info) const
 
void FillShowSummaryInfo (ShowRtGroupInfo *info) const
 

Private Member Functions

void FillMemberTables (const RtGroupMembers &rt_members, std::vector< ShowRtGroupMemberTableList > *member_list) const
 
void FillInterestedPeers (std::vector< std::string > *interested_peers) const
 
void FillDependentRoutes (std::vector< std::string > *rtlist) const
 
void FillShowInfoCommon (ShowRtGroupInfo *info, bool fill_peers, bool fill_routes) const
 
 DISALLOW_COPY_AND_ASSIGN (RtGroup)
 

Private Attributes

RouteTarget rt_
 
RtGroupMembers import_
 
RtGroupMembers export_
 
RTargetDepRouteList dep_
 
InterestedPeerList peer_list_
 
RtGroupInterestedPeerSet interested_peers_
 

Detailed Description

Definition at line 61 of file rtarget_group.h.

Member Typedef Documentation

Definition at line 68 of file rtarget_group.h.

typedef std::set<BgpRoute *> RtGroup::RouteList

Definition at line 65 of file rtarget_group.h.

Definition at line 66 of file rtarget_group.h.

Definition at line 67 of file rtarget_group.h.

typedef std::set<BgpTable *> RtGroup::RtGroupMemberList

Definition at line 63 of file rtarget_group.h.

Definition at line 64 of file rtarget_group.h.

Constructor & Destructor Documentation

RtGroup::RtGroup ( const RouteTarget rt)
explicit

Definition at line 24 of file rtarget_group.cc.

Member Function Documentation

void RtGroup::AddDepRoute ( int  part_id,
BgpRoute rt 
)

Definition at line 107 of file rtarget_group.cc.

bool RtGroup::AddExportTable ( Address::Family  family,
BgpTable tbl 
)

Definition at line 55 of file rtarget_group.cc.

bool RtGroup::AddImportTable ( Address::Family  family,
BgpTable tbl 
)

Definition at line 49 of file rtarget_group.cc.

void RtGroup::AddInterestedPeer ( const BgpPeer peer,
RTargetRoute rt 
)

Definition at line 136 of file rtarget_group.cc.

Here is the call graph for this function:

RtGroup::DISALLOW_COPY_AND_ASSIGN ( RtGroup  )
private
void RtGroup::FillDependentRoutes ( std::vector< std::string > *  rtlist) const
private

Definition at line 190 of file rtarget_group.cc.

void RtGroup::FillInterestedPeers ( std::vector< std::string > *  interested_peers) const
private

Definition at line 184 of file rtarget_group.cc.

void RtGroup::FillMemberTables ( const RtGroupMembers rt_members,
std::vector< ShowRtGroupMemberTableList > *  member_list 
) const
private

Definition at line 170 of file rtarget_group.cc.

Here is the call graph for this function:

void RtGroup::FillShowInfo ( ShowRtGroupInfo *  info) const

Definition at line 223 of file rtarget_group.cc.

Here is the call graph for this function:

void RtGroup::FillShowInfoCommon ( ShowRtGroupInfo *  info,
bool  fill_peers,
bool  fill_routes 
) const
private

Definition at line 200 of file rtarget_group.cc.

Here is the call graph for this function:

void RtGroup::FillShowPeerInfo ( ShowRtGroupInfo *  info) const

Definition at line 231 of file rtarget_group.cc.

Here is the call graph for this function:

void RtGroup::FillShowSummaryInfo ( ShowRtGroupInfo *  info) const

Definition at line 227 of file rtarget_group.cc.

Here is the call graph for this function:

const RtGroup::RtGroupMemberList & RtGroup::GetExportTables ( Address::Family  family) const

Definition at line 44 of file rtarget_group.cc.

const RtGroup::RtGroupMemberList & RtGroup::GetImportTables ( Address::Family  family) const

Definition at line 39 of file rtarget_group.cc.

const RtGroupInterestedPeerSet & RtGroup::GetInterestedPeers ( ) const

Definition at line 132 of file rtarget_group.cc.

bool RtGroup::HasDepRoutes ( ) const

Definition at line 122 of file rtarget_group.cc.

bool RtGroup::HasImportExportTables ( ) const

Definition at line 71 of file rtarget_group.cc.

bool RtGroup::HasInterestedPeer ( const std::string &  name) const

Definition at line 162 of file rtarget_group.cc.

bool RtGroup::HasInterestedPeers ( ) const

Definition at line 158 of file rtarget_group.cc.

bool RtGroup::HasVrfTables ( Address::Family  family) const

Definition at line 83 of file rtarget_group.cc.

Here is the call graph for this function:

bool RtGroup::MayDelete ( ) const

Definition at line 35 of file rtarget_group.cc.

Here is the call graph for this function:

void RtGroup::NotifyDepRoutes ( int  part_id)

Definition at line 115 of file rtarget_group.cc.

Here is the call graph for this function:

void RtGroup::RemoveDepRoute ( int  part_id,
BgpRoute rt 
)

Definition at line 111 of file rtarget_group.cc.

bool RtGroup::RemoveExportTable ( Address::Family  family,
BgpTable tbl 
)

Definition at line 66 of file rtarget_group.cc.

bool RtGroup::RemoveImportTable ( Address::Family  family,
BgpTable tbl 
)

Definition at line 61 of file rtarget_group.cc.

void RtGroup::RemoveInterestedPeer ( const BgpPeer peer,
RTargetRoute rt 
)

Definition at line 147 of file rtarget_group.cc.

Here is the call graph for this function:

const RouteTarget & RtGroup::rt ( )

Definition at line 103 of file rtarget_group.cc.

std::string RtGroup::ToString ( ) const
inline

Definition at line 72 of file rtarget_group.h.

Here is the call graph for this function:

Member Data Documentation

RTargetDepRouteList RtGroup::dep_
private

Definition at line 111 of file rtarget_group.h.

RtGroupMembers RtGroup::export_
private

Definition at line 110 of file rtarget_group.h.

RtGroupMembers RtGroup::import_
private

Definition at line 109 of file rtarget_group.h.

RtGroupInterestedPeerSet RtGroup::interested_peers_
private

Definition at line 113 of file rtarget_group.h.

InterestedPeerList RtGroup::peer_list_
private

Definition at line 112 of file rtarget_group.h.

RouteTarget RtGroup::rt_
private

Definition at line 108 of file rtarget_group.h.


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