From 8733b313deb490d14314ebcebb8fc2c30dbbfebb Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 10 May 2024 17:25:13 +0100 Subject: [PATCH] unbound-dhcp-leases-bridge: Skip updates if not necessary Signed-off-by: Michael Tremer --- config/unbound/unbound-dhcp-leases-bridge | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/config/unbound/unbound-dhcp-leases-bridge b/config/unbound/unbound-dhcp-leases-bridge index 43f006e93..40b6c2943 100644 --- a/config/unbound/unbound-dhcp-leases-bridge +++ b/config/unbound/unbound-dhcp-leases-bridge @@ -219,10 +219,23 @@ class UnboundDHCPLeasesBridge(object): address = message.get("ADDRESS") name = message.get("NAME") + # Find the old lease + old_lease = self._find_lease(address) + # Create a new lease lease = Lease(address, { "client-hostname" : name, }) + self._add_lease(lease) + + # Can we skip the update? + if old_lease: + if lease.rrset == old_lease.rrset: + log.debug("Won't update %s as nothing has changed" % lease) + return + + # Remove the old lease first + self.unbound.remove_lease(old_lease) # Apply the lease self.unbound.apply_lease(lease) -- 2.39.5