OpenSDN source code
|
#include <bfd_proto.h>
Classes | |
class | BfdCommunicator |
struct | BfdStats |
Public Member Functions | |
BfdProto (Agent *agent, boost::asio::io_context &io) | |
virtual | ~BfdProto () |
ProtoHandler * | AllocProtoHandler (boost::shared_ptr< PktInfo > info, boost::asio::io_context &io) |
void | Shutdown () |
bool | Enqueue (boost::shared_ptr< PktInfo > msg) |
void | ProcessStats (PktStatsType::Type type) |
bool | ProcessBfdKeepAlive (boost::shared_ptr< PktInfo > msg) |
void | HandleReceiveSafe (boost::asio::const_buffer pkt, const boost::asio::ip::udp::endpoint &local_endpoint, const boost::asio::ip::udp::endpoint &remote_endpoint, const BFD::SessionIndex &session_index, uint8_t pkt_len, boost::system::error_code ec) |
bool | BfdHealthCheckSessionControl (HealthCheckTable::HealthCheckServiceAction action, HealthCheckInstanceService *service) |
void | NotifyHealthCheckInstanceService (uint32_t interface, IpAddress address, std::string &data) |
BfdCommunicator & | bfd_communicator () |
void | IncrementSent () |
void | IncrementReceived () |
void | IncrementReceiveDropCount () |
void | IncrementKaEnqueueCount () |
const BfdStats & | GetStats () const |
uint32_t | ActiveSessions () const |
![]() | |
Proto (Agent *agent, const char *task_name, PktHandler::PktModuleName mod, boost::asio::io_context &io) | |
virtual | ~Proto () |
virtual bool | Validate (PktInfo *msg) |
void | FreeBuffer (PktInfo *msg) |
bool | ProcessProto (boost::shared_ptr< PktInfo > msg_info) |
bool | RunProtoHandler (ProtoHandler *handler) |
void | set_trace (bool val) |
void | set_free_buffer (bool val) |
boost::asio::io_context & | get_io_service () const |
Agent * | agent () const |
const ProtoWorkQueue * | work_queue () const |
virtual void | TokenAvailable (TokenPool *pool) |
Static Public Attributes | |
static const uint32_t | kMultiplier = 2 |
static const uint32_t | kMinRxInterval = 500000 |
static const uint32_t | kMinTxInterval = 500000 |
Private Types | |
typedef std::map < BfdSessionsKey, HealthCheckInstanceService *, BfdSessionsKeyCmp > | Sessions |
typedef std::pair < BfdSessionsKey, HealthCheckInstanceService * > | SessionsPair |
Private Member Functions | |
DISALLOW_COPY_AND_ASSIGN (BfdProto) | |
Private Attributes | |
friend | BfdCommunicator |
tbb::mutex | mutex_ |
tbb::mutex | rx_mutex_ |
boost::shared_ptr< PktInfo > | msg_ |
BfdCommunicator | communicator_ |
BFD::Server * | server_ |
BFD::Client * | client_ |
BfdHandler | handler_ |
Sessions | sessions_ |
BfdStats | stats_ |
Additional Inherited Members | |
![]() | |
typedef WorkQueue < boost::shared_ptr< PktInfo > > | ProtoWorkQueue |
![]() | |
Agent * | agent_ |
PktHandler::PktModuleName | module_ |
bool | trace_ |
bool | free_buffer_ |
boost::asio::io_context & | io_ |
ProtoWorkQueue | work_queue_ |
Definition at line 56 of file bfd_proto.h.
|
private |
Definition at line 136 of file bfd_proto.h.
|
private |
Definition at line 137 of file bfd_proto.h.
BfdProto::BfdProto | ( | Agent * | agent, |
boost::asio::io_context & | io | ||
) |
|
virtual |
Definition at line 36 of file bfd_proto.cc.
|
inline |
Definition at line 131 of file bfd_proto.h.
|
virtual |
Implements Proto.
Definition at line 39 of file bfd_proto.cc.
|
inline |
Definition at line 124 of file bfd_proto.h.
bool BfdProto::BfdHealthCheckSessionControl | ( | HealthCheckTable::HealthCheckServiceAction | action, |
HealthCheckInstanceService * | service | ||
) |
|
private |
|
virtual |
Reimplemented from Proto.
Definition at line 238 of file bfd_proto.cc.
|
inline |
Definition at line 130 of file bfd_proto.h.
void BfdProto::HandleReceiveSafe | ( | boost::asio::const_buffer | pkt, |
const boost::asio::ip::udp::endpoint & | local_endpoint, | ||
const boost::asio::ip::udp::endpoint & | remote_endpoint, | ||
const BFD::SessionIndex & | session_index, | ||
uint8_t | pkt_len, | ||
boost::system::error_code | ec | ||
) |
|
inline |
Definition at line 129 of file bfd_proto.h.
|
inline |
Definition at line 127 of file bfd_proto.h.
|
inline |
Definition at line 128 of file bfd_proto.h.
|
inline |
Definition at line 126 of file bfd_proto.h.
void BfdProto::NotifyHealthCheckInstanceService | ( | uint32_t | interface, |
IpAddress | address, | ||
std::string & | data | ||
) |
Definition at line 161 of file bfd_proto.cc.
bool BfdProto::ProcessBfdKeepAlive | ( | boost::shared_ptr< PktInfo > | msg | ) |
|
virtual |
Reimplemented from Proto.
Definition at line 249 of file bfd_proto.cc.
|
inline |
|
private |
Definition at line 134 of file bfd_proto.h.
|
private |
Definition at line 144 of file bfd_proto.h.
|
private |
Definition at line 142 of file bfd_proto.h.
|
private |
Definition at line 145 of file bfd_proto.h.
|
static |
Definition at line 59 of file bfd_proto.h.
|
static |
Definition at line 60 of file bfd_proto.h.
|
static |
Definition at line 58 of file bfd_proto.h.
|
private |
Definition at line 141 of file bfd_proto.h.
|
private |
Definition at line 139 of file bfd_proto.h.
|
private |
Definition at line 140 of file bfd_proto.h.
|
private |
Definition at line 143 of file bfd_proto.h.
|
private |
Definition at line 146 of file bfd_proto.h.
|
private |
Definition at line 147 of file bfd_proto.h.