OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TraceRoute Class Reference

#include <traceroute.h>

Inheritance diagram for TraceRoute:
Collaboration diagram for TraceRoute:

Public Member Functions

 TraceRoute (const TraceRouteReq *req, DiagTable *diag_table)
 
virtual ~TraceRoute ()
 
virtual void SendRequest ()
 
void RequestTimedOut (uint32_t seqno)
 
virtual void HandleReply (DiagPktHandler *handler)
 
void ReplyLocalHop ()
 
void SendSummary ()
 
virtual bool IsDone ()
 
- Public Member Functions inherited from DiagEntry
 DiagEntry (const std::string &sip, const std::string &dip, uint8_t proto, uint16_t sport, uint16_t dport, const std::string &vrf_name, int timeout, int count, DiagTable *diag_table)
 
virtual ~DiagEntry ()
 
void Init ()
 
void EnqueueForceDelete ()
 
bool TimerExpiry (uint32_t seqno)
 
void RestartTimer ()
 
virtual bool ResendOnTimerExpiry ()
 
DiagKey GetKey ()
 
uint32_t GetSeqNo ()
 
uint32_t GetMaxAttempts ()
 
void SetKey (DiagKey key)
 
virtual void Retry ()
 
bool TimerCancel ()
 
DiagTablediag_table () const
 
uint32_t HashValUdpSourcePort ()
 
void FillOamPktHeader (OverlayOamPktData *pktdata, uint32_t vxlan_id, const boost::posix_time::ptime &time)
 

Static Public Member Functions

static void HandleRequest (DiagPktHandler *)
 
static void SendSandeshReply (const std::string &address, const std::string &context, bool more)
 

Static Public Attributes

static const int kBufferSize = 1024
 

Private Member Functions

void FillHeader (AgentDiagPktData *data)
 
void IncrementTtl ()
 

Private Attributes

bool done_
 
uint8_t ttl_
 
uint16_t max_ttl_
 
std::string context_
 

Additional Inherited Members

- Public Types inherited from DiagEntry
typedef uint16_t DiagKey
 
typedef Timer DiagTimer
 
- Protected Attributes inherited from DiagEntry
IpAddress sip_
 
IpAddress dip_
 
uint8_t proto_
 
uint16_t sport_
 
uint16_t dport_
 
std::string vrf_name_
 
boost::system::error_code ec_
 
DiagTablediag_table_
 
DiagKey key_
 
int timeout_
 
DiagTimertimer_
 
uint32_t max_attempts_
 
uint32_t seq_no_
 

Detailed Description

Definition at line 13 of file traceroute.h.

Constructor & Destructor Documentation

TraceRoute::TraceRoute ( const TraceRouteReq *  req,
DiagTable diag_table 
)

Definition at line 33 of file traceroute.cc.

TraceRoute::~TraceRoute ( )
virtual

Definition at line 45 of file traceroute.cc.

Member Function Documentation

void TraceRoute::FillHeader ( AgentDiagPktData data)
private

Definition at line 48 of file traceroute.cc.

void TraceRoute::HandleReply ( DiagPktHandler handler)
virtual

Implements DiagEntry.

Definition at line 194 of file traceroute.cc.

Here is the call graph for this function:

static void TraceRoute::HandleRequest ( DiagPktHandler )
static
void TraceRoute::IncrementTtl ( )
private

Definition at line 216 of file traceroute.cc.

bool TraceRoute::IsDone ( )
virtual

Reimplemented from DiagEntry.

Definition at line 212 of file traceroute.cc.

void TraceRoute::ReplyLocalHop ( )

Definition at line 204 of file traceroute.cc.

Here is the call graph for this function:

void TraceRoute::RequestTimedOut ( uint32_t  seqno)
virtual

Implements DiagEntry.

Definition at line 181 of file traceroute.cc.

Here is the call graph for this function:

void TraceRoute::SendRequest ( )
virtual

Implements DiagEntry.

Definition at line 56 of file traceroute.cc.

Here is the call graph for this function:

void TraceRoute::SendSandeshReply ( const std::string &  address,
const std::string &  context,
bool  more 
)
static

Definition at line 22 of file traceroute.cc.

void TraceRoute::SendSummary ( )
virtual

Reimplemented from DiagEntry.

Definition at line 209 of file traceroute.cc.

Member Data Documentation

std::string TraceRoute::context_
private

Definition at line 38 of file traceroute.h.

bool TraceRoute::done_
private

Definition at line 35 of file traceroute.h.

const int TraceRoute::kBufferSize = 1024
static

Definition at line 15 of file traceroute.h.

uint16_t TraceRoute::max_ttl_
private

Definition at line 37 of file traceroute.h.

uint8_t TraceRoute::ttl_
private

Definition at line 36 of file traceroute.h.


The documentation for this class was generated from the following files: