OpenSDN source code
traceroute.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2014 Juniper Networks, Inc. All rights reserved.
3
*/
4
5
#ifndef vnsw_agent_diag_trace_route_hpp
6
#define vnsw_agent_diag_trace_route_hpp
7
8
#include "
diag/diag.h
"
9
#include "diag/diag_types.h"
10
#include "
pkt/control_interface.h
"
11
12
class
DiagTable
;
13
class
TraceRoute
:
public
DiagEntry
{
14
public
:
15
static
const
int
kBufferSize
= 1024;
16
17
TraceRoute
(
const
TraceRouteReq *req,
DiagTable
*
diag_table
);
18
virtual
~TraceRoute
();
19
20
virtual
void
SendRequest
();
21
void
RequestTimedOut
(uint32_t seqno);
22
virtual
void
HandleReply
(
DiagPktHandler
*handler);
23
void
ReplyLocalHop
();
24
void
SendSummary
();
25
virtual
bool
IsDone
();
26
27
static
void
HandleRequest
(
DiagPktHandler
*);
28
29
static
void
SendSandeshReply
(
const
std::string &address,
30
const
std::string &context,
bool
more);
31
private
:
32
void
FillHeader
(
AgentDiagPktData
*data);
33
void
IncrementTtl
();
34
35
bool
done_
;
36
uint8_t
ttl_
;
// ttl value set in the msg sent out
37
uint16_t
max_ttl_
;
// max ttl upto which requests are sent
38
std::string
context_
;
39
};
40
41
#endif
DiagEntry
Definition:
diag.h:21
DiagEntry::diag_table
DiagTable * diag_table() const
Definition:
diag.h:48
DiagPktHandler
Definition:
diag_pkt_handler.h:30
DiagTable
Definition:
diag.h:104
TraceRoute
Definition:
traceroute.h:13
TraceRoute::~TraceRoute
virtual ~TraceRoute()
Definition:
traceroute.cc:45
TraceRoute::RequestTimedOut
void RequestTimedOut(uint32_t seqno)
Definition:
traceroute.cc:181
TraceRoute::max_ttl_
uint16_t max_ttl_
Definition:
traceroute.h:37
TraceRoute::SendSummary
void SendSummary()
Definition:
traceroute.cc:209
TraceRoute::context_
std::string context_
Definition:
traceroute.h:38
TraceRoute::SendSandeshReply
static void SendSandeshReply(const std::string &address, const std::string &context, bool more)
Definition:
traceroute.cc:22
TraceRoute::ttl_
uint8_t ttl_
Definition:
traceroute.h:36
TraceRoute::kBufferSize
static const int kBufferSize
Definition:
traceroute.h:15
TraceRoute::done_
bool done_
Definition:
traceroute.h:35
TraceRoute::SendRequest
virtual void SendRequest()
Definition:
traceroute.cc:56
TraceRoute::HandleRequest
static void HandleRequest(DiagPktHandler *)
TraceRoute::TraceRoute
TraceRoute(const TraceRouteReq *req, DiagTable *diag_table)
Definition:
traceroute.cc:33
TraceRoute::IncrementTtl
void IncrementTtl()
Definition:
traceroute.cc:216
TraceRoute::ReplyLocalHop
void ReplyLocalHop()
Definition:
traceroute.cc:204
TraceRoute::IsDone
virtual bool IsDone()
Definition:
traceroute.cc:212
TraceRoute::HandleReply
virtual void HandleReply(DiagPktHandler *handler)
Definition:
traceroute.cc:194
TraceRoute::FillHeader
void FillHeader(AgentDiagPktData *data)
Definition:
traceroute.cc:48
control_interface.h
diag.h
AgentDiagPktData
Definition:
diag.h:73
contrail
controller
src
vnsw
agent
diag
traceroute.h
Generated by
1.9.1