LCOV - code coverage report
Current view: top level - bgp - bgp_peer_close.h (source / functions) Hit Total Coverage
Test: OpenSDN C/C++ coverage (all TARGET_SET jobs) Lines: 2 2 100.0 %
Date: 2026-06-18 01:51:13 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
       3             :  */
       4             : 
       5             : #ifndef SRC_BGP_BGP_PEER_CLOSE_H__
       6             : #define SRC_BGP_BGP_PEER_CLOSE_H__
       7             : 
       8             : #include <set>
       9             : #include <string>
      10             : #include <vector>
      11             : 
      12             : #include "bgp/ipeer.h"
      13             : 
      14             : class BgpNeighborResp;
      15             : class BgpPath;
      16             : class BgpPeerInfoData;
      17             : class PeerCloseManager;
      18             : 
      19             : class BgpPeerClose : public IPeerClose {
      20             :   public:
      21             :     typedef std::set<Address::Family> Families;
      22             : 
      23             :     explicit BgpPeerClose(BgpPeer *peer);
      24             :     virtual ~BgpPeerClose();
      25             :     virtual void CustomClose();
      26             :     virtual void GracefulRestartStale();
      27             :     virtual void LongLivedGracefulRestartStale();
      28             :     virtual void GracefulRestartSweep();
      29             :     virtual bool IsReady() const;
      30             :     virtual IPeer *peer() const;
      31             :     virtual void Close(bool graceful);
      32             :     virtual void Delete();
      33             :     virtual int GetGracefulRestartTime() const;
      34             :     virtual int GetLongLivedGracefulRestartTime() const;
      35             :     virtual void ReceiveEndOfRIB(Address::Family family);
      36             :     virtual const char *GetTaskName() const;
      37             :     virtual int GetTaskInstance() const;
      38             :     virtual void MembershipRequestCallbackComplete();
      39             : 
      40             :     virtual bool IsCloseGraceful() const;
      41             :     virtual bool IsCloseLongLivedGraceful() const;
      42             :     virtual void CloseComplete();
      43             :     virtual void GetGracefulRestartFamilies(Families *families) const;
      44             :     virtual void GetLongLivedGracefulRestartFamilies(Families *families) const;
      45             :     virtual PeerCloseManager *GetManager() const;
      46             :     virtual void UpdateRouteStats(Address::Family family,
      47             :         const BgpPath *old_path, uint32_t path_flags) const;
      48             : 
      49             :     void AddGRCapabilities(BgpProto::OpenMessage::OptParam *opt_param);
      50             :     void AddLLGRCapabilities(BgpProto::OpenMessage::OptParam *opt_param);
      51             :     bool SetGRCapabilities(BgpPeerInfoData *peer_info);
      52             :     void FillNeighborInfo(BgpNeighborResp *bnr) const;
      53             :     virtual void RestartStateMachine();
      54        2517 :     const BgpProto::OpenMessage::Capability::GR &gr_params() const {
      55        2517 :         return gr_params_;
      56             :     }
      57             : 
      58             : private:
      59             :     virtual bool IsGRReady() const;
      60             :     virtual bool IsGRHelperModeEnabled() const;
      61             :     virtual const std::vector<std::string> &negotiated_families() const;
      62             :     virtual const std::vector<std::string> &PeerNegotiatedFamilies() const;
      63             :     virtual bool IsPeerDeleted() const;
      64             :     virtual bool IsPeerAdminDown() const;
      65             :     virtual bool IsServerDeleted() const;
      66             :     virtual bool IsServerAdminDown() const;
      67             :     virtual bool IsInGRTimerWaitState() const;
      68             :     virtual bool IsInLlgrTimerWaitState() const;
      69             :     virtual const std::vector<BgpProto::OpenMessage::Capability *>
      70             :         &capabilities() const;
      71             :     bool IsLlgrSupportedForFamilies() const;
      72             :     bool IsCloseLongLivedGracefulInternal() const;
      73             : 
      74             :     BgpPeer *peer_;
      75             :     uint64_t flap_count_;
      76             :     std::vector<std::string> negotiated_families_;
      77             :     std::vector<std::string> gr_families_;
      78             :     std::vector<std::string> llgr_families_;
      79             :     BgpProto::OpenMessage::Capability::GR gr_params_;
      80             :     BgpProto::OpenMessage::Capability::LLGR llgr_params_;
      81             : 
      82             :     DISALLOW_COPY_AND_ASSIGN(BgpPeerClose);
      83             : };
      84             : 
      85             : #endif  // SRC_BGP_BGP_PEER_CLOSE_H__

Generated by: LCOV version 1.14