OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 ( McastSGEntry sg_entry,
ErmVpnRoute route 
)

Definition at line 62 of file bgp_multicast.cc.

Here is the call graph for this function:

McastForwarder::~McastForwarder ( )

Definition at line 92 of file bgp_multicast.cc.

Here is the call graph for this function:

Member Function Documentation

void McastForwarder::AddGlobalOListElems ( BgpOListSpec olist_spec)
private

Definition at line 307 of file bgp_multicast.cc.

Here is the call graph for this function:

void McastForwarder::AddGlobalTreeRoute ( )

Definition at line 204 of file bgp_multicast.cc.

Here is the call graph for this function:

void McastForwarder::AddLink ( McastForwarder forwarder)

Definition at line 148 of file bgp_multicast.cc.

Here is the call graph for this function:

void McastForwarder::AddLocalOListElems ( BgpOListSpec olist_spec)
private

Definition at line 293 of file bgp_multicast.cc.

Ip4Address McastForwarder::address ( ) const
inline

Definition at line 107 of file bgp_multicast.h.

void McastForwarder::AllocateLabel ( )

Definition at line 184 of file bgp_multicast.cc.

void McastForwarder::DeleteGlobalTreeRoute ( )

Definition at line 272 of file bgp_multicast.cc.

Here is the call graph for this function:

McastForwarder::DISALLOW_COPY_AND_ASSIGN ( McastForwarder  )
private
bool McastForwarder::empty ( )
inline

Definition at line 113 of file bgp_multicast.h.

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

Definition at line 108 of file bgp_multicast.h.

McastForwarder * McastForwarder::FindLink ( McastForwarder forwarder)

Definition at line 137 of file bgp_multicast.cc.

void McastForwarder::FlushLinks ( )

Definition at line 170 of file bgp_multicast.cc.

uint8_t McastForwarder::GetLevel ( ) const
UpdateInfo * McastForwarder::GetUpdateInfo ( ErmVpnTable table)

Definition at line 350 of file bgp_multicast.cc.

Here is the call graph for this function:

ErmVpnRoute* McastForwarder::global_tree_route ( ) const
inline

Definition at line 114 of file bgp_multicast.h.

uint32_t McastForwarder::label ( ) const
inline

Definition at line 105 of file bgp_multicast.h.

const LabelBlock* McastForwarder::label_block ( ) const
inline

Definition at line 106 of file bgp_multicast.h.

uint8_t McastForwarder::level ( ) const
inline

Definition at line 104 of file bgp_multicast.h.

void McastForwarder::ReleaseLabel ( )

Definition at line 192 of file bgp_multicast.cc.

void McastForwarder::RemoveLink ( McastForwarder forwarder)

Definition at line 156 of file bgp_multicast.cc.

ErmVpnRoute* McastForwarder::route ( )
inline

Definition at line 109 of file bgp_multicast.h.

const RouteDistinguisher& McastForwarder::route_distinguisher ( ) const
inline

Definition at line 110 of file bgp_multicast.h.

Ip4Address McastForwarder::router_id ( ) const
inline

Definition at line 111 of file bgp_multicast.h.

std::string McastForwarder::ToString ( ) const

Definition at line 126 of file bgp_multicast.cc.

Here is the call graph for this function:

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

friend class BgpMulticastTest
friend

Definition at line 117 of file bgp_multicast.h.

friend class ShowMulticastManagerDetailHandler
friend

Definition at line 118 of file bgp_multicast.h.

Member Data Documentation

Ip4Address McastForwarder::address_
private

Definition at line 129 of file bgp_multicast.h.

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

Definition at line 132 of file bgp_multicast.h.

ErmVpnRoute* McastForwarder::global_tree_route_
private

Definition at line 125 of file bgp_multicast.h.

uint32_t McastForwarder::label_
private

Definition at line 128 of file bgp_multicast.h.

LabelBlockPtr McastForwarder::label_block_
private

Definition at line 127 of file bgp_multicast.h.

uint8_t McastForwarder::level_
private

Definition at line 126 of file bgp_multicast.h.

RouteDistinguisher McastForwarder::rd_
private

Definition at line 130 of file bgp_multicast.h.

ErmVpnRoute* McastForwarder::route_
private

Definition at line 124 of file bgp_multicast.h.

Ip4Address McastForwarder::router_id_
private

Definition at line 131 of file bgp_multicast.h.

McastSGEntry* McastForwarder::sg_entry_
private

Definition at line 123 of file bgp_multicast.h.

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: