348 void set_delete_stale_walker_cb(WalkDoneCb cb)
tbb::atomic< uint32_t > refcount_
void PeerNotifyMulticastRoutes(bool associate)
int intrusive_ptr_add_ref(const AsPath *cpath)
void ReleaseDeletePeerWalker()
static Agent * GetInstance()
virtual bool SkipAddChangeRequest() const
DBState * GetState(DBTableBase *tbl_base, ListenerId listener) const
WalkDoneCb route_walker_cb_
Timer * delete_timeout_timer_
DynamicPeer(Agent *agent, Type type, const std::string &name, bool controller_export)
void ReleaseDeleteStaleWalker()
void DelPeerRoutes(WalkDoneCb walk_done_cb, uint64_t sequence_number)
void AllocDeletePeerWalker()
ControllerRouteWalker * delete_peer_walker() const
AgentRouteWalkerPtr route_walker_
void set_route_walker_cb(WalkDoneCb cb)
void AllocPeerNotifyWalker()
WalkDoneCb delete_stale_walker_cb_
virtual bool DeleteOnZeroRefcount() const
DBState * GetRouteExportState(DBTablePartBase *partition, DBEntryBase *e)
void set_sequence_number(uint64_t sequence_number)
virtual bool DeleteOnZeroRefcount() const
Peer(Type type, const std::string &name, bool controller_export)
Base class for all Route entries in agent.
DBTableBase::ListenerId GetListenerId() const
void Unregister(ListenerId listener)
uint64_t ChannelSequenceNumber() const
virtual bool IsDeleted() const
BgpPeer(BgpServer *server, RoutingInstance *instance, const BgpNeighborConfig *config)
DBTableBase::ListenerId id_
virtual const Ip4Address * NexthopIp(Agent *agent, const AgentPath *path) const
virtual Agent::RouteTableType GetTableType() const =0
void StopPeerNotifyRoutes()
TaskScheduler * task_scheduler() const
AgentRouteWalkerManager * agent_route_walk_manager() const
void PeerNotifyRoutes(WalkDoneCb cb)
uint64_t sequence_number() const
EventManager * event_manager() const
AgentRouteWalkerPtr delete_peer_walker_
DBTableBase::ListenerId GetVrfExportListenerId()
uint64_t sequence_number() const
ControllerRouteWalker * route_walker() const
tbb::atomic< bool > skip_add_change_
AgentXmppChannel * GetAgentXmppChannel() const
tbb::atomic< bool > deleted_
DBState * GetVrfExportState(DBTablePartBase *partition, DBEntryBase *e)
void DeleteVrfState(DBTablePartBase *partition, DBEntryBase *entry)
static Timer * CreateTimer(boost::asio::io_context &service, const std::string &name, int task_id=Timer::GetTimerTaskId(), int task_instance=Timer::GetTimerInstanceId(), bool delete_on_completion=false)
void ClearState(DBTableBase *tbl_base, ListenerId listener)
void Start(Type type, bool associate, AgentRouteWalker::WalkDone walk_done_cb)
WalkDoneCb delete_peer_walker_cb_
boost::asio::ip::address_v4 Ip4Address
void AllocDeleteStaleWalker()
VrfTable * vrf_table() const
static const uint32_t kDeleteTimeout
void ReleaseWalker(AgentRouteWalker *walker)
static uint64_t UTCTimestampUsec()
bool Start(int time, Handler handler, ErrorHandler error_handler=NULL)
void intrusive_ptr_release(const AsPath *cpath)
AgentRouteWalkerPtr delete_stale_walker_
RouteExport * rt_export_[Agent::ROUTE_TABLE_MAX]
void set_delete_peer_walker_cb(WalkDoneCb cb)
static void ProcessDelete(DynamicPeer *p)
AgentXmppChannel * channel_
void ReleasePeerNotifyWalker()
uint32_t refcount() const
ControllerRouteWalker * delete_stale_walker() const
const Ip4Address * router_ip_ptr() const
uint64_t sequence_number_
static bool ControllerSendSubscribe(AgentXmppChannel *peer, VrfEntry *vrf, bool subscribe)
static bool DeleteTimer(Timer *Timer)