OpenSDN source code
AgentPath Class Reference

#include <agent_path.h>

Inheritance diagram for AgentPath:
Collaboration diagram for AgentPath:

Public Member Functions

 AgentPath (const Peer *peer, AgentRoute *rt)
 
virtual ~AgentPath ()
 
virtual const NextHopComputeNextHop (Agent *agent) const
 
virtual bool IsLess (const AgentPath &right) const
 
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 (AgentPath)
 

Private Attributes

PeerConstPtr peer_
 
NextHopRef nh_
 
uint32_t label_
 
uint32_t vxlan_id_
 
VnListType dest_vn_list_
 
std::string origin_vn_
 
bool sync_
 
bool force_policy_
 
SecurityGroupList sg_list_
 
TagList tag_list_
 
CommunityList communities_
 
Ip4Address tunnel_dest_
 
TunnelType::TypeBmap tunnel_bmap_
 
TunnelType::Type tunnel_type_
 
std::string vrf_name_
 
IpAddress gw_ip_
 
bool unresolved_
 
bool is_subnet_discard_
 
DependencyRef< AgentRoute, AgentRoutedependant_rt_
 
PathPreference path_preference_
 
DependencyRef< AgentRoute, MplsLabellocal_ecmp_mpls_label_
 
boost::scoped_ptr< CompositeNHKeycomposite_nh_key_
 
IpAddress subnet_service_ip_
 
MacAddress arp_mac_
 
InterfaceConstRef arp_interface_
 
bool arp_valid_
 
bool ecmp_suppressed_
 
EcmpLoadBalance ecmp_load_balance_
 
bool is_local_
 
bool is_health_check_service_
 
EcmpHashFields ecmp_hash_fields_
 
uint64_t peer_sequence_number_
 
bool etree_leaf_
 
bool layer2_control_word_
 
bool inactive_
 
bool copy_local_path_
 
uint32_t native_vrf_id_
 
AgentRouteparent_rt_
 
AgentPathEcmpComponentPtrList ecmp_member_list_
 
AgentRouteTabledependent_table_
 
bool is_learnt_route_
 

Detailed Description

Definition at line 231 of file agent_path.h.

Constructor & Destructor Documentation

◆ AgentPath()

AgentPath::AgentPath ( const Peer peer,
AgentRoute rt 
)

Definition at line 51 of file agent_path.cc.

◆ ~AgentPath()

AgentPath::~AgentPath ( )
virtual

Definition at line 66 of file agent_path.cc.

Here is the call graph for this function:

Member Function Documentation

◆ arp_interface()

const Interface* AgentPath::arp_interface ( ) const
inline

Definition at line 349 of file agent_path.h.

◆ arp_mac()

MacAddress AgentPath::arp_mac ( ) const
inline

Definition at line 345 of file agent_path.h.

◆ arp_valid()

bool AgentPath::arp_valid ( ) const
inline

Definition at line 354 of file agent_path.h.

◆ ChangeCompositeNH()

bool AgentPath::ChangeCompositeNH ( Agent agent,
CompositeNHKey nh 
)

Definition at line 1920 of file agent_path.cc.

Here is the call graph for this function:

◆ ChangeNH()

bool AgentPath::ChangeNH ( Agent agent,
NextHop nh 
)

Definition at line 119 of file agent_path.cc.

Here is the call graph for this function:

◆ clear_communities()

void AgentPath::clear_communities ( )
inline

Definition at line 296 of file agent_path.h.

◆ clear_sg_list()

void AgentPath::clear_sg_list ( )
inline

Definition at line 294 of file agent_path.h.

◆ clear_tag_list()

void AgentPath::clear_tag_list ( )
inline

Definition at line 295 of file agent_path.h.

◆ ClearDependantRoute()

void AgentPath::ClearDependantRoute ( )
inline

Definition at line 314 of file agent_path.h.

Here is the call graph for this function:

◆ communities()

const CommunityList& AgentPath::communities ( ) const
inline

Definition at line 250 of file agent_path.h.

◆ composite_nh_key()

CompositeNHKey* AgentPath::composite_nh_key ( )
inline

Definition at line 335 of file agent_path.h.

◆ ComputeNextHop()

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

Reimplemented in InetEvpnRoutePath, MacVmBindingPath, and EvpnDerivedPath.

Definition at line 91 of file agent_path.cc.

Here is the call graph for this function:

◆ CopyArpData()

