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

#include <overlay_ping.h>

Inheritance diagram for OverlayPing:
Collaboration diagram for OverlayPing:

Public Member Functions

 OverlayPing (const OverlayPingReq *req, DiagTable *diag_table)
 
virtual ~OverlayPing ()
 
virtual void SendRequest ()
 
virtual void HandleReply (DiagPktHandler *handler)
 
virtual void RequestTimedOut (uint32_t seq_no)
 
virtual void SendSummary ()
 
- 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 IsDone ()
 
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 BridgeRouteEntryL2RouteGet (VxLanId *vxlan, string remotemac, Agent *agent)
 

Static Public Attributes

static const uint32_t kOverlayUdpHdrLength
 
static const uint32_t kVxlanRABit = 0x01000000
 
static const uint32_t kVxlanIBit = 0x08000000
 
static const MacAddress in_dst_mac_
 
static const MacAddress in_source_mac_
 

Private Attributes

boost::uuids::uuid vn_uuid_
 
MacAddress remote_vm_mac_
 
uint16_t data_len_
 
uint16_t len_
 
std::string context_
 
boost::posix_time::ptime senttime_
 
boost::posix_time::time_duration avg_rtt_
 
uint32_t pkt_lost_count_
 

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 16 of file overlay_ping.h.

Constructor & Destructor Documentation

OverlayPing::OverlayPing ( const OverlayPingReq *  req,
DiagTable diag_table 
)

Definition at line 18 of file overlay_ping.cc.

OverlayPing::~OverlayPing ( )
virtual

Definition at line 124 of file overlay_ping.cc.

Member Function Documentation

void OverlayPing::HandleReply ( DiagPktHandler handler)
virtual

Implements DiagEntry.

Definition at line 216 of file overlay_ping.cc.

Here is the call graph for this function:

BridgeRouteEntry * OverlayPing::L2RouteGet ( VxLanId vxlan,
string  remotemac,
Agent agent 
)
static

Definition at line 34 of file overlay_ping.cc.

Here is the call graph for this function:

void OverlayPing::RequestTimedOut ( uint32_t  seq_no)
virtual

Implements DiagEntry.

Definition at line 232 of file overlay_ping.cc.

void OverlayPing::SendRequest ( )
virtual

Implements DiagEntry.

Definition at line 132 of file overlay_ping.cc.

Here is the call graph for this function:

void OverlayPing::SendSummary ( )
virtual

Reimplemented from DiagEntry.

Definition at line 242 of file overlay_ping.cc.

Here is the call graph for this function:

Member Data Documentation

boost::posix_time::time_duration OverlayPing::avg_rtt_
private

Definition at line 41 of file overlay_ping.h.

std::string OverlayPing::context_
private

Definition at line 39 of file overlay_ping.h.

uint16_t OverlayPing::data_len_
private

Definition at line 37 of file overlay_ping.h.

const MacAddress OverlayPing::in_dst_mac_
static

Definition at line 23 of file overlay_ping.h.

const MacAddress OverlayPing::in_source_mac_
static

Definition at line 24 of file overlay_ping.h.

const uint32_t OverlayPing::kOverlayUdpHdrLength
static
Initial value:
=
2 * (sizeof(struct ether_header) + sizeof(struct ip) + sizeof(udphdr)) +
sizeof(VxlanHdr)

Definition at line 18 of file overlay_ping.h.

const uint32_t OverlayPing::kVxlanIBit = 0x08000000
static

Definition at line 22 of file overlay_ping.h.

const uint32_t OverlayPing::kVxlanRABit = 0x01000000
static

Definition at line 21 of file overlay_ping.h.

uint16_t OverlayPing::len_
private

Definition at line 38 of file overlay_ping.h.

uint32_t OverlayPing::pkt_lost_count_
private

Definition at line 42 of file overlay_ping.h.

MacAddress OverlayPing::remote_vm_mac_
private

Definition at line 36 of file overlay_ping.h.

boost::posix_time::ptime OverlayPing::senttime_
private

Definition at line 40 of file overlay_ping.h.

boost::uuids::uuid OverlayPing::vn_uuid_
private

Definition at line 35 of file overlay_ping.h.


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