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

This class represents (in the context of an EVPN instance) a remote vRouter or PE discovered via BGP. An EvpnRemoteMcastNode is created and associated as DBState with the Inclusive Multicast route in question. More...

#include <bgp_evpn.h>

Inheritance diagram for EvpnRemoteMcastNode:
Collaboration diagram for EvpnRemoteMcastNode:

Public Member Functions

 EvpnRemoteMcastNode (EvpnManagerPartition *partition, EvpnRoute *route)
 
 EvpnRemoteMcastNode (EvpnManagerPartition *partition, EvpnRoute *route, EvpnStatePtr state)
 
virtual ~EvpnRemoteMcastNode ()
 
virtual void TriggerUpdate ()
 Handle update of EvpnRemoteMcastNode. More...
 
- Public Member Functions inherited from EvpnMcastNode
 EvpnMcastNode (EvpnManagerPartition *partition, EvpnRoute *route, uint8_t type)
 Constructor for EvpnMcastNode. The type indicates whether this is a local or remote EvpnMcastNode. More...
 
 EvpnMcastNode (EvpnManagerPartition *partition, EvpnRoute *route, uint8_t type, EvpnStatePtr state)
 
 ~EvpnMcastNode ()
 
bool UpdateAttributes (EvpnRoute *route)
 Update the label and attributes for a EvpnMcastNode. Return true if either of them changed. More...
 
EvpnStatePtr state ()
 
void set_state (EvpnStatePtr state)
 
EvpnRouteroute ()
 
uint8_t type () const
 
const BgpAttrattr () const
 
uint32_t label () const
 
Ip4Address address () const
 
Ip4Address replicator_address () const
 
bool edge_replication_not_supported () const
 
bool assisted_replication_supported () const
 
bool assisted_replication_leaf () const
 
- Public Member Functions inherited from DBState
virtual ~DBState ()
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (EvpnRemoteMcastNode)
 

Additional Inherited Members

- Public Types inherited from EvpnMcastNode
enum  Type { LocalNode, RemoteNode }
 
- Protected Attributes inherited from EvpnMcastNode
EvpnManagerPartitionpartition_
 
EvpnStatePtr state_
 
EvpnRouteroute_
 
uint8_t type_
 
BgpAttrPtr attr_
 
uint32_t label_
 
Ip4Address address_
 
Ip4Address replicator_address_
 
bool edge_replication_not_supported_
 
bool assisted_replication_supported_
 
bool assisted_replication_leaf_
 

Detailed Description

This class represents (in the context of an EVPN instance) a remote vRouter or PE discovered via BGP. An EvpnRemoteMcastNode is created and associated as DBState with the Inclusive Multicast route in question.

An EvpnRemoteMcastNode also gets created for the Inclusive Multicast route that's added for each EvpnLocalMcastNode. This is required only to support test mode where vRouter acts like PE that doesn't support edge replication.

Definition at line 170 of file bgp_evpn.h.

Constructor & Destructor Documentation

EvpnRemoteMcastNode::EvpnRemoteMcastNode ( EvpnManagerPartition partition,
EvpnRoute route 
)

Definition at line 375 of file bgp_evpn.cc.

EvpnRemoteMcastNode::EvpnRemoteMcastNode ( EvpnManagerPartition partition,
EvpnRoute route,
EvpnStatePtr  state 
)

Definition at line 380 of file bgp_evpn.cc.

EvpnRemoteMcastNode::~EvpnRemoteMcastNode ( )
virtual

Definition at line 388 of file bgp_evpn.cc.

Member Function Documentation

EvpnRemoteMcastNode::DISALLOW_COPY_AND_ASSIGN ( EvpnRemoteMcastNode  )
private
void EvpnRemoteMcastNode::TriggerUpdate ( )
virtual

Handle update of EvpnRemoteMcastNode.

Implements EvpnMcastNode.

Definition at line 394 of file bgp_evpn.cc.


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