enum ExchangeType {
XCHG_DO, ///< DHCPv4 DISCOVER-OFFER
XCHG_RA, ///< DHCPv4 REQUEST-ACK
+ XCHG_RNA, ///< DHCPv4 REQUEST-ACK (renewal)
XCHG_SA, ///< DHCPv6 SOLICIT-ADVERTISE
XCHG_RR, ///< DHCPv6 REQUEST-REPLY
XCHG_RN, ///< DHCPv6 RENEW-REPLY
return("DISCOVER-OFFER");
case XCHG_RA:
return("REQUEST-ACK");
+ case XCHG_RNA:
+ return("REQUEST-ACK (renewal)");
case XCHG_SA:
return("SOLICIT-ADVERTISE");
case XCHG_RR:
options.getDropTime()[1]);
}
if (options.getRenewRate() != 0) {
- stats_mgr4_->addExchangeStats(StatsMgr4::XCHG_RN);
+ stats_mgr4_->addExchangeStats(StatsMgr4::XCHG_RNA);
}
} else if (options.getIpVersion() == 6) {
// may need to keep this DHCPACK in the storage if renews. Note that,
// DHCPACK messages hold the information about leases assigned.
// We use this information to renew.
- if (stats_mgr4_->hasExchangeStats(StatsMgr4::XCHG_RN)) {
+ if (stats_mgr4_->hasExchangeStats(StatsMgr4::XCHG_RNA)) {
// Renew messages are sent, because StatsMgr has the
// specific exchange type specified. Let's append the DHCPACK.
// message to a storage
// renewal. In this case we first check if StatsMgr has exchange type
// for renew specified, and if it has, if there is a corresponding
// renew message for the received DHCPACK.
- } else if (stats_mgr4_->hasExchangeStats(StatsMgr4::XCHG_RN)) {
- stats_mgr4_->passRcvdPacket(StatsMgr4::XCHG_RN, pkt4);
+ } else if (stats_mgr4_->hasExchangeStats(StatsMgr4::XCHG_RNA)) {
+ stats_mgr4_->passRcvdPacket(StatsMgr4::XCHG_RNA, pkt4);
}
}
}
isc_throw(Unexpected, "Statistics Manager for DHCPv4 "
"hasn't been initialized");
}
- stats_mgr4_->passSentPacket(StatsMgr4::XCHG_RN, msg);
+ stats_mgr4_->passSentPacket(StatsMgr4::XCHG_RNA, msg);
return (true);
}
EXPECT_EQ("DISCOVER-OFFER",
StatsMgr4::exchangeToString(StatsMgr4::XCHG_DO));
EXPECT_EQ("REQUEST-ACK", StatsMgr4::exchangeToString(StatsMgr4::XCHG_RA));
+ EXPECT_EQ("REQUEST-ACK (renewal)",
+ StatsMgr4::exchangeToString(StatsMgr4::XCHG_RNA));
+
// Test DHCPv6 specific exchange names.
EXPECT_EQ("SOLICIT-ADVERTISE",