bool AgentPath::CopyArpData ( )

Definition at line 582 of file agent_path.cc.

Here is the call graph for this function:

◆ CopyLocalPath()

void AgentPath::CopyLocalPath ( CompositeNHKey composite_nh_key,
const AgentPath local_path 
)

Definition at line 1824 of file agent_path.cc.

Here is the call graph for this function:

◆ CopyNdpData()

bool AgentPath::CopyNdpData ( )

Definition at line 604 of file agent_path.cc.

Here is the call graph for this function:

◆ dependant_rt()

const AgentRoute* AgentPath::dependant_rt ( ) const
inline

Definition at line 316 of file agent_path.h.

Here is the call graph for this function:

◆ dest_vn_list()

const VnListType& AgentPath::dest_vn_list ( ) const
inline

Definition at line 258 of file agent_path.h.

◆ dest_vn_match()

bool AgentPath::dest_vn_match ( const std::string &  vn) const

Definition at line 1809 of file agent_path.cc.

◆ dest_vn_name()

const std::string& AgentPath::dest_vn_name ( ) const
inline

Definition at line 251 of file agent_path.h.

Here is the call graph for this function:

◆ DISALLOW_COPY_AND_ASSIGN()

AgentPath::DISALLOW_COPY_AND_ASSIGN ( AgentPath  )
private

◆ ecmp_load_balance()

const EcmpLoadBalance& AgentPath::ecmp_load_balance ( ) const
inline

Definition at line 365 of file agent_path.h.

◆ ecmp_suppressed()

bool AgentPath::ecmp_suppressed ( ) const
inline

Definition at line 357 of file agent_path.h.

◆ etree_leaf()

bool AgentPath::etree_leaf ( ) const
inline

Definition at line 388 of file agent_path.h.

◆ force_policy()

bool AgentPath::force_policy ( ) const
inline

Definition at line 270 of file agent_path.h.

◆ GetActiveLabel()

uint32_t AgentPath::GetActiveLabel ( ) const

Definition at line 79 of file agent_path.cc.

◆ GetDependentTable()

AgentRouteTable* AgentPath::GetDependentTable ( ) const
inline

Definition at line 432 of file agent_path.h.

◆ GetDestinationVnList()

void AgentPath::GetDestinationVnList ( std::vector< std::string > *  vn_list) const

Definition at line 1713 of file agent_path.cc.

Here is the call graph for this function:

◆ GetFixedIp()

const IpAddress& AgentPath::GetFixedIp ( ) const
inline

Definition at line 362 of file agent_path.h.

Here is the call graph for this function:

◆ GetParentRoute()

AgentRoute* AgentPath::GetParentRoute ( )
inline

Definition at line 428 of file agent_path.h.

◆ GetTunnelBmap()

uint32_t AgentPath::GetTunnelBmap ( ) const

Definition at line 70 of file agent_path.cc.

Here is the call graph for this function:

◆ GetTunnelType()

TunnelType::Type AgentPath::GetTunnelType ( ) const
inline

Definition at line 276 of file agent_path.h.

Here is the call graph for this function:

◆ gw_ip()

const IpAddress& AgentPath::gw_ip ( ) const
inline

Definition at line 268 of file agent_path.h.

◆ ImportPrevActiveNH()

void AgentPath::ImportPrevActiveNH ( Agent agent,
NextHop nh 
)

Definition at line 299 of file agent_path.cc.

Here is the call graph for this function:

◆ inactive()

bool AgentPath::inactive ( ) const
inline

Definition at line 420 of file agent_path.h.

◆ is_health_check_service()

bool AgentPath::is_health_check_service ( ) const
inline

Definition at line 380 of file agent_path.h.

◆ is_local()

bool AgentPath::is_local ( ) const
inline

Definition at line 372 of file agent_path.h.

◆ is_subnet_discard()

bool AgentPath::is_subnet_discard ( ) const
inline

Definition at line 273 of file agent_path.h.

◆ IsDynamicLearntRoute()

bool AgentPath::IsDynamicLearntRoute ( )
inline

Definition at line 439 of file agent_path.h.

◆ IsLess()

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

Reimplemented in MacVmBindingPath, EvpnDerivedPath, and InetEvpnRoutePath.

Definition at line 561 of file agent_path.cc.

Here is the call graph for this function:

◆ label()

uint32_t AgentPath::label ( ) const
inline

Definition at line 264 of file agent_path.h.

