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

#include <agent_path.h>

Inheritance diagram for EvpnDerivedPath:
Collaboration diagram for EvpnDerivedPath:

Public Member Functions

 EvpnDerivedPath (const EvpnPeer *evpn_peer, const IpAddress &ip_addr, uint32_t ethernet_tag, const std::string &parent)
 
virtual ~EvpnDerivedPath ()
 
virtual const NextHopComputeNextHop (Agent *agent) const
 
virtual bool IsLess (const AgentPath &right) const
 
const IpAddressip_addr () const
 
void set_ip_addr (const IpAddress &ip_addr)
 
const std::string & parent () const
 
void set_parent (const std::string &parent)
 
uint32_t ethernet_tag () const
 
void set_ethernet_tag (uint32_t ethernet_tag)
 
- Public Member Functions inherited from AgentPath
 AgentPath (const Peer *peer, AgentRoute *rt)
 
virtual ~AgentPath ()
 
virtual const AgentPathUsablePath () const
 
virtual bool Sync (AgentRoute *sync_route)
 
void ImportPrevActiveNH (Agent *agent, NextHop *nh)
 
virtual bool PostChangeNH (Agent *agent, NextHop *nh)
 
const SecurityGroupListsg_list () const
 
const TagListtag_list () const
 
const CommunityListcommunities () const
 
const std::string & dest_vn_name () const
 
const VnListTypedest_vn_list () const
 
const std::string & origin_vn () const
 
void GetDestinationVnList (std::vector< std::string > *vn_list) const
 
uint32_t GetActiveLabel () const
 
NextHopnexthop () const
 
const Peerpeer () const
 
uint32_t label () const
 
uint32_t vxlan_id () const
 
TunnelType::Type tunnel_type () const
 
uint32_t tunnel_bmap () const
 
const IpAddressgw_ip () const
 
const std::string & vrf_name () const
 
bool force_policy () const
 
const bool unresolved () const
 
const Ip4Addresstunnel_dest () const
 
bool is_subnet_discard () const
 
const IpAddress subnet_service_ip () const
 
TunnelType::Type GetTunnelType () const
 
void set_nexthop (NextHop *nh)
 
void set_vxlan_id (uint32_t vxlan_id)
 
void set_label (uint32_t label)
 
void set_dest_vn_list (const VnListType &dest_vn_list)
 
void set_origin_vn (const std::string &origin_vn)
 
void set_unresolved (bool unresolved)
 
void set_gw_ip (const IpAddress &addr)
 
void set_force_policy (bool force_policy)
 
void set_vrf_name (const std::string &vrf_name)
 
void set_tunnel_bmap (TunnelType::TypeBmap bmap)
 
void set_tunnel_type (TunnelType::Type type)
 
void set_sg_list (const SecurityGroupList &sg)
 
void set_tag_list (const TagList &tag)
 
void set_communities (const CommunityList &communities)
 
void clear_sg_list ()
 
void clear_tag_list ()
 
void clear_communities ()
 
void set_tunnel_dest (const Ip4Address &tunnel_dest)
 
void set_is_subnet_discard (bool discard)
 
void set_subnet_service_ip (const IpAddress &ip)
 
void set_copy_local_path (bool copy_local_path)
 
void set_local_ecmp_mpls_label (MplsLabel *mpls)
 
bool dest_vn_match (const std::string &vn) const
 
const MplsLabellocal_ecmp_mpls_label () const
 
void ClearDependantRoute ()
 
void ResetDependantRoute (AgentRoute *rt)
 
const AgentRoutedependant_rt () const
 
bool ChangeNH (Agent *agent, NextHop *nh)
 
void SyncRoute (bool sync)
 
bool RouteNeedsSync ()
 
uint32_t GetTunnelBmap () const
 
bool UpdateNHPolicy (Agent *agent)
 
bool UpdateTunnelType (Agent *agent, const AgentRoute *sync_route)
 
bool ResolveGwNextHops (Agent *agent, const AgentRoute *sync_route)
 
bool RebakeAllTunnelNHinCompositeNH (const AgentRoute *sync_route)
 
virtual std::string ToString () const
 
void SetSandeshData (PathSandeshData &data) const
 
uint32_t preference () const
 
uint32_t sequence () const
 
const PathPreferencepath_preference () const
 
PathPreferencepath_preference_non_const ()
 
void set_path_preference (const PathPreference &rp)
 
void set_composite_nh_key (CompositeNHKey *key)
 
CompositeNHKeycomposite_nh_key ()
 
bool ReorderCompositeNH (Agent *agent, CompositeNHKey *nh, bool &comp_nh_policy, const AgentPath *local_path)
 
