Line data Source code
1 : /* 2 : * Copyright (c) 2016 Juniper Networks, Inc. All rights reserved. 3 : */ 4 : 5 : #ifndef vnsw_agent_diag_overlay_trace_route_hpp 6 : #define vnsw_agent_diag_overlay_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 : 14 : class OverlayTraceRoute: public DiagEntry { 15 : public: 16 : OverlayTraceRoute(const OverlayTraceReq *req, DiagTable *diag_table); 17 : virtual ~OverlayTraceRoute(); 18 : virtual void SendRequest(); 19 : void RequestTimedOut(uint32_t seqno); 20 : virtual void HandleReply(DiagPktHandler *handler); 21 : void ReplyLocalHop(); 22 0 : virtual bool IsDone() { return done_;} 23 : 24 : private: 25 : void IncrementTtl(); 26 : boost::uuids::uuid vn_uuid_; 27 : MacAddress remote_vm_mac_; 28 : uint8_t ttl_; 29 : bool done_; 30 : uint16_t max_ttl_; 31 : uint32_t len_; 32 : std::string context_; 33 : }; 34 : #endif