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

#include <bridge_route.h>

Inheritance diagram for BridgeRouteEntry:
Collaboration diagram for BridgeRouteEntry:

Public Member Functions

 BridgeRouteEntry (VrfEntry *vrf, const MacAddress &mac, Peer::Type type, bool is_multicast)
 
virtual ~BridgeRouteEntry ()
 
virtual int CompareTo (const Route &rhs) const
 
virtual std::string ToString () const
 
virtual void UpdateDependantRoutes ()
 
virtual void UpdateNH ()
 
virtual KeyPtr GetDBRequestKey () const
 
virtual void SetKey (const DBRequestKey *key)
 
virtual const std::string GetAddressString () const
 
virtual const std::string GetSourceAddressString () const
 
virtual Agent::RouteTableType GetTableType () const
 
virtual bool DBEntrySandesh (Sandesh *sresp, bool stale) const
 
virtual uint32_t GetActiveLabel () const
 
virtual bool ReComputePathDeletion (AgentPath *path)
 
virtual bool ReComputePathAdd (AgentPath *path)
 
virtual AgentPathFindPathUsingKeyData (const AgentRouteKey *key, const AgentRouteData *data) const
 
virtual bool ValidateMcastSrc () const
 
uint8_t prefix_length () const
 The length of L3 IP prefix (if present) associated with this L2 address. More...
 
const MacVmBindingPathFindMacVmBindingPath () const
 
- Public Member Functions inherited from AgentRoute
 AgentRoute (VrfEntry *vrf, bool is_multicast, const std::string &intf_route_type="interface")
 
virtual ~AgentRoute ()
 
virtual bool IsLess (const DBEntry &rhs) const
 
virtual AgentPathFindPath (const Peer *peer) const
 
virtual bool RecomputeRoutePath (Agent *agent, DBTablePartition *part, AgentPath *path, AgentRouteData *data)
 
virtual void UpdateDerivedRoutes (AgentRouteTable *table, const AgentPath *path, bool active_path_changed)
 
virtual void DeleteDerivedRoutes (AgentRouteTable *table)
 
bool is_multicast () const
 
VrfEntryvrf () const
 
uint32_t vrf_id () const
 
const std::string & intf_route_type () const
 
void set_intf_route_type (const std::string &intf_route_type)
 
AgentPathFindLocalPath () const
 
AgentPathFindLocalVmPortPath () const
 
const AgentPathFindIntfOrCompLocalVmPortPath () const
 Finds path to an interface or a composite of interfaces and returns it. The priority is given to composite: if both an interface and a composite are present, then the composite path is returned. More...
 
AgentPathGetLocalVmPortPath () const
 
const AgentPathGetActivePath () const
 
const NextHopGetActiveNextHop () const
 
const std::string & dest_vn_name () const
 
bool IsRPFInvalid () const
 
void EnqueueRouteResync () const
 
void ResyncTunnelNextHop ()
 
bool HasUnresolvedPath ()
 
bool Sync (void)
 
void UpdateDependantRoutes ()
 
bool IsDependantRouteEmpty ()
 
bool IsTunnelNHListEmpty ()
 
void FillTrace (RouteInfo &route, Trace event, const AgentPath *path) const
 
bool WaitForTraffic () const
 
bool DeleteAllBgpPath (DBTablePartBase *part, AgentRouteTable *table)
 
void DeletePathFromPeer (DBTablePartBase *part, AgentRouteTable *table, AgentPath *path)
 
bool SubOpResyncInput (VrfEntry *vrf, AgentRouteTable *table, AgentPath **path_ptr, AgentRouteKey *key, AgentRouteData *data)
 
bool SubOpAddChangeInput (VrfEntry *vrf, AgentRouteTable *table, AgentPath **path_ptr, AgentRouteKey *key, AgentRouteData *data, bool route_added)
 
void DeleteInput (DBTablePartition *part, AgentRouteTable *table, AgentRouteKey *key, AgentRouteData *data)
 
void AddUnresolvedRouteToTable (AgentRouteTable *table)
 
void RemoveUnresolvedRouteFromTable (AgentRouteTable *table)
 
- Public Member Functions inherited from Route
 Route ()
 
virtual ~Route ()
 
bool operator< (const Route &rhs) const
 
const Pathfront () const
 
void insert (const Path *path)
 
void remove (const Path *path)
 
void Sort (Compare compare, const Path *prev_front)
 
const PathListGetPathList () const
 
