OpenSDN source code
McastForwarder Class Reference

#include <bgp_multicast.h>

Inheritance diagram for McastForwarder:
Collaboration diagram for McastForwarder:

Public Member Functions

 McastForwarder (McastSGEntry *sg_entry, ErmVpnRoute *route)
 
 ~McastForwarder ()
 
bool Update (ErmVpnRoute *route)
 
std::string ToString () const
 
uint8_t GetLevel () const
 
McastForwarderFindLink (McastForwarder *forwarder)
 
void AddLink (McastForwarder *forwarder)
 
void RemoveLink (McastForwarder *forwarder)
 
void FlushLinks ()
 
void AllocateLabel ()
 
void ReleaseLabel ()
 
void AddGlobalTreeRoute ()
 
void DeleteGlobalTreeRoute ()
 
UpdateInfoGetUpdateInfo (ErmVpnTable *table)
 
uint8_t level () const
 
uint32_t label () const
 
const LabelBlocklabel_block () const
 
Ip4Address address () const
 
std::vector< std::string > encap () const
 
ErmVpnRouteroute ()
 
const RouteDistinguisherroute_distinguisher () const
 
Ip4Address router_id () const
 
bool empty ()
 
ErmVpnRouteglobal_tree_route () const
 
- Public Member Functions inherited from DBState
virtual ~DBState ()
 

Private Member Functions

void AddLocalOListElems (BgpOListSpec *olist_spec)
 
void AddGlobalOListElems (BgpOListSpec *olist_spec)
 
 DISALLOW_COPY_AND_ASSIGN (McastForwarder)
 

Private Attributes

McastSGEntrysg_entry_
 
ErmVpnRouteroute_
 
ErmVpnRouteglobal_tree_route_
 
uint8_t level_
 
LabelBlockPtr label_block_
 
uint32_t label_
 
Ip4Address address_
 
RouteDistinguisher rd_
 
Ip4Address router_id_
 
std::vector< std::string > encap_
 
McastForwarderList tree_links_
 

Friends

class BgpMulticastTest
 
class ShowMulticastManagerDetailHandler
 

Detailed Description

Definition at line 83 of file bgp_multicast.h.

Constructor & Destructor Documentation

◆ McastForwarder()

McastForwarder::McastForwarder ( McastSGEntry sg_entry,
ErmVpnRoute route 
)

Definition at line 62 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ ~McastForwarder()

McastForwarder::~McastForwarder ( )

Definition at line 92 of file bgp_multicast.cc.

Here is the call graph for this function:

Member Function Documentation

◆ AddGlobalOListElems()

void McastForwarder::AddGlobalOListElems ( BgpOListSpec olist_spec)
private

Definition at line 307 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ AddGlobalTreeRoute()

void McastForwarder::AddGlobalTreeRoute ( )

Definition at line 204 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ AddLink()

void McastForwarder::AddLink ( McastForwarder forwarder)

Definition at line 148 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ AddLocalOListElems()

void McastForwarder::AddLocalOListElems ( BgpOListSpec olist_spec)
private

Definition at line 293 of file bgp_multicast.cc.

◆ address()

Ip4Address McastForwarder::address ( ) const
inline

Definition at line 107 of file bgp_multicast.h.

◆ AllocateLabel()

void McastForwarder::AllocateLabel ( )

Definition at line 184 of file bgp_multicast.cc.

◆ DeleteGlobalTreeRoute()

void McastForwarder::DeleteGlobalTreeRoute ( )

Definition at line 272 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ DISALLOW_COPY_AND_ASSIGN()

McastForwarder::DISALLOW_COPY_AND_ASSIGN ( McastForwarder  )
private

◆ empty()

bool McastForwarder::empty ( )
inline

Definition at line 113 of file bgp_multicast.h.

◆ encap()

std::vector<std::string> McastForwarder::encap ( ) const
inline

Definition at line 108 of file bgp_multicast.h.

◆ FindLink()

McastForwarder * McastForwarder::FindLink ( McastForwarder forwarder)

Definition at line 137 of file bgp_multicast.cc.

◆ FlushLinks()

void McastForwarder::FlushLinks ( )

Definition at line 170 of file bgp_multicast.cc.

◆ GetLevel()

uint8_t McastForwarder::GetLevel ( ) const

◆ GetUpdateInfo()

UpdateInfo * McastForwarder::GetUpdateInfo ( ErmVpnTable table)

Definition at line 350 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ global_tree_route()

ErmVpnRoute* McastForwarder::global_tree_route ( ) const
inline

Definition at line 114 of file bgp_multicast.h.

◆ label()

uint32_t McastForwarder::label ( ) const
inline

Definition at line 105 of file bgp_multicast.h.

◆ label_block()

const LabelBlock* McastForwarder::label_block ( ) const
inline

Definition at line 106 of file bgp_multicast.h.

◆ level()

uint8_t McastForwarder::level ( ) const
inline

Definition at line 104 of file bgp_multicast.h.

◆ ReleaseLabel()

void McastForwarder::ReleaseLabel ( )

Definition at line 192 of file bgp_multicast.cc.

◆ RemoveLink()

void McastForwarder::RemoveLink ( McastForwarder forwarder)

Definition at line 156 of file bgp_multicast.cc.

◆ route()

ErmVpnRoute* McastForwarder::route ( )
inline

Definition at line 109 of file bgp_multicast.h.

◆ route_distinguisher()

const RouteDistinguisher& McastForwarder::route_distinguisher ( ) const
inline

Definition at line 110 of file bgp_multicast.h.

◆ router_id()

Ip4Address McastForwarder::router_id ( ) const
inline

Definition at line 111 of file bgp_multicast.h.

◆ ToString()

std::string McastForwarder::ToString ( ) const

Definition at line 126 of file bgp_multicast.cc.

Here is the call graph for this function:

◆ Update()

bool McastForwarder::Update ( ErmVpnRoute route)

Definition at line 102 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 117 of file bgp_multicast.h.

◆ ShowMulticastManagerDetailHandler

friend class ShowMulticastManagerDetailHandler
friend

Definition at line 118 of file bgp_multicast.h.

Member Data Documentation

◆ address_

Ip4Address McastForwarder::address_
private

Definition at line 129 of file bgp_multicast.h.

◆ encap_

std::vector<std::string> McastForwarder::encap_
private

Definition at line 132 of file bgp_multicast.h.

◆ global_tree_route_

ErmVpnRoute* McastForwarder::global_tree_route_
private

Definition at line 125 of file bgp_multicast.h.

◆ label_

uint32_t McastForwarder::label_
private

Definition at line 128 of file bgp_multicast.h.

◆ label_block_

LabelBlockPtr McastForwarder::label_block_
private

Definition at line 127 of file bgp_multicast.h.

◆ level_

uint8_t McastForwarder::level_
private

Definition at line 126 of file bgp_multicast.h.

◆ rd_

RouteDistinguisher McastForwarder::rd_
private

Definition at line 130 of file bgp_multicast.h.

◆ route_

ErmVpnRoute* McastForwarder::route_
private

Definition at line 124 of file bgp_multicast.h.

◆ router_id_

Ip4Address McastForwarder::router_id_
private

Definition at line 131 of file bgp_multicast.h.

◆ sg_entry_

McastSGEntry* McastForwarder::sg_entry_
private

Definition at line 123 of file bgp_multicast.h.

◆ tree_links_

McastForwarderList McastForwarder::tree_links_
private

Definition at line 133 of file bgp_multicast.h.


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