Skip to content

Commit

Permalink
Run diag timers in Diag task context
Browse files Browse the repository at this point in the history
Diag proto is running in a different instance. Update the timers to also
use the same instance.

Change-Id: Ib396d7665a96268918bda0c350a87373202c2686
closes-bug: #1729581
  • Loading branch information
haripk committed Nov 14, 2017
1 parent d4c4798 commit 75ffa4e
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
7 changes: 5 additions & 2 deletions src/vnsw/agent/diag/diag.cc
Expand Up @@ -30,7 +30,9 @@ DiagEntry::DiagEntry(const std::string &sip, const std::string &dip,
proto_(proto), sport_(sport), dport_(dport),
vrf_name_(vrf_name), diag_table_(diag_table), timeout_(timeout),
timer_(TimerManager::CreateTimer(*(diag_table->agent()->event_manager())->io_service(),
"DiagTimeoutHandler", TaskScheduler::GetInstance()->GetTaskId("Agent::Diag"), 0)),
"DiagTimeoutHandler",
TaskScheduler::GetInstance()->GetTaskId("Agent::Diag"),
PktHandler::DIAG)),
max_attempts_(attempts), seq_no_(0) {
}

Expand Down Expand Up @@ -114,7 +116,8 @@ DiagTable::DiagTable(Agent *agent):agent_(agent) {
diag_proto_.reset(
new DiagProto(agent, *(agent->event_manager())->io_service()));
entry_op_queue_ = new WorkQueue<DiagEntryOp *>
(TaskScheduler::GetInstance()->GetTaskId("Agent::Diag"), 0,
(TaskScheduler::GetInstance()->GetTaskId("Agent::Diag"),
PktHandler::DIAG,
boost::bind(&DiagTable::Process, this, _1));
entry_op_queue_->set_name("Diagnostics Table");
index_ = 1;
Expand Down
3 changes: 2 additions & 1 deletion src/vnsw/agent/diag/segment_health_check.cc
Expand Up @@ -21,7 +21,8 @@ SegmentHealthCheckPkt::SegmentHealthCheckPkt(HealthCheckInstanceService *svc,
delay_timer_ = TimerManager::CreateTimer
(*(diag_table->agent()->event_manager())->io_service(),
"SegmentHCDelayTimeoutHandler",
TaskScheduler::GetInstance()->GetTaskId("Agent::Diag"), 0);
TaskScheduler::GetInstance()->GetTaskId("Agent::Diag"),
PktHandler::DIAG);
}


Expand Down

0 comments on commit 75ffa4e

Please sign in to comment.