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

#include <inet4_multicast_route.h>

Inheritance diagram for Inet4MulticastAgentRouteTable:
Collaboration diagram for Inet4MulticastAgentRouteTable:

Public Member Functions

 Inet4MulticastAgentRouteTable (DB *db, const std::string &name)
 
virtual ~Inet4MulticastAgentRouteTable ()
 
virtual AgentSandeshPtr GetAgentSandesh (const AgentSandeshArguments *args, const std::string &context)
 
virtual string GetTableName () const
 
virtual Agent::RouteTableType GetTableType () const
 
void McRtRouteNotifyDone (DBTableBase *base, DBState *)
 
void AddVHostRecvRoute (const string &vm_vrf, const string &interface_name, const Ip4Address &addr, bool policy)
 
Inet4MulticastRouteEntryFindRoute (const Ip4Address &grp_addr, const Ip4Address &src_addr)
 
- Public Member Functions inherited from AgentRouteTable
 AgentRouteTable (DB *db, const std::string &name)
 
virtual ~AgentRouteTable ()
 
virtual int PartitionCount () const
 
virtual std::unique_ptr< DBEntryAllocEntry (const DBRequestKey *k) const
 
virtual size_t Hash (const DBEntry *entry) const
 
virtual size_t Hash (const DBRequestKey *key) const
 
virtual void ProcessDelete (AgentRoute *rt)
 
virtual void ProcessAdd (AgentRoute *rt)
 
virtual void NotifyEntry (AgentRoute *entry)
 
virtual SandeshTraceBufferPtr GetOperDBTraceBuf () const
 
UnresolvedRouteTree::const_iterator unresolved_route_begin () const
 
UnresolvedRouteTree::const_iterator unresolved_route_end () const
 
int unresolved_route_size () const
 
void AddUnresolvedNH (const NextHop *)
 
void RemoveUnresolvedNH (const NextHop *)
 
void EvaluateUnresolvedNH (void)
 
UnresolvedNHTree::const_iterator unresolved_nh_begin () const
 
UnresolvedNHTree::const_iterator unresolved_nh_end () const
 
void EvaluateUnresolvedRoutes (void)
 
void AddUnresolvedRoute (const AgentRoute *rt)
 
void RemoveUnresolvedRoute (const AgentRoute *rt)
 
Agentagent () const
 
const std::string & vrf_name () const
 
uint32_t vrf_id () const
 
VrfEntryvrf_entry () const
 
AgentRouteFindActiveEntry (const AgentRouteKey *key)
 
AgentRouteFindActiveEntryNoLock (const AgentRouteKey *key)
 
AgentRouteFindActiveEntry (const AgentRoute *key)
 
AgentRouteFindActiveEntryNoLock (const AgentRoute *key)
 
void SetVrf (VrfEntry *vrf)
 
bool DelExplicitRouteWalkerCb (DBTablePartBase *part, DBEntryBase *entry)
 
LifetimeActordeleter ()
 
void ManagedDelete ()
 
virtual void RetryDelete ()
 
void Process (DBRequest &req)
 
void AddChangeInput (DBTablePartition *part, VrfEntry *vrf, AgentRoute *rt, AgentRouteKey *key, AgentRouteData *data)
 
AgentRouteLocateRoute (DBTablePartition *part, VrfEntry *vrf, AgentRoute *rt, AgentRouteKey *key, AgentRouteData *data, bool *notify)
 
- Public Member Functions inherited from RouteTable
 RouteTable (DB *db, const std::string &name)
 
- Public Member Functions inherited from DBTable
 DBTable (DB *db, const std::string &name)
 
virtual ~DBTable ()
 
void Init ()
 
virtual DBTablePartitionAllocPartition (int index)
 
virtual DBEntryAdd (const DBRequest *req)
 
virtual bool OnChange (DBEntry *entry, const DBRequest *req)
 
virtual bool Delete (DBEntry *entry, const DBRequest *req)
 
void NotifyAllEntries ()
 
DBEntryFind (const DBEntry *entry)
 
const DBEntryFind (const DBEntry *entry) const
 
DBEntryFind (const DBRequestKey *key, int id=-1)
 
const DBEntryFind (const DBRequestKey *key, int id=-1) const
 
DBEntryFindNoLock (const DBEntry *entry)
 
DBEntryFindNoLock (const DBRequestKey *key)
 
virtual DBTablePartBaseGetTablePartition (const DBRequestKey *key)
 
virtual const DBTablePartBaseGetTablePartition (const DBRequestKey *key) const
 