PathListGetPathList ()
 
- Public Member Functions inherited from DBEntry
 DBEntry ()
 
virtual ~DBEntry ()
 
bool operator< (const DBEntry &rhs) const
 
- Public Member Functions inherited from DBEntryBase
 DBEntryBase ()
 
virtual ~DBEntryBase ()
 
virtual bool IsMoreSpecific (const std::string &match) const
 
virtual bool IsLessSpecific (const std::string &match) const
 
void SetState (DBTableBase *tbl_base, ListenerId listener, DBState *state)
 
void ClearState (DBTableBase *tbl_base, ListenerId listener)
 
DBStateGetState (DBTableBase *tbl_base, ListenerId listener) const
 
const DBStateGetState (const DBTableBase *tbl_base, ListenerId listener) const
 
bool is_state_empty (DBTablePartBase *tpart)
 
bool is_state_empty_unlocked (DBTablePartBase *tpart)
 
void Delete ()
 
void MarkDelete ()
 
void ClearDelete ()
 
bool IsDeleted () const
 
void set_onlist ()
 
void clear_onlist ()
 
bool is_onlist ()
 
void SetOnRemoveQ ()
 
bool IsOnRemoveQ ()
 
void ClearOnRemoveQ ()
 
void set_last_change_at (uint64_t time)
 
void set_last_change_at_to_now ()
 
const uint64_t last_change_at () const
 
const std::string last_change_at_str () const
 
void set_last_update_at (uint64_t time)
 
void set_last_update_at_to_now ()
 
const uint64_t last_update_at () const
 
DBTablePartBaseget_table_partition () const
 
void set_table_partition (DBTablePartBase *tpart)
 
DBTableBaseget_table () const
 
void Notify ()
 
- Public Member Functions inherited from AgentRoutePrefix< MacAddress >
 AgentRoutePrefix (const MacAddress &new_prefix, uint8_t new_plen)
 Creates a new route prefix. More...
 
 ~AgentRoutePrefix ()
 The destructor of a route prefix. More...
 
virtual const MacAddressprefix_address () const
 Returns the value of a stored prefix address (IPv4, IPv6 or MAC address) More...
 
void set_prefix_length (uint8_t new_plen)
 Sets the length of a stored prefix address. More...
 

Private Member Functions

AgentPathFindEvpnPathUsingKeyData (const AgentRouteKey *key, const AgentRouteData *data) const
 
AgentPathFindMulticastPathUsingKeyData (const AgentRouteKey *key, const AgentRouteData *data) const
 
 DISALLOW_COPY_AND_ASSIGN (BridgeRouteEntry)
 

Additional Inherited Members

- Public Types inherited from AgentRoute
enum  Trace {
  ADD, DEL, ADD_PATH, DELETE_PATH,
  CHANGE_PATH, STALE_PATH
}
 
typedef DependencyList
< AgentRoute, AgentRoute
RouteDependencyList
 
typedef DependencyList
< NextHop, AgentRoute
TunnelNhDependencyList
 
- Public Types inherited from Route
typedef
boost::intrusive::member_hook
< Path,
boost::intrusive::list_member_hook
<>,&Path::node_
PathListMember
 
typedef boost::intrusive::list
< Path, PathListMember
PathList
 
typedef bool(* Compare )(const Path &path1, const Path &path2)
 
- Public Types inherited from DBEntryBase
typedef DBTableBase::ListenerId ListenerId
 
typedef std::unique_ptr
< DBRequestKey
KeyPtr
 
- Public Attributes inherited from DBEntryBase
boost::intrusive::list_member_hook chg_list_
 
- Protected Member Functions inherited from AgentRoute
void SetVrf (VrfEntry *vrf)
 
void RemovePath (AgentPath *path)
 
void InsertPath (const AgentPath *path)
 
virtual void HandleMulticastLabel (const Agent *agent, AgentPath *path, const AgentPath *local_peer_path, const AgentPath *local_vm_peer_path, bool del, uint32_t *evpn_label)
 
virtual bool ReComputeMulticastPaths (AgentPath *path, bool del)
 
virtual void HandleDeviceMastershipUpdate (AgentPath *path, bool del)
 
virtual Composite::Type GetMulticastCompType ()
 
const AgentRouteTableGetDependentRouteTable (void) const
 
- Protected Attributes inherited from AgentRoutePrefix< MacAddress >
MacAddress prefix_address_
 The prefix address. More...
 
