2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-09-02 15:05:16 +00:00

[#1540] Removed useless getLease4 variant

This commit is contained in:
Francis Dupont
2020-11-14 19:26:22 +01:00
parent 2d226a6c0c
commit 88a9c19788
15 changed files with 0 additions and 212 deletions

View File

@@ -2263,22 +2263,6 @@ CqlLeaseMgr::getLease4(const ClientId &clientid) const {
return (result); return (result);
} }
Lease4Ptr
CqlLeaseMgr::getLease4(const ClientId &clientid, const HWAddr &hwaddr,
SubnetID subnet_id) const {
/// @todo: Remove this method in this and all other implementations.
/// This method is currently not implemented because allocation engine
/// searches for the lease using HW address or client identifier.
/// It never uses both parameters in the same time. We need to
/// consider if this method is needed at all.
LOG_DEBUG(dhcpsrv_logger, DHCPSRV_DBG_TRACE_DETAIL, DHCPSRV_CQL_GET_CLIENTID_HWADDR_SUBID)
.arg(clientid.toText())
.arg(hwaddr.toText())
.arg(subnet_id);
isc_throw(NotImplemented, "CqlLeaseMgr::getLease4() is obsolete");
}
Lease4Ptr Lease4Ptr
CqlLeaseMgr::getLease4(const ClientId &clientid, SubnetID subnet_id) const { CqlLeaseMgr::getLease4(const ClientId &clientid, SubnetID subnet_id) const {
LOG_DEBUG(dhcpsrv_logger, DHCPSRV_DBG_TRACE_DETAIL, DHCPSRV_CQL_GET_SUBID_CLIENTID) LOG_DEBUG(dhcpsrv_logger, DHCPSRV_DBG_TRACE_DETAIL, DHCPSRV_CQL_GET_SUBID_CLIENTID)

View File

@@ -169,21 +169,6 @@ public:
/// failed. /// failed.
virtual Lease4Collection getLease4(const ClientId& clientid) const override; virtual Lease4Collection getLease4(const ClientId& clientid) const override;
/// @brief Returns IPv4 lease for the specified client identifier, HW
/// address and subnet identifier.
///
/// @param client_id A client identifier.
/// @param hwaddr hardware address.
/// @param subnet_id A subnet identifier.
///
/// @return A pointer to the lease or NULL if the lease is not found.
///
/// @throw isc::NotImplemented On every call as this method is currently
/// not implemented for the CQL backend.
virtual Lease4Ptr getLease4(const ClientId& client_id,
const HWAddr& hwaddr,
SubnetID subnet_id) const override;
/// @brief Returns existing IPv4 lease for specified client-id /// @brief Returns existing IPv4 lease for specified client-id
/// ///
/// There can be at most one lease for a given HW address in a single /// There can be at most one lease for a given HW address in a single

View File

@@ -121,7 +121,6 @@ extern const isc::log::MessageID DHCPSRV_MEMFILE_GET6_DUID = "DHCPSRV_MEMFILE_GE
extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_ADDR4 = "DHCPSRV_MEMFILE_GET_ADDR4"; extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_ADDR4 = "DHCPSRV_MEMFILE_GET_ADDR4";
extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_ADDR6 = "DHCPSRV_MEMFILE_GET_ADDR6"; extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_ADDR6 = "DHCPSRV_MEMFILE_GET_ADDR6";
extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_CLIENTID = "DHCPSRV_MEMFILE_GET_CLIENTID"; extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_CLIENTID = "DHCPSRV_MEMFILE_GET_CLIENTID";
extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_CLIENTID_HWADDR_SUBID = "DHCPSRV_MEMFILE_GET_CLIENTID_HWADDR_SUBID";
extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_EXPIRED4 = "DHCPSRV_MEMFILE_GET_EXPIRED4"; extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_EXPIRED4 = "DHCPSRV_MEMFILE_GET_EXPIRED4";
extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_EXPIRED6 = "DHCPSRV_MEMFILE_GET_EXPIRED6"; extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_EXPIRED6 = "DHCPSRV_MEMFILE_GET_EXPIRED6";
extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_HOSTNAME4 = "DHCPSRV_MEMFILE_GET_HOSTNAME4"; extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_HOSTNAME4 = "DHCPSRV_MEMFILE_GET_HOSTNAME4";
@@ -382,7 +381,6 @@ const char* values[] = {
"DHCPSRV_MEMFILE_GET_ADDR4", "obtaining IPv4 lease for address %1", "DHCPSRV_MEMFILE_GET_ADDR4", "obtaining IPv4 lease for address %1",
"DHCPSRV_MEMFILE_GET_ADDR6", "obtaining IPv6 lease for address %1 and lease type %2", "DHCPSRV_MEMFILE_GET_ADDR6", "obtaining IPv6 lease for address %1 and lease type %2",
"DHCPSRV_MEMFILE_GET_CLIENTID", "obtaining IPv4 leases for client ID %1", "DHCPSRV_MEMFILE_GET_CLIENTID", "obtaining IPv4 leases for client ID %1",
"DHCPSRV_MEMFILE_GET_CLIENTID_HWADDR_SUBID", "obtaining IPv4 lease for client ID %1, hardware address %2 and subnet ID %3",
"DHCPSRV_MEMFILE_GET_EXPIRED4", "obtaining maximum %1 of expired IPv4 leases", "DHCPSRV_MEMFILE_GET_EXPIRED4", "obtaining maximum %1 of expired IPv4 leases",
"DHCPSRV_MEMFILE_GET_EXPIRED6", "obtaining maximum %1 of expired IPv6 leases", "DHCPSRV_MEMFILE_GET_EXPIRED6", "obtaining maximum %1 of expired IPv6 leases",
"DHCPSRV_MEMFILE_GET_HOSTNAME4", "obtaining IPv4 leases for hostname %1", "DHCPSRV_MEMFILE_GET_HOSTNAME4", "obtaining IPv4 leases for hostname %1",

View File

@@ -122,7 +122,6 @@ extern const isc::log::MessageID DHCPSRV_MEMFILE_GET6_DUID;
extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_ADDR4; extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_ADDR4;
extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_ADDR6; extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_ADDR6;
extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_CLIENTID; extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_CLIENTID;
extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_CLIENTID_HWADDR_SUBID;
extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_EXPIRED4; extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_EXPIRED4;
extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_EXPIRED6; extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_EXPIRED6;
extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_HOSTNAME4; extern const isc::log::MessageID DHCPSRV_MEMFILE_GET_HOSTNAME4;

View File

@@ -600,11 +600,6 @@ A debug message issued when the server is attempting to obtain a set of
IPv4 leases from the memory file database for a client with the specified IPv4 leases from the memory file database for a client with the specified
client identification. client identification.
% DHCPSRV_MEMFILE_GET_CLIENTID_HWADDR_SUBID obtaining IPv4 lease for client ID %1, hardware address %2 and subnet ID %3
A debug message issued when the server is attempting to obtain an IPv4
lease from the memory file database for a client with the specified
client ID, hardware address and subnet ID.
% DHCPSRV_MEMFILE_GET_EXPIRED4 obtaining maximum %1 of expired IPv4 leases % DHCPSRV_MEMFILE_GET_EXPIRED4 obtaining maximum %1 of expired IPv4 leases
A debug message issued when the server is attempting to obtain expired A debug message issued when the server is attempting to obtain expired
IPv4 leases to reclaim them. The maximum number of leases to be retrieved IPv4 leases to reclaim them. The maximum number of leases to be retrieved

View File

@@ -311,20 +311,6 @@ public:
/// @return lease collection /// @return lease collection
virtual Lease4Collection getLease4(const ClientId& clientid) const = 0; virtual Lease4Collection getLease4(const ClientId& clientid) const = 0;
/// @brief Returns existing IPv4 lease for a given client identifier,
/// HW address and subnet identifier.
///
/// @todo Consider whether this function is needed or not. In the basic
/// DHCPv4 server implementation it is not used by the allocation engine.
///
/// @param client_id A client identifier.
/// @param hwaddr Hardware address.
/// @param subnet_id A subnet identifier.
///
/// @return A pointer to the lease or NULL if the lease is not found.
virtual Lease4Ptr getLease4(const ClientId& client_id, const HWAddr& hwaddr,
SubnetID subnet_id) const = 0;
/// @brief Returns existing IPv4 lease for specified client-id /// @brief Returns existing IPv4 lease for specified client-id
/// ///
/// There can be at most one lease for a given client-id in a single /// There can be at most one lease for a given client-id in a single

View File

@@ -882,44 +882,6 @@ Memfile_LeaseMgr::getLease4(const ClientId& client_id) const {
return (collection); return (collection);
} }
Lease4Ptr
Memfile_LeaseMgr::getLease4Internal(const ClientId& client_id,
const HWAddr& hwaddr,
SubnetID subnet_id) const {
// Get the index by client id, HW address and subnet id.
const Lease4StorageClientIdHWAddressSubnetIdIndex& idx =
storage4_.get<ClientIdHWAddressSubnetIdIndexTag>();
// Try to get the lease using client id, hardware address and subnet id.
Lease4StorageClientIdHWAddressSubnetIdIndex::const_iterator lease =
idx.find(boost::make_tuple(client_id.getClientId(), hwaddr.hwaddr_,
subnet_id));
if (lease == idx.end()) {
// Lease was not found. Return empty pointer to the caller.
return (Lease4Ptr());
}
// Lease was found. Return it to the caller.
return (*lease);
}
Lease4Ptr
Memfile_LeaseMgr::getLease4(const ClientId& client_id,
const HWAddr& hwaddr,
SubnetID subnet_id) const {
LOG_DEBUG(dhcpsrv_logger, DHCPSRV_DBG_TRACE_DETAIL,
DHCPSRV_MEMFILE_GET_CLIENTID_HWADDR_SUBID).arg(client_id.toText())
.arg(hwaddr.toText())
.arg(subnet_id);
if (MultiThreadingMgr::instance().getMode()) {
std::lock_guard<std::mutex> lock(*mutex_);
return (getLease4Internal(client_id, hwaddr, subnet_id));
} else {
return (getLease4Internal(client_id, hwaddr, subnet_id));
}
}
Lease4Ptr Lease4Ptr
Memfile_LeaseMgr::getLease4Internal(const ClientId& client_id, Memfile_LeaseMgr::getLease4Internal(const ClientId& client_id,
SubnetID subnet_id) const { SubnetID subnet_id) const {

View File

@@ -200,21 +200,6 @@ public:
/// @return lease collection /// @return lease collection
virtual Lease4Collection getLease4(const ClientId& client_id) const; virtual Lease4Collection getLease4(const ClientId& client_id) const;
/// @brief Returns IPv4 lease for specified client-id/hwaddr/subnet-id tuple
///
/// There can be at most one lease for a given client-id/hwaddr tuple
/// in a single pool, so this method with either return a single lease
/// or NULL.
///
/// @param clientid client identifier
/// @param hwaddr hardware address of the client
/// @param subnet_id identifier of the subnet that lease must belong to
///
/// @return a pointer to the lease (or NULL if a lease is not found)
virtual Lease4Ptr getLease4(const ClientId& clientid,
const HWAddr& hwaddr,
SubnetID subnet_id) const;
/// @brief Returns existing IPv4 lease for specified client-id /// @brief Returns existing IPv4 lease for specified client-id
/// ///
/// This function returns a copy of the lease. The modification in the /// This function returns a copy of the lease. The modification in the

View File

@@ -2268,16 +2268,6 @@ MySqlLeaseMgr::getLease4(const ClientId& clientid) const {
return (result); return (result);
} }
Lease4Ptr
MySqlLeaseMgr::getLease4(const ClientId&, const HWAddr&, SubnetID) const {
/// This function is currently not implemented because allocation engine
/// searches for the lease using HW address or client identifier.
/// It never uses both parameters in the same time. We need to
/// consider if this function is needed at all.
isc_throw(NotImplemented, "The MySqlLeaseMgr::getLease4 function was"
" called, but it is not implemented");
}
Lease4Ptr Lease4Ptr
MySqlLeaseMgr::getLease4(const ClientId& clientid, SubnetID subnet_id) const { MySqlLeaseMgr::getLease4(const ClientId& clientid, SubnetID subnet_id) const {
LOG_DEBUG(dhcpsrv_logger, DHCPSRV_DBG_TRACE_DETAIL, DHCPSRV_MYSQL_GET_SUBID_CLIENTID) LOG_DEBUG(dhcpsrv_logger, DHCPSRV_DBG_TRACE_DETAIL, DHCPSRV_MYSQL_GET_SUBID_CLIENTID)

View File

@@ -250,19 +250,6 @@ public:
/// failed. /// failed.
virtual Lease4Collection getLease4(const ClientId& clientid) const; virtual Lease4Collection getLease4(const ClientId& clientid) const;
/// @brief Returns IPv4 lease for the specified client identifier, HW
/// address and subnet identifier.
///
/// @param client_id A client identifier.
/// @param hwaddr Hardware address.
/// @param subnet_id A subnet identifier.
///
/// @return A pointer to the lease or NULL if the lease is not found.
/// @throw isc::NotImplemented On every call as this function is currently
/// not implemented for the MySQL backend.
virtual Lease4Ptr getLease4(const ClientId& client_id, const HWAddr& hwaddr,
SubnetID subnet_id) const;
/// @brief Returns existing IPv4 lease for specified client-id /// @brief Returns existing IPv4 lease for specified client-id
/// ///
/// There can be at most one lease for a given HW address in a single /// There can be at most one lease for a given HW address in a single

View File

@@ -1597,16 +1597,6 @@ PgSqlLeaseMgr::getLease4(const ClientId& clientid) const {
return (result); return (result);
} }
Lease4Ptr
PgSqlLeaseMgr::getLease4(const ClientId&, const HWAddr&, SubnetID) const {
/// This function is currently not implemented because allocation engine
/// searches for the lease using HW address or client identifier.
/// It never uses both parameters in the same time. We need to
/// consider if this function is needed at all.
isc_throw(NotImplemented, "The PgSqlLeaseMgr::getLease4 function was"
" called, but it is not implemented");
}
Lease4Ptr Lease4Ptr
PgSqlLeaseMgr::getLease4(const ClientId& clientid, SubnetID subnet_id) const { PgSqlLeaseMgr::getLease4(const ClientId& clientid, SubnetID subnet_id) const {
LOG_DEBUG(dhcpsrv_logger, DHCPSRV_DBG_TRACE_DETAIL, DHCPSRV_PGSQL_GET_SUBID_CLIENTID) LOG_DEBUG(dhcpsrv_logger, DHCPSRV_DBG_TRACE_DETAIL, DHCPSRV_PGSQL_GET_SUBID_CLIENTID)

View File

@@ -237,19 +237,6 @@ public:
/// failed. /// failed.
virtual Lease4Collection getLease4(const ClientId& clientid) const; virtual Lease4Collection getLease4(const ClientId& clientid) const;
/// @brief Returns IPv4 lease for the specified client identifier, HW
/// address and subnet identifier.
///
/// @param client_id A client identifier.
/// @param hwaddr Hardware address.
/// @param subnet_id A subnet identifier.
///
/// @return A pointer to the lease or NULL if the lease is not found.
/// @throw isc::NotImplemented On every call as this function is currently
/// not implemented for the PostgreSQL backend.
virtual Lease4Ptr getLease4(const ClientId& client_id, const HWAddr& hwaddr,
SubnetID subnet_id) const;
/// @brief Returns existing IPv4 lease for specified client-id /// @brief Returns existing IPv4 lease for specified client-id
/// ///
/// There can be at most one lease for a given HW address in a single /// There can be at most one lease for a given HW address in a single

View File

@@ -595,40 +595,6 @@ GenericLeaseMgrTest::testGetLease4HWAddr2() {
EXPECT_EQ(0, returned.size()); EXPECT_EQ(0, returned.size());
} }
void
GenericLeaseMgrTest::testGetLease4ClientIdHWAddrSubnetId() {
Lease4Ptr leaseA = initializeLease4(straddress4_[4]);
Lease4Ptr leaseB = initializeLease4(straddress4_[5]);
Lease4Ptr leaseC = initializeLease4(straddress4_[6]);
// Set NULL client id for one of the leases. This is to make sure that such
// a lease may coexist with other leases with non NULL client id.
leaseC->client_id_.reset();
HWAddr hwaddrA(*leaseA->hwaddr_);
HWAddr hwaddrB(*leaseB->hwaddr_);
HWAddr hwaddrC(*leaseC->hwaddr_);
EXPECT_TRUE(lmptr_->addLease(leaseA));
EXPECT_TRUE(lmptr_->addLease(leaseB));
EXPECT_TRUE(lmptr_->addLease(leaseC));
// First case we should retrieve our lease
Lease4Ptr lease = lmptr_->getLease4(*leaseA->client_id_, hwaddrA, leaseA->subnet_id_);
detailCompareLease(lease, leaseA);
// Retrieve the other lease.
lease = lmptr_->getLease4(*leaseB->client_id_, hwaddrB, leaseB->subnet_id_);
detailCompareLease(lease, leaseB);
// The last lease has NULL client id so we will use a different getLease4 function
// which doesn't require client id (just a hwaddr and subnet id).
lease = lmptr_->getLease4(hwaddrC, leaseC->subnet_id_);
detailCompareLease(lease, leaseC);
// An attempt to retrieve the lease with non matching lease parameters should
// result in NULL pointer being returned.
lease = lmptr_->getLease4(*leaseA->client_id_, hwaddrB, leaseA->subnet_id_);
EXPECT_FALSE(lease);
lease = lmptr_->getLease4(*leaseA->client_id_, hwaddrA, leaseB->subnet_id_);
EXPECT_FALSE(lease);
}
void void
GenericLeaseMgrTest::testAddGetDelete6() { GenericLeaseMgrTest::testAddGetDelete6() {
const std::string addr234("2001:db8:1::234"); const std::string addr234("2001:db8:1::234");

View File

@@ -174,9 +174,6 @@ public:
/// HWAddr information. /// HWAddr information.
void testGetLease4HWAddr2(); void testGetLease4HWAddr2();
/// @brief Test lease retrieval using client id, HW address and subnet id.
void testGetLease4ClientIdHWAddrSubnetId();
/// @brief Get lease4 by hardware address (2) /// @brief Get lease4 by hardware address (2)
/// ///
/// Check that the system can cope with getting a hardware address of /// Check that the system can cope with getting a hardware address of

View File

@@ -910,19 +910,6 @@ TEST_F(MemfileLeaseMgrTest, getLease4HWAddr2MultiThread) {
testGetLease4HWAddr2(); testGetLease4HWAddr2();
} }
/// @brief Checks lease4 retrieval with clientId, HWAddr and subnet_id
TEST_F(MemfileLeaseMgrTest, getLease4ClientIdHWAddrSubnetId) {
startBackend(V4);
testGetLease4ClientIdHWAddrSubnetId();
}
/// @brief Checks lease4 retrieval with clientId, HWAddr and subnet_id
TEST_F(MemfileLeaseMgrTest, getLease4ClientIdHWAddrSubnetIdMultiThread) {
startBackend(V4);
MultiThreadingMgr::instance().setMode(true);
testGetLease4ClientIdHWAddrSubnetId();
}
/// @brief Basic Lease4 Checks /// @brief Basic Lease4 Checks
/// ///
/// Checks that the addLease, getLease4(by address), getLease4(hwaddr,subnet_id), /// Checks that the addLease, getLease4(by address), getLease4(hwaddr,subnet_id),
@@ -2072,16 +2059,6 @@ TEST_F(MemfileLeaseMgrTest, lease4ContainerIndexUpdate) {
<< error_desc; << error_desc;
detailCompareLease(tested, lease_by_clientid_subnet); detailCompareLease(tested, lease_by_clientid_subnet);
// Retrieve lease by client id, HW address and subnet.
Lease4Ptr lease_by_clientid_hwaddr_subnet = lmptr_->getLease4(*tested->client_id_,
*tested->hwaddr_,
tested->subnet_id_);
ASSERT_TRUE(lease_by_clientid_hwaddr_subnet)
<< "Lease " << tested->addr_.toText()
<< " not found by getLease4(clientid, hwaddr, subnet_id)"
<< error_desc;
detailCompareLease(tested, lease_by_clientid_hwaddr_subnet);
// Retrieve lease by HW address. // Retrieve lease by HW address.
Lease4Collection leases_by_hwaddr = lmptr_->getLease4(*tested->hwaddr_); Lease4Collection leases_by_hwaddr = lmptr_->getLease4(*tested->hwaddr_);
ASSERT_EQ(1, leases_by_hwaddr.size()); ASSERT_EQ(1, leases_by_hwaddr.size());