[libvirt] [PATCH 03/12] network: Check for active network during networkGetDHCPLeases

Ján Tomko jtomko at redhat.com
Wed Sep 16 12:22:28 UTC 2020


On a Wednesday in 2020, Lin Ma wrote:
>On 2020-09-11 13:22, Ján Tomko wrote:
>>On a Friday in 2020, Lin Ma wrote:
>>>It doesn't make sense querying dhcp leases for interfaces against 
>>>an inactive
>>>network, This patch adds a check to see if the network is active.
>>>
>>
>>Why would the network need to be active? the leases are still there:
>>
>>$ virsh net-destroy default
>>Network default destroyed
>>
>>$ virsh net-dhcp-leases default
>> Expiry Time           MAC address         Protocol   IP address
>>    Hostname   Client ID or DUID
>>------------------------------------------------------------------------------------------------------------
>> 2020-09-11 16:16:59   52:54:00:55:7c:df   ipv4
>>192.168.122.183/24   -          01:52:54:00:55:7c:df
>>
>
>IMO the conception of leases doesn't make sense in case of no dhcp 
>server daemon running.

The leases are still there and will be picked up by the DHCP server
after it's started again. We do have access to the leases even if
the server is not running. Why would we deny querying it?

Jano

>I'll carry this patch in V2 patch set, Please feel free to decline it.
>
>Thanks,
>Lin
>
>>>---
>>>src/network/bridge_driver.c | 7 +++++++
>>>1 file changed, 7 insertions(+)
>>>
>>>diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
>>>index 87d7acab06..1dffc2309f 100644
>>>--- a/src/network/bridge_driver.c
>>>+++ b/src/network/bridge_driver.c
>>>@@ -4068,6 +4068,13 @@ networkGetDHCPLeases(virNetworkPtr net,
>>>    if (virNetworkGetDHCPLeasesEnsureACL(net->conn, def) < 0)
>>>        goto cleanup;
>>>
>>>+    if (!virNetworkObjIsActive(obj)) {
>>>+        virReportError(VIR_ERR_OPERATION_INVALID,
>>>+                       _("network '%s' is not active"),
>>>+                       def->name);
>>>+        goto error;
>>>+    }
>>>+
>>>    /* Retrieve custom leases file location */
>>>    custom_lease_file = networkDnsmasqLeaseFileNameCustom(driver, 
>>>def->bridge);
>>>
>>>-- 2.26.0
>>>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20200916/d68077f1/attachment-0001.sig>


More information about the libvir-list mailing list