◆ layer2_control_word()

bool AgentPath::layer2_control_word ( ) const
inline

Definition at line 396 of file agent_path.h.

◆ local_ecmp_mpls_label()

const MplsLabel * AgentPath::local_ecmp_mpls_label ( ) const

Definition at line 1815 of file agent_path.cc.

Here is the call graph for this function:

◆ native_vrf_id()

uint32_t AgentPath::native_vrf_id ( ) const
inline

Definition at line 408 of file agent_path.h.

◆ nexthop()

NextHop * AgentPath::nexthop ( ) const

Definition at line 87 of file agent_path.cc.

◆ NexthopIp()

const Ip4Address * AgentPath::NexthopIp ( Agent agent) const

Definition at line 1955 of file agent_path.cc.

Here is the call graph for this function:

◆ origin_vn()

const std::string& AgentPath::origin_vn ( ) const
inline

Definition at line 259 of file agent_path.h.

◆ path_preference()

const PathPreference& AgentPath::path_preference ( ) const
inline

Definition at line 329 of file agent_path.h.

◆ path_preference_non_const()

PathPreference& AgentPath::path_preference_non_const ( )
inline

Definition at line 330 of file agent_path.h.

◆ peer()

const Peer* AgentPath::peer ( ) const
inline

Definition at line 263 of file agent_path.h.

◆ peer_sequence_number()

uint64_t AgentPath::peer_sequence_number ( ) const
inline

Definition at line 415 of file agent_path.h.

◆ PostChangeNH()

bool AgentPath::PostChangeNH ( Agent agent,
NextHop nh 
)
virtual

Reimplemented in MulticastRoutePath.

Definition at line 147 of file agent_path.cc.

◆ preference()

uint32_t AgentPath::preference ( ) const
inline

Definition at line 327 of file agent_path.h.

Here is the call graph for this function:

◆ RebakeAllTunnelNHinCompositeNH()

bool AgentPath::RebakeAllTunnelNHinCompositeNH ( const AgentRoute sync_route)

Definition at line 151 of file agent_path.cc.

Here is the call graph for this function:

◆ ReorderCompositeNH()

bool AgentPath::ReorderCompositeNH ( Agent agent,
CompositeNHKey nh,
bool &  comp_nh_policy,
const AgentPath local_path 
)

Definition at line 1851 of file agent_path.cc.

Here is the call graph for this function:

◆ ResetDependantRoute()

void AgentPath::ResetDependantRoute ( AgentRoute rt)
inline

Definition at line 315 of file agent_path.h.

Here is the call graph for this function:

◆ ResetEcmpHashFields()

void AgentPath::ResetEcmpHashFields ( )

Definition at line 2029 of file agent_path.cc.

Here is the call graph for this function:

◆ ResetEcmpMemberList()

void AgentPath::ResetEcmpMemberList ( AgentPathEcmpComponentPtrList  list)
inline

Definition at line 429 of file agent_path.h.

◆ ResolveGwNextHops()

bool AgentPath::ResolveGwNextHops ( Agent agent,
const AgentRoute sync_route 
)

Definition at line 327 of file agent_path.cc.

Here is the call graph for this function:

◆ ResyncControlWord()

bool AgentPath::ResyncControlWord ( const AgentRoute rt)

Definition at line 2033 of file agent_path.cc.

Here is the call graph for this function:

◆ RouteNeedsSync()

bool AgentPath::RouteNeedsSync ( )
inline

Definition at line 319 of file agent_path.h.

◆ sequence()

uint32_t AgentPath::sequence ( ) const
inline

Definition at line 328 of file agent_path.h.

Here is the call graph for this function:

◆ set_arp_interface()

void AgentPath::set_arp_interface ( const Interface intf)
inline

Definition at line 350 of file agent_path.h.

◆ set_arp_mac()

void AgentPath::set_arp_mac ( const MacAddress mac)
inline

Definition at line 346 of file agent_path.h.

◆ set_arp_valid()

void AgentPath::set_arp_valid ( bool  valid)
inline

Definition at line 355 of file agent_path.h.

◆ set_communities()

void AgentPath::set_communities ( const CommunityList communities)
inline

Definition at line 293 of file agent_path.h.

Here is the call graph for this function:

◆ set_composite_nh_key()

void AgentPath::set_composite_nh_key ( CompositeNHKey key)
inline

Definition at line 332 of file agent_path.h.

◆ set_copy_local_path()

