5 #ifndef SRC_BGP_IPEER_H_
6 #define SRC_BGP_IPEER_H_
10 #include "tbb/atomic.h"
26 virtual const std::string &
ToString()
const = 0;
30 virtual bool SendUpdate(
const uint8_t *msg,
size_t msgsize) = 0;
31 virtual bool SendUpdate(
const uint8_t *msg,
size_t msgsize,
32 const std::string *msg_str) {
53 tbb::atomic<uint64_t>
open;
126 virtual void Clear() = 0;
128 virtual std::string
ToString()
const = 0;
138 virtual std::string
last_flap()
const = 0;
162 virtual void Close(
bool graceful) = 0;
167 virtual void Delete() = 0;
175 virtual bool IsReady()
const = 0;
183 const BgpPath *old_path, uint32_t path_flags)
const = 0;
190 virtual const std::string &
ToString()
const = 0;
191 virtual const std::string &
ToUVEKey()
const = 0;
198 virtual bool IsReady()
const = 0;
207 virtual void Close(
bool graceful) = 0;
228 const BgpPath *old_path, uint32_t path_flags)
const = 0;
230 uint32_t ribout_cid = 0)
const {
235 #endif // SRC_BGP_IPEER_H_
tbb::atomic< uint64_t > unreach
virtual void GetRxSocketStats(SocketStats *stats) const =0
virtual std::string last_event() const =0
static void UpdateStats(FlowEvent *event, FlowStats *stats)
virtual bool IsCloseLongLivedGraceful() const =0
virtual void UpdatePrimaryPathCount(int count, Address::Family family=Address::UNSPEC) const =0
virtual int GetLongLivedGracefulRestartTime() const =0
virtual void Close(bool graceful)=0
virtual void GetRxErrorStats(RxErrorStats *stats) const =0
virtual void UpdateTxReachRoute(uint64_t count)=0
virtual IPeerClose * peer_close() const =0
virtual bool IsXmppPeer() const =0
virtual uint32_t bgp_identifier() const =0
std::set< Address::Family > Families
virtual bool IsCloseGraceful() const =0
virtual BgpProto::BgpPeerType PeerType() const =0
tbb::atomic< uint64_t > total
virtual void ReceiveEndOfRIB(Address::Family family)=0
virtual void GetTxRouteUpdateStats(UpdateStats *stats) const =0
virtual int GetPrimaryPathCount() const =0
virtual void UpdateCloseRouteStats(Address::Family family, const BgpPath *old_path, uint32_t path_flags) const =0
virtual const std::vector< std::string > GetDefaultTunnelEncap(const Address::Family family) const =0
virtual IPeerDebugStats * peer_stats()=0
virtual void UpdateTxUnreachRoute(uint64_t count)=0
virtual ~IPeerDebugStats()
virtual bool IsRouterTypeBGPaaS() const =0
tbb::atomic< uint64_t > total
tbb::atomic< uint64_t > blocked_count
virtual const std::string & ToString() const =0
virtual bool IsReady() const =0
virtual PeerCloseManager * GetManager() const =0
tbb::atomic< uint64_t > open_error
tbb::atomic< uint64_t > close
virtual std::string last_error() const =0
virtual int GetTotalPathCount() const =0
virtual void GetRxRouteStats(RxRouteStats *stats) const =0
virtual bool IsInGRTimerWaitState() const =0
tbb::atomic< uint64_t > primary_path_count
virtual uint64_t num_flaps() const =0
virtual const std::string GetStateName() const =0
virtual int GetTaskInstance() const =0
virtual bool CheckSplitHorizon(uint32_t cluster_id=0, uint32_t ribout_cid=0) const
tbb::atomic< uint64_t > inet6_bad_nexthop_count
tbb::atomic< uint64_t > notification
virtual std::string ToString() const =0
virtual void GetTxSocketStats(SocketStats *stats) const =0
virtual bool send_ready() const
tbb::atomic< uint64_t > connect_timer
virtual const std::string & ToString() const =0
virtual void CloseComplete()=0
tbb::atomic< uint64_t > reach
tbb::atomic< uint64_t > hold_timer
virtual void GracefulRestartStale()=0
virtual void Close(bool graceful)=0
virtual void CustomClose()=0
virtual int GetGracefulRestartTime() const =0
virtual void LongLivedGracefulRestartStale()=0
tbb::atomic< uint64_t > total_path_count
tbb::atomic< uint64_t > update_error
tbb::atomic< uint64_t > end_of_rib
virtual BgpServer * server()=0
tbb::atomic< uint64_t > connect_error
virtual void UpdateTotalPathCount(int count) const =0
virtual bool FlushUpdate()
tbb::atomic< uint64_t > inet6_bad_prefix_count
virtual void MembershipRequestCallbackComplete()=0
virtual void UpdateRouteStats(Address::Family family, const BgpPath *old_path, uint32_t path_flags) const =0
virtual void GracefulRestartSweep()=0
virtual void MembershipRequestCallback(BgpTable *table)=0
virtual std::string last_flap() const =0
virtual bool SendUpdate(const uint8_t *msg, size_t msgsize)=0
virtual const std::string & ToUVEKey() const =0
virtual void GetLongLivedGracefulRestartFamilies(Families *) const =0
virtual bool IsReady() const =0
virtual void GetRxProtoStats(ProtoStats *stats) const =0
tbb::atomic< uint64_t > open
tbb::atomic< uint64_t > keepalive
tbb::atomic< uint64_t > update
virtual IPeer * peer() const =0
virtual std::string last_state() const =0
virtual bool IsRegistrationRequired() const =0
virtual void GetTxProtoStats(ProtoStats *stats) const =0
virtual void GetGracefulRestartFamilies(Families *) const =0
tbb::atomic< uint64_t > inet6_bad_afi_safi_count
virtual bool MembershipPathCallback(DBTablePartBase *tpart, BgpRoute *route, BgpPath *path)=0
tbb::atomic< uint64_t > inet6_bad_xml_token_count
tbb::atomic< uint64_t > calls
virtual std::string last_state_change_at() const =0
virtual const char * GetTaskName() const =0
virtual void ProcessPathTunnelEncapsulation(const BgpPath *path, BgpAttr *attr, ExtCommunityDB *extcomm_db, const BgpTable *table) const =0
virtual bool SendUpdate(const uint8_t *msg, size_t msgsize, const std::string *msg_str)
tbb::atomic< uint64_t > blocked_duration_usecs
virtual bool IsAs4Supported() const =0
tbb::atomic< uint64_t > bytes
virtual bool CanUseMembershipManager() const =0
virtual void GetRxRouteUpdateStats(UpdateStats *stats) const =0