virtual DBTablePartBaseGetTablePartition (const DBEntryBase *entry)
 
virtual const DBTablePartBaseGetTablePartition (const DBEntryBase *entry) const
 
virtual DBTablePartBaseGetTablePartition (const int index)
 
virtual const DBTablePartBaseGetTablePartition (const int index) const
 
virtual void Change (DBEntryBase *entry)
 
virtual size_t Size () const
 
DBTableWalkRef AllocWalker (WalkFn walk_fn, WalkCompleteFn walk_complete)
 
void ReleaseWalker (DBTableWalkRef &walk)
 
void WalkTable (DBTableWalkRef walk)
 
void WalkAgain (DBTableWalkRef walk)
 
void SetWalkIterationToYield (int count)
 
int GetWalkIterationToYield ()
 
void SetWalkTaskId (int task_id)
 
int GetWalkerTaskId ()
 
- Public Member Functions inherited from DBTableBase
 DBTableBase (DB *db, const std::string &name)
 
virtual ~DBTableBase ()
 
bool Enqueue (DBRequest *req)
 
void EnqueueRemove (DBEntryBase *db_entry)
 
virtual void AddRemoveCallback (const DBEntryBase *entry, bool add) const
 
ListenerId Register (ChangeCallback callback, const std::string &name="unspecified")
 
void Unregister (ListenerId listener)
 
void RunNotify (DBTablePartBase *tpart, DBEntryBase *entry)
 
void AddToDBStateCount (ListenerId listener, int count)
 
uint64_t GetDBStateCount (ListenerId listener)
 
bool empty () const
 
virtual bool MayDelete () const
 
DBdatabase ()
 
const DBdatabase () const
 
const std::string & name () const
 
bool HasListeners () const
 
size_t GetListenerCount () const
 
void FillListeners (std::vector< ShowTableListener > *listeners) const
 
uint64_t enqueue_count () const
 
void incr_enqueue_count ()
 
void reset_enqueue_count ()
 
uint64_t input_count () const
 
void incr_input_count ()
 
void reset_input_count ()
 
uint64_t notify_count () const
 
void incr_notify_count ()
 
void reset_notify_count ()
 
bool HasWalkers () const
 
uint64_t walker_count () const
 
void incr_walker_count ()
 
uint64_t decr_walker_count ()
 
uint64_t walk_request_count () const
 
uint64_t walk_complete_count () const
 
uint64_t walk_cancel_count () const
 
uint64_t walk_again_count () const
 
uint64_t walk_count () const
 
void incr_walk_request_count ()
 
void incr_walk_complete_count ()
 
void incr_walk_cancel_count ()
 
void incr_walk_again_count ()
 
void incr_walk_count ()
 

Static Public Member Functions

static DBTableBaseCreateTable (DB *db, const std::string &name)
 
static void AddMulticastRoute (const string &vn_name, const string &vrf_name, const Ip4Address &src_addr, const Ip4Address &grp_addr, ComponentNHKeyList &component_nh_key_list)
 
static void AddMulticastRoute (const Peer *peer, const string &vrf_name, const Ip4Address &src_addr, const Ip4Address &grp_addr, uint32_t ethernet_tag, AgentRouteData *data)
 
static void DeleteMulticastRoute (const string &vrf_name, const Ip4Address &src_addr, const Ip4Address &grp_addr)
 
static void DeleteMulticastRoute (const Peer *peer, const string &vrf_name, const Ip4Address &src_addr, const Ip4Address &grp_addr, uint32_t ethernet_tag, COMPOSITETYPE type)
 
static void Delete (const string &vrf_name, const Ip4Address &src_addr, const Ip4Address &grp_addr)
 
- Static Public Member Functions inherited from AgentRouteTable
static bool PathSelection (const Path &path1, const Path &path2)
 
static const std::string & GetSuffix (Agent::RouteTableType type)
 
- Static Public Member Functions inherited from DBTable
static void DBStateClear (DBTable *table, ListenerId id)
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (Inet4MulticastAgentRouteTable)
 

Private Attributes

DBTableWalker::WalkId walkid_
 

Additional Inherited Members

- Public Types inherited from AgentRouteTable
typedef std::set< const
AgentRoute *, RouteComparator
UnresolvedRouteTree
 
typedef std::set< const
NextHop *, NHComparator
UnresolvedNHTree
 
- Public Types inherited from DBTable
typedef boost::intrusive_ptr
< DBTableWalk
DBTableWalkRef
 