void AgentPath::set_copy_local_path ( bool  copy_local_path)
inline

Definition at line 307 of file agent_path.h.

◆ set_dest_vn_list()

void AgentPath::set_dest_vn_list ( const VnListType dest_vn_list)
inline

Definition at line 283 of file agent_path.h.

Here is the call graph for this function:

◆ set_ecmp_load_balance()

void AgentPath::set_ecmp_load_balance ( const EcmpLoadBalance ecmp_load_balance)
inline

Definition at line 368 of file agent_path.h.

Here is the call graph for this function:

◆ set_ecmp_suppressed()

void AgentPath::set_ecmp_suppressed ( bool  suppresed)
inline

Definition at line 358 of file agent_path.h.

◆ set_etree_leaf()

void AgentPath::set_etree_leaf ( bool  leaf)
inline

Definition at line 392 of file agent_path.h.

◆ set_force_policy()

void AgentPath::set_force_policy ( bool  force_policy)
inline

Definition at line 287 of file agent_path.h.

Here is the call graph for this function:

◆ set_gw_ip()

void AgentPath::set_gw_ip ( const IpAddress addr)
inline

Definition at line 286 of file agent_path.h.

◆ set_inactive()

void AgentPath::set_inactive ( bool  inactive)
inline

Definition at line 421 of file agent_path.h.

Here is the call graph for this function:

◆ set_is_health_check_service()

void AgentPath::set_is_health_check_service ( bool  val)
inline

Definition at line 384 of file agent_path.h.

◆ set_is_local()

void AgentPath::set_is_local ( bool  is_local)
inline

Definition at line 376 of file agent_path.h.

Here is the call graph for this function:

◆ set_is_subnet_discard()

void AgentPath::set_is_subnet_discard ( bool  discard)
inline

Definition at line 300 of file agent_path.h.

◆ set_label()

void AgentPath::set_label ( uint32_t  label)
inline

Definition at line 282 of file agent_path.h.

Here is the call graph for this function:

◆ set_layer2_control_word()

void AgentPath::set_layer2_control_word ( bool  layer2_control_word)
inline

Definition at line 400 of file agent_path.h.

Here is the call graph for this function:

◆ set_local_ecmp_mpls_label()

void AgentPath::set_local_ecmp_mpls_label ( MplsLabel mpls)

Definition at line 1805 of file agent_path.cc.

Here is the call graph for this function:

◆ set_native_vrf_id()

void AgentPath::set_native_vrf_id ( uint32_t  vrf_id)
inline

Definition at line 404 of file agent_path.h.

◆ set_nexthop()

void AgentPath::set_nexthop ( NextHop nh)

Definition at line 578 of file agent_path.cc.

◆ set_origin_vn()

void AgentPath::set_origin_vn ( const std::string &  origin_vn)
inline

Definition at line 284 of file agent_path.h.

Here is the call graph for this function:

◆ set_path_preference()

void AgentPath::set_path_preference ( const PathPreference rp)
inline

Definition at line 331 of file agent_path.h.

◆ set_peer_sequence_number()

void AgentPath::set_peer_sequence_number ( uint64_t  sequence_number)
inline

Definition at line 416 of file agent_path.h.

◆ set_sg_list()

void AgentPath::set_sg_list ( const SecurityGroupList sg)
inline

Definition at line 291 of file agent_path.h.

◆ set_subnet_service_ip()

void AgentPath::set_subnet_service_ip ( const IpAddress ip)
inline

Definition at line 303 of file agent_path.h.

◆ set_tag_list()

void AgentPath::set_tag_list ( const TagList tag)
inline

Definition at line 292 of file agent_path.h.

◆ set_tunnel_bmap()

void AgentPath::set_tunnel_bmap ( TunnelType::TypeBmap  bmap)
inline

Definition at line 289 of file agent_path.h.

◆ set_tunnel_dest()

void AgentPath::set_tunnel_dest ( const Ip4Address tunnel_dest)
inline

Definition at line 297 of file agent_path.h.

Here is the call graph for this function:

◆ set_tunnel_type()

void AgentPath::set_tunnel_type ( TunnelType::Type  type)
inline

Definition at line 290 of file agent_path.h.

◆ set_unresolved()

void AgentPath::set_unresolved ( bool  unresolved)
inline

Definition at line 285 of file agent_path.h.

Here is the call graph for this function:

◆ set_vrf_name()

