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

Listens to Inet routes in a bridge VRF instance. Started when l3vrf is added/deleted or when a bridge VRF is attached / detached to/from the LR. More...

#include <vxlan_routing_manager.h>

Inheritance diagram for VxlanRoutingRouteWalker:
Collaboration diagram for VxlanRoutingRouteWalker:

Public Member Functions

 VxlanRoutingRouteWalker (const std::string &name, VxlanRoutingManager *mgr, Agent *agent)
 Constructs a new instance using the given name, pointer to the VxlanRoutingManager and pointer to the Agent. More...
 
virtual ~VxlanRoutingRouteWalker ()
 Destructs an instance of VxlanRoutingRouteWalker. More...
 
virtual bool RouteWalkNotify (DBTablePartBase *partition, DBEntryBase *e)
 Runs route leaking process when L3 VRF instance is added/deleted or when a bridge VRF is attached / detached to/from the LR. More...
 
- Public Member Functions inherited from AgentRouteWalker
virtual ~AgentRouteWalker ()
 
void StartVrfWalk ()
 
void StartRouteWalk (VrfEntry *vrf)
 
virtual bool VrfWalkNotify (DBTablePartBase *partition, DBEntryBase *e)
 
virtual void VrfWalkDone (DBTableBase *part)
 
virtual void RouteWalkDone (DBTableBase *part)
 
void WalkDoneCallback (WalkDone cb)
 
void RouteWalkDoneForVrfCallback (RouteWalkDoneCb cb)
 
int walk_count () const
 
bool IsWalkCompleted () const
 
bool IsValidDeleteWalkRef () const
 
bool IsValidVrfWalkRef () const
 
bool IsDeregisterDone () const
 
bool AreAllWalksDone () const
 
bool AreAllRouteWalksDone (const VrfEntry *vrf) const
 
bool IsRouteTableWalkCompleted (RouteWalkerDBState *state)
 
AgentRouteWalkerManagermgr ()
 
Agentagent () const
 
uint32_t refcount () const
 

Private Member Functions

 DISALLOW_COPY_AND_ASSIGN (VxlanRoutingRouteWalker)
 

Private Attributes

VxlanRoutingManagermgr_
 A pointer to the VxlanRoutingManager instance. More...
 

Additional Inherited Members

- Public Types inherited from AgentRouteWalker
typedef boost::function< void()> WalkDone
 
typedef boost::function< void(VrfEntry *)> RouteWalkDoneCb
 
typedef std::map< const
VrfEntry *, tbb::atomic< int > > 
VrfRouteWalkCountMap
 
- Static Public Attributes inherited from AgentRouteWalker
static const int kInvalidWalkCount = 0
 
- Protected Member Functions inherited from AgentRouteWalker
 AgentRouteWalker (const std::string &name, Agent *agent)
 
void set_mgr (AgentRouteWalkerManager *mgr)
 

Detailed Description

Listens to Inet routes in a bridge VRF instance. Started when l3vrf is added/deleted or when a bridge VRF is attached / detached to/from the LR.

VxlanRoutingRouteWalker Incarnation of AgentRouteWalker.

Definition at line 226 of file vxlan_routing_manager.h.

Constructor & Destructor Documentation

VxlanRoutingRouteWalker::VxlanRoutingRouteWalker ( const std::string &  name,
VxlanRoutingManager mgr,
Agent agent 
)

Constructs a new instance using the given name, pointer to the VxlanRoutingManager and pointer to the Agent.

Definition at line 99 of file vxlan_routing_manager.cc.

VxlanRoutingRouteWalker::~VxlanRoutingRouteWalker ( )
virtual

Destructs an instance of VxlanRoutingRouteWalker.

Definition at line 104 of file vxlan_routing_manager.cc.

Member Function Documentation

VxlanRoutingRouteWalker::DISALLOW_COPY_AND_ASSIGN ( VxlanRoutingRouteWalker  )
private
bool VxlanRoutingRouteWalker::RouteWalkNotify ( DBTablePartBase partition,
DBEntryBase e 
)
virtual

Runs route leaking process when L3 VRF instance is added/deleted or when a bridge VRF is attached / detached to/from the LR.

Reimplemented from AgentRouteWalker.

Definition at line 109 of file vxlan_routing_manager.cc.

Here is the call graph for this function:

Member Data Documentation

VxlanRoutingManager* VxlanRoutingRouteWalker::mgr_
private

A pointer to the VxlanRoutingManager instance.

Definition at line 244 of file vxlan_routing_manager.h.


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