bool ChangeCompositeNH (Agent *agent, CompositeNHKey *nh)
 
const Ip4AddressNexthopIp (Agent *agent) const
 
MacAddress arp_mac () const
 
void set_arp_mac (const MacAddress &mac)
 
const Interfacearp_interface () const
 
void set_arp_interface (const Interface *intf)
 
bool arp_valid () const
 
void set_arp_valid (bool valid)
 
bool ecmp_suppressed () const
 
void set_ecmp_suppressed (bool suppresed)
 
bool CopyArpData ()
 
bool CopyNdpData ()
 
const IpAddressGetFixedIp () const
 
const EcmpLoadBalanceecmp_load_balance () const
 
void set_ecmp_load_balance (const EcmpLoadBalance &ecmp_load_balance)
 
bool is_local () const
 
void set_is_local (bool is_local)
 
bool is_health_check_service () const
 
void set_is_health_check_service (bool val)
 
bool etree_leaf () const
 
void set_etree_leaf (bool leaf)
 
bool layer2_control_word () const
 
void set_layer2_control_word (bool layer2_control_word)
 
void set_native_vrf_id (uint32_t vrf_id)
 
uint32_t native_vrf_id () const
 
void UpdateEcmpHashFields (const Agent *agent, const EcmpLoadBalance &ecmp_load_balance, DBRequest &nh_req)
 
uint64_t peer_sequence_number () const
 
void set_peer_sequence_number (uint64_t sequence_number)
 
bool ResyncControlWord (const AgentRoute *rt)
 
bool inactive () const
 
void set_inactive (bool inactive)
 
void ResetEcmpHashFields ()
 
void CopyLocalPath (CompositeNHKey *composite_nh_key, const AgentPath *local_path)
 
AgentRouteGetParentRoute ()
 
void ResetEcmpMemberList (AgentPathEcmpComponentPtrList list)
 
AgentRouteTableGetDependentTable () const
 
void SetDependentTable (AgentRouteTable *table)
 
void SetDynamicLearntRouteFlag (bool is_learnt_route)
 
bool IsDynamicLearntRoute ()
 
- Public Member Functions inherited from Path
 Path ()
 
virtual ~Path ()
 
const uint64_t time_stamp_usecs () const
 
void set_time_stamp_usecs (uint64_t time_stamp_usecs)
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (EvpnDerivedPath)
 

Private Attributes

IpAddress ip_addr_
 
uint32_t ethernet_tag_
 
std::string parent_
 

Detailed Description

Definition at line 549 of file agent_path.h.

Constructor & Destructor Documentation

EvpnDerivedPath::EvpnDerivedPath ( const EvpnPeer evpn_peer,
const IpAddress ip_addr,
uint32_t  ethernet_tag,
const std::string &  parent 
)

Definition at line 626 of file agent_path.cc.

virtual EvpnDerivedPath::~EvpnDerivedPath ( )
inlinevirtual

Definition at line 555 of file agent_path.h.

Member Function Documentation

const NextHop * EvpnDerivedPath::ComputeNextHop ( Agent agent) const
virtual

Reimplemented from AgentPath.

Definition at line 647 of file agent_path.cc.

Here is the call graph for this function:

EvpnDerivedPath::DISALLOW_COPY_AND_ASSIGN ( EvpnDerivedPath  )
private
uint32_t EvpnDerivedPath::ethernet_tag ( ) const
inline

Definition at line 565 of file agent_path.h.

const IpAddress& EvpnDerivedPath::ip_addr ( ) const
inline

Definition at line 561 of file agent_path.h.

bool EvpnDerivedPath::IsLess ( const AgentPath right) const
virtual

Reimplemented from AgentPath.

Definition at line 635 of file agent_path.cc.

Here is the call graph for this function:

const std::string& EvpnDerivedPath::parent ( ) const
inline

Definition at line 563 of file agent_path.h.

void EvpnDerivedPath::set_ethernet_tag ( uint32_t  ethernet_tag)
inline

Definition at line 566 of file agent_path.h.

Here is the call graph for this function:

void EvpnDerivedPath::set_ip_addr ( const IpAddress ip_addr)
inline

Definition at line 562 of file agent_path.h.

Here is the call graph for this function:

void EvpnDerivedPath::set_parent ( const std::string &  parent)
inline

Definition at line 564 of file agent_path.h.

Here is the call graph for this function:

Member Data Documentation

uint32_t EvpnDerivedPath::ethernet_tag_
private

Definition at line 571 of file agent_path.h.

IpAddress EvpnDerivedPath::ip_addr_
private

Definition at line 570 of file agent_path.h.

std::string EvpnDerivedPath::parent_
private

Definition at line 573 of file agent_path.h.


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