void AgentPath::set_vrf_name ( const std::string &  vrf_name)
inline

Definition at line 288 of file agent_path.h.

Here is the call graph for this function:

◆ set_vxlan_id()

void AgentPath::set_vxlan_id ( uint32_t  vxlan_id)
inline

Definition at line 281 of file agent_path.h.

Here is the call graph for this function:

◆ SetDependentTable()

void AgentPath::SetDependentTable ( AgentRouteTable table)
inline

Definition at line 433 of file agent_path.h.

◆ SetDynamicLearntRouteFlag()

void AgentPath::SetDynamicLearntRouteFlag ( bool  is_learnt_route)
inline

Definition at line 436 of file agent_path.h.

◆ SetSandeshData()

void AgentPath::SetSandeshData ( PathSandeshData &  data) const

Definition at line 1720 of file agent_path.cc.

Here is the call graph for this function:

◆ sg_list()

const SecurityGroupList& AgentPath::sg_list ( ) const
inline

Definition at line 248 of file agent_path.h.

◆ subnet_service_ip()

const IpAddress AgentPath::subnet_service_ip ( ) const
inline

Definition at line 274 of file agent_path.h.

◆ Sync()

bool AgentPath::Sync ( AgentRoute sync_route)
virtual

Reimplemented in InetEvpnRoutePath.

Definition at line 440 of file agent_path.cc.

Here is the call graph for this function:

◆ SyncRoute()

void AgentPath::SyncRoute ( bool  sync)
inline

Definition at line 318 of file agent_path.h.

◆ tag_list()

const TagList& AgentPath::tag_list ( ) const
inline

Definition at line 249 of file agent_path.h.

◆ ToString()

virtual std::string AgentPath::ToString ( ) const
inlinevirtual

Implements Path.

Reimplemented in InetEvpnRoutePath.

Definition at line 325 of file agent_path.h.

◆ tunnel_bmap()

uint32_t AgentPath::tunnel_bmap ( ) const
inline

Definition at line 267 of file agent_path.h.

◆ tunnel_dest()

const Ip4Address& AgentPath::tunnel_dest ( ) const
inline

Definition at line 272 of file agent_path.h.

◆ tunnel_type()

TunnelType::Type AgentPath::tunnel_type ( ) const
inline

Definition at line 266 of file agent_path.h.

◆ unresolved()

const bool AgentPath::unresolved ( ) const
inline

Definition at line 271 of file agent_path.h.

◆ UpdateEcmpHashFields()

void AgentPath::UpdateEcmpHashFields ( const Agent agent,
const EcmpLoadBalance ecmp_load_balance,
DBRequest nh_req 
)

Definition at line 2006 of file agent_path.cc.

Here is the call graph for this function:

◆ UpdateNHPolicy()

bool AgentPath::UpdateNHPolicy ( Agent agent)

Definition at line 184 of file agent_path.cc.

Here is the call graph for this function:

◆ UpdateTunnelType()

bool AgentPath::UpdateTunnelType ( Agent agent,
const AgentRoute sync_route 
)

Definition at line 228 of file agent_path.cc.

Here is the call graph for this function:

◆ UsablePath()

const AgentPath * AgentPath::UsablePath ( ) const
virtual

Reimplemented in InetEvpnRoutePath.

Definition at line 574 of file agent_path.cc.

◆ vrf_name()

const std::string& AgentPath::vrf_name ( ) const
inline

Definition at line 269 of file agent_path.h.

◆ vxlan_id()

uint32_t AgentPath::vxlan_id ( ) const
inline

Definition at line 265 of file agent_path.h.

Member Data Documentation

◆ arp_interface_

InterfaceConstRef AgentPath::arp_interface_
private

Definition at line 504 of file agent_path.h.

◆ arp_mac_

MacAddress AgentPath::arp_mac_
private

Definition at line 502 of file agent_path.h.

◆ arp_valid_

bool AgentPath::arp_valid_
private

Definition at line 505 of file agent_path.h.

◆ communities_

CommunityList AgentPath::communities_
private

Definition at line 469 of file agent_path.h.

◆ composite_nh_key_

boost::scoped_ptr<CompositeNHKey> AgentPath::composite_nh_key_
private

Definition at line 494 of file agent_path.h.

◆ copy_local_path_

bool AgentPath::copy_local_path_
private

Definition at line 528 of file agent_path.h.

◆ dependant_rt_

