OpenSDN source code
McastSGEntry Class Reference

#include <bgp_multicast.h>

Inheritance diagram for McastSGEntry:
Collaboration diagram for McastSGEntry:

Public Member Functions

 McastSGEntry (McastManagerPartition *partition, Ip4Address group, Ip4Address source)
 
 ~McastSGEntry ()
 
std::string ToString () const
 
void AddForwarder (McastForwarder *forwarder)
 
void ChangeForwarder (McastForwarder *forwarder)
 
void DeleteForwarder (McastForwarder *forwarder)
 
const RouteDistinguisherGetSourceRd () const
 
void AddLocalTreeRoute ()
 
void DeleteLocalTreeRoute ()
 
void UpdateLocalTreeRoute ()
 
void UpdateTree ()
 
void NotifyForestNode ()
 
bool IsForestNode (McastForwarder *forwarder)
 
Ip4Address group () const
 
Ip4Address source () const
 
McastManagerPartitionpartition ()
 
const ErmVpnRoutetree_result_route () const
 
void set_tree_result_route (ErmVpnRoute *route)
 
void clear_tree_result_route ()
 
bool on_work_queue ()
 
void set_on_work_queue ()
 
void clear_on_work_queue ()
 
bool empty () const
 
ErmVpnRouteGetGlobalTreeRootRoute () const
 
bool GetForestNodePMSI (uint32_t *label, Ip4Address *address, std::vector< std::string > *encap) const
 
bool IsTreeBuilder (uint8_t level) const
 
- Public Member Functions inherited from DBState
virtual ~DBState ()
 

Private Types

typedef std::set< McastForwarder *, McastForwarderCompareForwarderSet
 

Private Member Functions

void UpdateTree (uint8_t level)
 
void UpdateRoutes (uint8_t level)
 
 DISALLOW_COPY_AND_ASSIGN (McastSGEntry)
 

Private Attributes

McastManagerPartitionpartition_
 
Ip4Address group_
 
Ip4Address source_
 
McastForwarderforest_node_
 
ErmVpnRoutelocal_tree_route_
 
ErmVpnRoutetree_result_route_
 
std::vector< ForwarderSet * > forwarder_sets_
 
std::vector< bool > update_needed_
 
bool on_work_queue_
 

Friends

class BgpMulticastTest
 
class ShowMulticastManagerDetailHandler
 

Detailed Description

Definition at line 204 of file bgp_multicast.h.

Member Typedef Documentation

◆ ForwarderSet

Definition at line 247 of file bgp_multicast.h.

Constructor & Destructor Documentation

◆ McastSGEntry()

McastSGEntry::McastSGEntry ( McastManagerPartition partition,
Ip4Address  group,
Ip4Address  source 
)

Definition at line 379 of file bgp_multicast.cc.

◆ ~McastSGEntry()

McastSGEntry::~McastSGEntry ( )

Definition at line 399 of file bgp_multicast.cc.

Here is the call graph for this function:

Member Function Documentation

◆ AddForwarder()

void McastSGEntry::AddForwarder ( McastForwarder forwarder)

Definition at line 414 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ AddLocalTreeRoute()

void McastSGEntry::AddLocalTreeRoute ( )

Definition at line 473 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ ChangeForwarder()

void McastSGEntry::ChangeForwarder ( McastForwarder forwarder)

Definition at line 428 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ clear_on_work_queue()

void McastSGEntry::clear_on_work_queue ( )
inline

Definition at line 235 of file bgp_multicast.h.

◆ clear_tree_result_route()

void McastSGEntry::clear_tree_result_route ( )
inline

Definition at line 231 of file bgp_multicast.h.

◆ DeleteForwarder()

void McastSGEntry::DeleteForwarder ( McastForwarder forwarder)

Definition at line 438 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ DeleteLocalTreeRoute()

void McastSGEntry::DeleteLocalTreeRoute ( )

Definition at line 545 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ DISALLOW_COPY_AND_ASSIGN()

McastSGEntry::DISALLOW_COPY_AND_ASSIGN ( McastSGEntry  )
private

◆ empty()

bool McastSGEntry::empty ( ) const

Definition at line 735 of file bgp_multicast.cc.

◆ GetForestNodePMSI()

bool McastSGEntry::GetForestNodePMSI ( uint32_t *  label,
Ip4Address address,
std::vector< std::string > *  encap 
) const

Definition at line 721 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ GetGlobalTreeRootRoute()

ErmVpnRoute * McastSGEntry::GetGlobalTreeRootRoute ( ) const

Definition at line 596 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ GetSourceRd()

const RouteDistinguisher & McastSGEntry::GetSourceRd ( ) const

Definition at line 454 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ group()

Ip4Address McastSGEntry::group ( ) const
inline

Definition at line 224 of file bgp_multicast.h.

◆ IsForestNode()

bool McastSGEntry::IsForestNode ( McastForwarder forwarder)

Definition at line 731 of file bgp_multicast.cc.

◆ IsTreeBuilder()

bool McastSGEntry::IsTreeBuilder ( uint8_t  level) const

Definition at line 608 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ NotifyForestNode()

void McastSGEntry::NotifyForestNode ( )

Definition at line 715 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ on_work_queue()

bool McastSGEntry::on_work_queue ( )
inline

Definition at line 233 of file bgp_multicast.h.

◆ partition()

McastManagerPartition* McastSGEntry::partition ( )
inline

Definition at line 226 of file bgp_multicast.h.

◆ set_on_work_queue()

void McastSGEntry::set_on_work_queue ( )
inline

Definition at line 234 of file bgp_multicast.h.

◆ set_tree_result_route()

void McastSGEntry::set_tree_result_route ( ErmVpnRoute route)
inline

Definition at line 228 of file bgp_multicast.h.

◆ source()

Ip4Address McastSGEntry::source ( ) const
inline

Definition at line 225 of file bgp_multicast.h.

◆ ToString()

std::string McastSGEntry::ToString ( ) const

Definition at line 406 of file bgp_multicast.cc.

◆ tree_result_route()

const ErmVpnRoute* McastSGEntry::tree_result_route ( ) const
inline

Definition at line 227 of file bgp_multicast.h.

◆ UpdateLocalTreeRoute()

void McastSGEntry::UpdateLocalTreeRoute ( )

Definition at line 564 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ UpdateRoutes()

void McastSGEntry::UpdateRoutes ( uint8_t  level)
private

Definition at line 582 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ UpdateTree() [1/2]

void McastSGEntry::UpdateTree ( )

Definition at line 703 of file bgp_multicast.cc.

◆ UpdateTree() [2/2]

void McastSGEntry::UpdateTree ( uint8_t  level)
private

Definition at line 634 of file bgp_multicast.cc.

Here is the call graph for this function:

Friends And Related Function Documentation

◆ BgpMulticastTest

friend class BgpMulticastTest
friend

Definition at line 244 of file bgp_multicast.h.

◆ ShowMulticastManagerDetailHandler

friend class ShowMulticastManagerDetailHandler
friend

Definition at line 245 of file bgp_multicast.h.

Member Data Documentation

◆ forest_node_

McastForwarder* McastSGEntry::forest_node_
private

Definition at line 254 of file bgp_multicast.h.

◆ forwarder_sets_

std::vector<ForwarderSet *> McastSGEntry::forwarder_sets_
private

Definition at line 257 of file bgp_multicast.h.

◆ group_

Ip4Address McastSGEntry::group_
private

Definition at line 253 of file bgp_multicast.h.

◆ local_tree_route_

ErmVpnRoute* McastSGEntry::local_tree_route_
private

Definition at line 255 of file bgp_multicast.h.

◆ on_work_queue_

bool McastSGEntry::on_work_queue_
private

Definition at line 259 of file bgp_multicast.h.

◆ partition_

McastManagerPartition* McastSGEntry::partition_
private

Definition at line 252 of file bgp_multicast.h.

◆ source_

Ip4Address McastSGEntry::source_
private

Definition at line 253 of file bgp_multicast.h.

◆ tree_result_route_

ErmVpnRoute* McastSGEntry::tree_result_route_
private

Definition at line 256 of file bgp_multicast.h.

◆ update_needed_

std::vector<bool> McastSGEntry::update_needed_
private

Definition at line 258 of file bgp_multicast.h.


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