uint8_t prefix_length_
 The prefix length. More...
 

Detailed Description

Definition at line 99 of file bridge_route.h.

Constructor & Destructor Documentation

BridgeRouteEntry::BridgeRouteEntry ( VrfEntry vrf,
const MacAddress mac,
Peer::Type  type,
bool  is_multicast 
)
inline

Definition at line 102 of file bridge_route.h.

virtual BridgeRouteEntry::~BridgeRouteEntry ( )
inlinevirtual

Definition at line 106 of file bridge_route.h.

Member Function Documentation

int BridgeRouteEntry::CompareTo ( const Route rhs) const
virtual

Implements AgentRoute.

Definition at line 326 of file bridge_route.cc.

Here is the call graph for this function:

bool BridgeRouteEntry::DBEntrySandesh ( Sandesh sresp,
bool  stale 
) const
virtual

Implements AgentRoute.

Definition at line 481 of file bridge_route.cc.

Here is the call graph for this function:

BridgeRouteEntry::DISALLOW_COPY_AND_ASSIGN ( BridgeRouteEntry  )
private
AgentPath * BridgeRouteEntry::FindEvpnPathUsingKeyData ( const AgentRouteKey key,
const AgentRouteData data 
) const
private

Definition at line 409 of file bridge_route.cc.

Here is the call graph for this function:

const MacVmBindingPath * BridgeRouteEntry::FindMacVmBindingPath ( ) const

Definition at line 436 of file bridge_route.cc.

Here is the call graph for this function:

AgentPath * BridgeRouteEntry::FindMulticastPathUsingKeyData ( const AgentRouteKey key,
const AgentRouteData data 
) const
private

Definition at line 374 of file bridge_route.cc.

Here is the call graph for this function:

AgentPath * BridgeRouteEntry::FindPathUsingKeyData ( const AgentRouteKey key,
const AgentRouteData data 
) const
virtual

Reimplemented from AgentRoute.

Definition at line 362 of file bridge_route.cc.

Here is the call graph for this function:

uint32_t BridgeRouteEntry::GetActiveLabel ( ) const
virtual

Reimplemented from AgentRoute.

Definition at line 345 of file bridge_route.cc.

Here is the call graph for this function:

const std::string BridgeRouteEntry::GetAddressString ( ) const
virtual

Implements AgentRoute.

Definition at line 307 of file bridge_route.cc.

Here is the call graph for this function:

DBEntryBase::KeyPtr BridgeRouteEntry::GetDBRequestKey ( ) const
virtual

Implements AgentRoute.

Definition at line 332 of file bridge_route.cc.

Here is the call graph for this function:

const std::string BridgeRouteEntry::GetSourceAddressString ( ) const
virtual

Implements AgentRoute.

Definition at line 315 of file bridge_route.cc.

Here is the call graph for this function:

virtual Agent::RouteTableType BridgeRouteEntry::GetTableType ( ) const
inlinevirtual

Implements AgentRoute.

Definition at line 116 of file bridge_route.h.

uint8_t BridgeRouteEntry::prefix_length ( ) const
inlinevirtual

The length of L3 IP prefix (if present) associated with this L2 address.

!

Reimplemented from AgentRoute.

Definition at line 130 of file bridge_route.h.

bool BridgeRouteEntry::ReComputePathAdd ( AgentPath path)
virtual

Reimplemented from AgentRoute.

Definition at line 441 of file bridge_route.cc.

bool BridgeRouteEntry::ReComputePathDeletion ( AgentPath path)
virtual

Reimplemented from AgentRoute.

Definition at line 449 of file bridge_route.cc.

void BridgeRouteEntry::SetKey ( const DBRequestKey key)
virtual

Implements AgentRoute.

Definition at line 339 of file bridge_route.cc.

Here is the call graph for this function:

string BridgeRouteEntry::ToString ( ) const
virtual

Implements AgentRoute.

Definition at line 322 of file bridge_route.cc.

virtual void BridgeRouteEntry::UpdateDependantRoutes ( void  )
inlinevirtual

Definition at line 110 of file bridge_route.h.

virtual void BridgeRouteEntry::UpdateNH ( )
inlinevirtual

Definition at line 111 of file bridge_route.h.

virtual bool BridgeRouteEntry::ValidateMcastSrc ( ) const
inlinevirtual

Reimplemented from AgentRoute.

Definition at line 125 of file bridge_route.h.

Here is the call graph for this function:


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