OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
icmp_proto.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 Juniper Networks, Inc. All rights reserved.
3  */
4 
5 #ifndef vnsw_agent_icmp_proto_h_
6 #define vnsw_agent_icmp_proto_h_
7 
8 #include "pkt/proto.h"
10 
11 class IcmpProto : public Proto {
12 public:
13  struct IcmpStats {
14  IcmpStats() { Reset(); }
17 
18  uint32_t icmp_gw_ping;
19  uint32_t icmp_gw_ping_err;
20  uint32_t icmp_drop;
22  uint32_t icmp_no_l3fwd;
23  };
24 
25  void Shutdown() {}
26  IcmpProto(Agent *agent, boost::asio::io_context &io);
27  virtual ~IcmpProto();
28  ProtoHandler *AllocProtoHandler(boost::shared_ptr<PktInfo> info,
29  boost::asio::io_context &io);
30 
36  const IcmpStats &GetStats() const { return stats_; }
37  void ClearStats() { stats_.Reset(); }
38 
39 private:
42 };
43 
44 #endif // vnsw_agent_icmp_proto_h_
ProtoHandler * AllocProtoHandler(boost::shared_ptr< PktInfo > info, boost::asio::io_context &io)
Definition: icmp_proto.cc:19
IcmpStats stats_
Definition: icmp_proto.h:40
DISALLOW_COPY_AND_ASSIGN(IcmpProto)
uint32_t icmp_intf_not_inst
Definition: icmp_proto.h:21
void IncrStatsDrop()
Definition: icmp_proto.h:33
virtual ~IcmpProto()
Definition: icmp_proto.cc:16
void IncrStatsGwPing()
Definition: icmp_proto.h:31
Definition: agent.h:358
uint32_t icmp_gw_ping
Definition: icmp_proto.h:18
void IncrStatsNoL3Fwd()
Definition: icmp_proto.h:35
void Shutdown()
Definition: icmp_proto.h:25
const IcmpStats & GetStats() const
Definition: icmp_proto.h:36
void IncrStatsIntfNotInst()
Definition: icmp_proto.h:34
void IncrStatsGwPingErr()
Definition: icmp_proto.h:32
uint32_t icmp_gw_ping_err
Definition: icmp_proto.h:19
IcmpProto(Agent *agent, boost::asio::io_context &io)
Definition: icmp_proto.cc:9
void ClearStats()
Definition: icmp_proto.h:37
uint32_t icmp_no_l3fwd
Definition: icmp_proto.h:22