diff --git a/src/hooks/dhcp/high_availability/communication_state.cc b/src/hooks/dhcp/high_availability/communication_state.cc index 8153e32045..d1fe6e1247 100644 --- a/src/hooks/dhcp/high_availability/communication_state.cc +++ b/src/hooks/dhcp/high_availability/communication_state.cc @@ -341,9 +341,9 @@ CommunicationState::getReport() const { report->set("unacked-clients", Element::create(static_cast(getUnackedClientsCount()))); long long unacked_clients_left = 0; - if (isCommunicationInterrupted() && (config_->getMaxUnackedClients() > getUnackedClientsCount())) { + if (isCommunicationInterrupted() && (config_->getMaxUnackedClients() >= getUnackedClientsCount())) { unacked_clients_left = static_cast(config_->getMaxUnackedClients() - - getUnackedClientsCount()); + getUnackedClientsCount() + 1); } report->set("unacked-clients-left", Element::create(unacked_clients_left)); report->set("analyzed-packets", Element::create(static_cast(getAnalyzedMessagesCount()))); diff --git a/src/hooks/dhcp/high_availability/tests/communication_state_unittest.cc b/src/hooks/dhcp/high_availability/tests/communication_state_unittest.cc index 4aba7e080d..ecdd3adcc3 100644 --- a/src/hooks/dhcp/high_availability/tests/communication_state_unittest.cc +++ b/src/hooks/dhcp/high_availability/tests/communication_state_unittest.cc @@ -775,7 +775,7 @@ TEST_F(CommunicationStateTest, getReport) { " \"communication-interrupted\": true," " \"connecting-clients\": 2," " \"unacked-clients\": 1," - " \"unacked-clients-left\": 9," + " \"unacked-clients-left\": 10," " \"analyzed-packets\": 2" "}"; EXPECT_TRUE(isEquivalent(Element::fromJSON(expected), report));