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;
162 virtual void Close(
bool graceful) = 0;
183 const BgpPath *old_path, uint32_t path_flags)
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 {
virtual PeerCloseManager * GetManager() const =0
virtual void LongLivedGracefulRestartStale()=0
virtual void Close(bool graceful)=0
virtual bool IsReady() const =0
virtual int GetGracefulRestartTime() const =0
virtual bool IsCloseLongLivedGraceful() const =0
virtual IPeer * peer() const =0
virtual void GracefulRestartStale()=0
virtual void MembershipRequestCallbackComplete()=0
virtual void GetLongLivedGracefulRestartFamilies(Families *) const =0
virtual int GetTaskInstance() const =0
virtual const char * GetTaskName() const =0
virtual void GracefulRestartSweep()=0
virtual void ReceiveEndOfRIB(Address::Family family)=0
virtual int GetLongLivedGracefulRestartTime() const =0
std::set< Address::Family > Families
virtual void CloseComplete()=0
virtual bool IsCloseGraceful() const =0
virtual void UpdateRouteStats(Address::Family family, const BgpPath *old_path, uint32_t path_flags) const =0
virtual void GetGracefulRestartFamilies(Families *) const =0
virtual void CustomClose()=0
virtual std::string last_error() const =0
virtual uint64_t num_flaps() const =0
virtual void GetRxRouteUpdateStats(UpdateStats *stats) const =0
virtual std::string last_state() const =0
virtual std::string last_state_change_at() const =0
virtual void GetRxProtoStats(ProtoStats *stats) const =0
virtual std::string ToString() const =0
virtual std::string last_flap() const =0
virtual void UpdateTxReachRoute(uint64_t count)=0
virtual void UpdateTxUnreachRoute(uint64_t count)=0
virtual void GetTxSocketStats(SocketStats *stats) const =0
virtual void GetTxRouteUpdateStats(UpdateStats *stats) const =0
virtual std::string last_event() const =0
virtual void GetTxProtoStats(ProtoStats *stats) const =0
virtual ~IPeerDebugStats()
virtual void GetRxRouteStats(RxRouteStats *stats) const =0
virtual void GetRxSocketStats(SocketStats *stats) const =0
virtual void GetRxErrorStats(RxErrorStats *stats) const =0
virtual const std::string & ToString() const =0
virtual bool SendUpdate(const uint8_t *msg, size_t msgsize, const std::string *msg_str)
virtual bool SendUpdate(const uint8_t *msg, size_t msgsize)=0
virtual bool FlushUpdate()
virtual bool send_ready() const
virtual const IPeerDebugStats * peer_stats() const =0
virtual const std::string & ToUVEKey() const =0
virtual void ProcessPathTunnelEncapsulation(const BgpPath *path, BgpAttr *attr, ExtCommunityDB *extcomm_db, const BgpTable *table) const =0
virtual uint32_t bgp_identifier() const =0
virtual const std::string & ToString() const =0
virtual bool CheckSplitHorizon(uint32_t cluster_id=0, uint32_t ribout_cid=0) const
virtual IPeerClose * peer_close()=0
virtual bool IsReady() const =0
virtual bool IsRegistrationRequired() const =0
virtual BgpServer * server() const =0
virtual int GetTotalPathCount() const =0
virtual BgpProto::BgpPeerType PeerType() const =0
virtual bool IsInGRTimerWaitState() const =0
virtual bool IsXmppPeer() const =0
virtual const std::string GetStateName() const =0
virtual bool IsAs4Supported() const =0
virtual int GetPrimaryPathCount() const =0
virtual IPeerClose * peer_close() const =0
virtual void UpdateCloseRouteStats(Address::Family family, const BgpPath *old_path, uint32_t path_flags) const =0
virtual bool CanUseMembershipManager() const =0
virtual void MembershipRequestCallback(BgpTable *table)=0
virtual void UpdateTotalPathCount(int count) const =0
virtual void Close(bool graceful)=0
virtual void UpdatePrimaryPathCount(int count, Address::Family family=Address::UNSPEC) const =0
virtual const std::vector< std::string > GetDefaultTunnelEncap(const Address::Family family) const =0
virtual BgpServer * server()=0
virtual bool IsRouterTypeBGPaaS() const =0
virtual IPeerDebugStats * peer_stats()=0
virtual bool MembershipPathCallback(DBTablePartBase *tpart, BgpRoute *route, BgpPath *path)=0
tbb::atomic< uint64_t > connect_timer
tbb::atomic< uint64_t > update_error
tbb::atomic< uint64_t > open_error
tbb::atomic< uint64_t > hold_timer
tbb::atomic< uint64_t > connect_error
tbb::atomic< uint64_t > notification
tbb::atomic< uint64_t > open
tbb::atomic< uint64_t > update
tbb::atomic< uint64_t > keepalive
tbb::atomic< uint64_t > close
tbb::atomic< uint64_t > total
tbb::atomic< uint64_t > inet6_bad_prefix_count
tbb::atomic< uint64_t > inet6_bad_afi_safi_count
tbb::atomic< uint64_t > inet6_bad_nexthop_count
tbb::atomic< uint64_t > inet6_bad_xml_token_count
tbb::atomic< uint64_t > total_path_count
tbb::atomic< uint64_t > primary_path_count
tbb::atomic< uint64_t > calls
tbb::atomic< uint64_t > blocked_duration_usecs
tbb::atomic< uint64_t > blocked_count
tbb::atomic< uint64_t > bytes
tbb::atomic< uint64_t > reach
tbb::atomic< uint64_t > unreach
tbb::atomic< uint64_t > end_of_rib
tbb::atomic< uint64_t > total