DependencyRef<AgentRoute, AgentRoute> AgentPath::dependant_rt_
private

Definition at line 489 of file agent_path.h.

◆ dependent_table_

AgentRouteTable* AgentPath::dependent_table_
private

Definition at line 534 of file agent_path.h.

◆ dest_vn_list_

VnListType AgentPath::dest_vn_list_
private

Definition at line 452 of file agent_path.h.

◆ ecmp_hash_fields_

EcmpHashFields AgentPath::ecmp_hash_fields_
private

Definition at line 519 of file agent_path.h.

◆ ecmp_load_balance_

EcmpLoadBalance AgentPath::ecmp_load_balance_
private

Definition at line 509 of file agent_path.h.

◆ ecmp_member_list_

AgentPathEcmpComponentPtrList AgentPath::ecmp_member_list_
private

Definition at line 533 of file agent_path.h.

◆ ecmp_suppressed_

bool AgentPath::ecmp_suppressed_
private

Definition at line 508 of file agent_path.h.

◆ etree_leaf_

bool AgentPath::etree_leaf_
private

Definition at line 522 of file agent_path.h.

◆ force_policy_

bool AgentPath::force_policy_
private

Definition at line 466 of file agent_path.h.

◆ gw_ip_

IpAddress AgentPath::gw_ip_
private

Definition at line 481 of file agent_path.h.

◆ inactive_

bool AgentPath::inactive_
private

Definition at line 527 of file agent_path.h.

◆ is_health_check_service_

bool AgentPath::is_health_check_service_
private

Definition at line 516 of file agent_path.h.

◆ is_learnt_route_

bool AgentPath::is_learnt_route_
private

Definition at line 535 of file agent_path.h.

◆ is_local_

bool AgentPath::is_local_
private

Definition at line 512 of file agent_path.h.

◆ is_subnet_discard_

bool AgentPath::is_subnet_discard_
private

Definition at line 487 of file agent_path.h.

◆ label_

uint32_t AgentPath::label_
private

Definition at line 448 of file agent_path.h.

◆ layer2_control_word_

bool AgentPath::layer2_control_word_
private

Definition at line 526 of file agent_path.h.

◆ local_ecmp_mpls_label_

DependencyRef<AgentRoute, MplsLabel> AgentPath::local_ecmp_mpls_label_
private

Definition at line 492 of file agent_path.h.

◆ native_vrf_id_

uint32_t AgentPath::native_vrf_id_
private

Definition at line 531 of file agent_path.h.

◆ nh_

NextHopRef AgentPath::nh_
private

Definition at line 446 of file agent_path.h.

◆ origin_vn_

std::string AgentPath::origin_vn_
private

Definition at line 454 of file agent_path.h.

◆ parent_rt_

AgentRoute* AgentPath::parent_rt_
private

Definition at line 532 of file agent_path.h.

◆ path_preference_

PathPreference AgentPath::path_preference_
private

Definition at line 490 of file agent_path.h.

◆ peer_

PeerConstPtr AgentPath::peer_
private

Definition at line 444 of file agent_path.h.

◆ peer_sequence_number_

uint64_t AgentPath::peer_sequence_number_
private

Definition at line 520 of file agent_path.h.

◆ sg_list_

SecurityGroupList AgentPath::sg_list_
private

Definition at line 467 of file agent_path.h.

◆ subnet_service_ip_

IpAddress AgentPath::subnet_service_ip_
private

Definition at line 499 of file agent_path.h.

◆ sync_

bool AgentPath::sync_
private

Definition at line 459 of file agent_path.h.

◆ tag_list_

TagList AgentPath::tag_list_
private

Definition at line 468 of file agent_path.h.

◆ tunnel_bmap_

TunnelType::TypeBmap AgentPath::tunnel_bmap_
private

Definition at line 474 of file agent_path.h.

◆ tunnel_dest_

Ip4Address AgentPath::tunnel_dest_
private

Definition at line 472 of file agent_path.h.

◆ tunnel_type_

TunnelType::Type AgentPath::tunnel_type_
private

Definition at line 476 of file agent_path.h.

◆ unresolved_

bool AgentPath::unresolved_
private

Definition at line 485 of file agent_path.h.

◆ vrf_name_

std::string AgentPath::vrf_name_
private

Definition at line 479 of file agent_path.h.

◆ vxlan_id_

uint32_t AgentPath::vxlan_id_
private

Definition at line 450 of file agent_path.h.


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