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

#include <inet4_multicast_route.h>

Inheritance diagram for Inet4MulticastRouteEntry:
Collaboration diagram for Inet4MulticastRouteEntry:

Public Member Functions

 Inet4MulticastRouteEntry (VrfEntry *vrf, const Ip4Address &dst, const Ip4Address &src)
 
virtual ~Inet4MulticastRouteEntry ()
 
virtual int CompareTo (const Route &rhs) const
 
virtual string ToString () const
 
virtual KeyPtr GetDBRequestKey () const
 
virtual void SetKey (const DBRequestKey *key)
 
virtual bool ReComputePathAdd (AgentPath *path)
 
virtual bool ReComputePathDeletion (AgentPath *path)
 
virtual const string GetAddressString () const
 
virtual const string GetSourceAddressString () const
 
virtual bool DBEntrySandesh (Sandesh *sresp, bool stale) const
 
virtual Agent::RouteTableType GetTableType () const
 
bool DBEntrySandesh (Sandesh *sresp, const Ip4Address &src_addr, const Ip4Address &dst_addr, bool stale) const
 
void set_dest_ip_addr (const Ip4Address &dst)
 
void set_src_ip_addr (const Ip4Address &src)
 
const Ip4Addresssrc_ip_addr () const
 
const Ip4Addressdest_ip_addr () const
 
virtual Composite::Type GetMulticastCompType ()
 
- 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 uint32_t GetActiveLabel () const
 
virtual AgentPathFindPathUsingKeyData (const AgentRouteKey *key, const AgentRouteData *data) 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)
 
virtual uint8_t prefix_length () const
 Returns the length of a stored prefix address. More...
 
- 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 ()
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (Inet4MulticastRouteEntry)
 

Private Attributes

Ip4Address dst_addr_
 
Ip4Address src_addr_
 

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)
 
const AgentRouteTableGetDependentRouteTable (void) const
 
virtual bool ValidateMcastSrc () const
 

Detailed Description

Definition at line 62 of file inet4_multicast_route.h.

Constructor & Destructor Documentation

Inet4MulticastRouteEntry::Inet4MulticastRouteEntry ( VrfEntry vrf,
const Ip4Address dst,
const Ip4Address src 
)
inline

Definition at line 64 of file inet4_multicast_route.h.

virtual Inet4MulticastRouteEntry::~Inet4MulticastRouteEntry ( )
inlinevirtual

Definition at line 68 of file inet4_multicast_route.h.

Member Function Documentation

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

Implements AgentRoute.

Definition at line 212 of file inet4_multicast_route.cc.

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

Implements AgentRoute.

Definition at line 256 of file inet4_multicast_route.cc.

Here is the call graph for this function:

bool Inet4MulticastRouteEntry::DBEntrySandesh ( Sandesh sresp,
const Ip4Address src_addr,
const Ip4Address dst_addr,
bool  stale 
) const

Definition at line 277 of file inet4_multicast_route.cc.

const Ip4Address& Inet4MulticastRouteEntry::dest_ip_addr ( ) const
inline

Definition at line 92 of file inet4_multicast_route.h.

Inet4MulticastRouteEntry::DISALLOW_COPY_AND_ASSIGN ( Inet4MulticastRouteEntry  )
private
virtual const string Inet4MulticastRouteEntry::GetAddressString ( ) const
inlinevirtual

Implements AgentRoute.

Definition at line 76 of file inet4_multicast_route.h.

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

Implements AgentRoute.

Definition at line 231 of file inet4_multicast_route.cc.

virtual Composite::Type Inet4MulticastRouteEntry::GetMulticastCompType ( )
inlinevirtual

Reimplemented from AgentRoute.

Definition at line 93 of file inet4_multicast_route.h.

virtual const string Inet4MulticastRouteEntry::GetSourceAddressString ( ) const
inlinevirtual

Implements AgentRoute.

Definition at line 79 of file inet4_multicast_route.h.

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

Implements AgentRoute.

Definition at line 83 of file inet4_multicast_route.h.

bool Inet4MulticastRouteEntry::ReComputePathAdd ( AgentPath path)
virtual

Reimplemented from AgentRoute.

Definition at line 248 of file inet4_multicast_route.cc.

bool Inet4MulticastRouteEntry::ReComputePathDeletion ( AgentPath path)
virtual

Reimplemented from AgentRoute.

Definition at line 252 of file inet4_multicast_route.cc.

void Inet4MulticastRouteEntry::set_dest_ip_addr ( const Ip4Address dst)
inline

Definition at line 89 of file inet4_multicast_route.h.

void Inet4MulticastRouteEntry::set_src_ip_addr ( const Ip4Address src)
inline

Definition at line 90 of file inet4_multicast_route.h.

void Inet4MulticastRouteEntry::SetKey ( const DBRequestKey key)
virtual

Implements AgentRoute.

Definition at line 238 of file inet4_multicast_route.cc.

Here is the call graph for this function:

const Ip4Address& Inet4MulticastRouteEntry::src_ip_addr ( ) const
inline

Definition at line 91 of file inet4_multicast_route.h.

string Inet4MulticastRouteEntry::ToString ( ) const
virtual

Implements AgentRoute.

Definition at line 203 of file inet4_multicast_route.cc.

Member Data Documentation

Ip4Address Inet4MulticastRouteEntry::dst_addr_
private

Definition at line 96 of file inet4_multicast_route.h.

Ip4Address Inet4MulticastRouteEntry::src_addr_
private

Definition at line 97 of file inet4_multicast_route.h.


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