OpenSDN source code
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
overlay_ping.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_diag_overlay_ping_hpp
6
#define vnsw_agent_diag_overlay_ping_hpp
7
8
#include "
diag/diag.h
"
9
#include "diag/diag_types.h"
10
#include "
pkt/control_interface.h
"
11
#include <netinet/udp.h>
12
#include <
oper/tunnel_nh.h
>
13
14
class
DiagTable
;
15
16
class
OverlayPing
:
public
DiagEntry
{
17
public
:
18
static
const
uint32_t
kOverlayUdpHdrLength
=
19
2 * (
sizeof
(
struct
ether_header) + sizeof(struct ip) + sizeof(udphdr)) +
20
sizeof(
VxlanHdr
);
21
static
const
uint32_t
kVxlanRABit
= 0x01000000;
22
static
const
uint32_t
kVxlanIBit
= 0x08000000;
23
static
const
MacAddress
in_dst_mac_
;
24
static
const
MacAddress
in_source_mac_
;
25
26
OverlayPing
(
const
OverlayPingReq *req,
DiagTable
*
diag_table
);
27
virtual
~OverlayPing
();
28
virtual
void
SendRequest
();
29
virtual
void
HandleReply
(
DiagPktHandler
*handler);
30
virtual
void
RequestTimedOut
(uint32_t seq_no);
31
virtual
void
SendSummary
();
32
static
BridgeRouteEntry
*
L2RouteGet
(
VxLanId
* vxlan,
string
remotemac,
33
Agent
*agent);
34
private
:
35
boost::uuids::uuid
vn_uuid_
;
36
MacAddress
remote_vm_mac_
;
37
uint16_t
data_len_
;
38
uint16_t
len_
;
//Length including tcp, ip, agent headers + outer eth
39
std::string
context_
;
40
boost::posix_time::ptime
senttime_
;
41
boost::posix_time::time_duration
avg_rtt_
;
42
uint32_t
pkt_lost_count_
;
43
};
44
45
#endif
OverlayPing::RequestTimedOut
virtual void RequestTimedOut(uint32_t seq_no)
Definition:
overlay_ping.cc:232
DiagPktHandler
Definition:
diag_pkt_handler.h:30
OverlayPing
Definition:
overlay_ping.h:16
OverlayPing::OverlayPing
OverlayPing(const OverlayPingReq *req, DiagTable *diag_table)
Definition:
overlay_ping.cc:18
OverlayPing::kVxlanRABit
static const uint32_t kVxlanRABit
Definition:
overlay_ping.h:21
OverlayPing::vn_uuid_
boost::uuids::uuid vn_uuid_
Definition:
overlay_ping.h:35
OverlayPing::avg_rtt_
boost::posix_time::time_duration avg_rtt_
Definition:
overlay_ping.h:41
uuid
boost::uuids::uuid uuid
Definition:
vnsw/agent/filter/policy.h:11
OverlayPing::remote_vm_mac_
MacAddress remote_vm_mac_
Definition:
overlay_ping.h:36
tunnel_nh.h
VxLanId
Definition:
vxlan.h:14
MacAddress
Definition:
mac_address.h:14
DiagTable
Definition:
diag.h:104
OverlayPing::SendSummary
virtual void SendSummary()
Definition:
overlay_ping.cc:242
BridgeRouteEntry
Definition:
bridge_route.h:99
OverlayPing::~OverlayPing
virtual ~OverlayPing()
Definition:
overlay_ping.cc:124
Agent
Definition:
agent.h:358
OverlayPing::data_len_
uint16_t data_len_
Definition:
overlay_ping.h:37
OverlayPing::in_dst_mac_
static const MacAddress in_dst_mac_
Definition:
overlay_ping.h:23
OverlayPing::context_
std::string context_
Definition:
overlay_ping.h:39
OverlayPing::pkt_lost_count_
uint32_t pkt_lost_count_
Definition:
overlay_ping.h:42
DiagEntry::diag_table
DiagTable * diag_table() const
Definition:
diag.h:48
diag.h
control_interface.h
OverlayPing::kVxlanIBit
static const uint32_t kVxlanIBit
Definition:
overlay_ping.h:22
OverlayPing::senttime_
boost::posix_time::ptime senttime_
Definition:
overlay_ping.h:40
VxlanHdr
Definition:
pkt_handler.h:86
DiagEntry
Definition:
diag.h:21
OverlayPing::SendRequest
virtual void SendRequest()
Definition:
overlay_ping.cc:132
OverlayPing::kOverlayUdpHdrLength
static const uint32_t kOverlayUdpHdrLength
Definition:
overlay_ping.h:18
OverlayPing::HandleReply
virtual void HandleReply(DiagPktHandler *handler)
Definition:
overlay_ping.cc:216
OverlayPing::len_
uint16_t len_
Definition:
overlay_ping.h:38
OverlayPing::L2RouteGet
static BridgeRouteEntry * L2RouteGet(VxLanId *vxlan, string remotemac, Agent *agent)
Definition:
overlay_ping.cc:34
OverlayPing::in_source_mac_
static const MacAddress in_source_mac_
Definition:
overlay_ping.h:24
contrail
controller
src
vnsw
agent
diag
overlay_ping.h
Generated by
1.8.5