typedef boost::function< bool(DBTablePartBase
*, DBEntryBase *)> 
WalkFn
 
typedef boost::function< void(DBTableWalkRef,
DBTableBase *)> 
WalkCompleteFn
 
- Public Types inherited from DBTableBase
typedef boost::function< void(DBTablePartBase
*, DBEntryBase *)> 
ChangeCallback
 
typedef int ListenerId
 
- Static Public Attributes inherited from AgentRouteTable
static const int kPartitionCount = 1
 
- Static Public Attributes inherited from DBTable
static const int kIterationToYield = 256
 
- Static Public Attributes inherited from DBTableBase
static const int kInvalidId = -1
 

Detailed Description

Definition at line 11 of file inet4_multicast_route.h.

Constructor & Destructor Documentation

Inet4MulticastAgentRouteTable::Inet4MulticastAgentRouteTable ( DB db,
const std::string &  name 
)
inline

Definition at line 13 of file inet4_multicast_route.h.

virtual Inet4MulticastAgentRouteTable::~Inet4MulticastAgentRouteTable ( )
inlinevirtual

Definition at line 16 of file inet4_multicast_route.h.

Member Function Documentation

void Inet4MulticastAgentRouteTable::AddMulticastRoute ( const string &  vn_name,
const string &  vrf_name,
const Ip4Address src_addr,
const Ip4Address grp_addr,
ComponentNHKeyList component_nh_key_list 
)
static

Definition at line 50 of file inet4_multicast_route.cc.

Here is the call graph for this function:

void Inet4MulticastAgentRouteTable::AddMulticastRoute ( const Peer peer,
const string &  vrf_name,
const Ip4Address src_addr,
const Ip4Address grp_addr,
uint32_t  ethernet_tag,
AgentRouteData data 
)
static

Definition at line 83 of file inet4_multicast_route.cc.

Here is the call graph for this function:

void Inet4MulticastAgentRouteTable::AddVHostRecvRoute ( const string &  vm_vrf,
const string &  interface_name,
const Ip4Address addr,
bool  policy 
)

Definition at line 100 of file inet4_multicast_route.cc.

Here is the call graph for this function:

DBTableBase * Inet4MulticastAgentRouteTable::CreateTable ( DB db,
const std::string &  name 
)
static

Definition at line 41 of file inet4_multicast_route.cc.

Here is the call graph for this function:

void Inet4MulticastAgentRouteTable::Delete ( const string &  vrf_name,
const Ip4Address src_addr,
const Ip4Address grp_addr 
)
static

Definition at line 165 of file inet4_multicast_route.cc.

Here is the call graph for this function:

void Inet4MulticastAgentRouteTable::DeleteMulticastRoute ( const string &  vrf_name,
const Ip4Address src_addr,
const Ip4Address grp_addr 
)
static

Definition at line 122 of file inet4_multicast_route.cc.

Here is the call graph for this function:

void Inet4MulticastAgentRouteTable::DeleteMulticastRoute ( const Peer peer,
const string &  vrf_name,
const Ip4Address src_addr,
const Ip4Address grp_addr,
uint32_t  ethernet_tag,
COMPOSITETYPE  type 
)
static

Definition at line 139 of file inet4_multicast_route.cc.

Here is the call graph for this function:

Inet4MulticastAgentRouteTable::DISALLOW_COPY_AND_ASSIGN ( Inet4MulticastAgentRouteTable  )
private
Inet4MulticastRouteEntry * Inet4MulticastAgentRouteTable::FindRoute ( const Ip4Address grp_addr,
const Ip4Address src_addr 
)

Definition at line 187 of file inet4_multicast_route.cc.

AgentSandeshPtr Inet4MulticastAgentRouteTable::GetAgentSandesh ( const AgentSandeshArguments args,
const std::string &  context 
)
virtual

Reimplemented from AgentRouteTable.

Definition at line 320 of file inet4_multicast_route.cc.

virtual string Inet4MulticastAgentRouteTable::GetTableName ( ) const
inlinevirtual

Implements AgentRouteTable.

Definition at line 21 of file inet4_multicast_route.h.

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

Implements AgentRouteTable.

Definition at line 24 of file inet4_multicast_route.h.

void Inet4MulticastAgentRouteTable::McRtRouteNotifyDone ( DBTableBase base,
DBState  
)

Member Data Documentation

DBTableWalker::WalkId Inet4MulticastAgentRouteTable::walkid_
private

Definition at line 58 of file inet4_multicast_route.h.


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