
On Mon, Apr 18, 2016 at 11:52 PM, Cole Robinson <crobinso@redhat.com> wrote:
On 04/15/2016 08:18 PM, Alberto Ruiz wrote:
From 112f61ec5cfdc39f7a157825c4209f7bae34c483 Mon Sep 17 00:00:00 2001 From: Alberto Ruiz <aruiz@gnome.org> Date: Wed, 13 Apr 2016 17:00:45 +0100 Subject: [PATCH] network: Add support for dhcp-range lease time in the network XML configuration format and dnsmasq
Also mention the bug in the commit message, just link it like
https://bugzilla.redhat.com/show_bug.cgi?id=913446
Needs documentation but that will be dependent on what the final patch looks like, so fine to skip for now.
The main questions are:
1) is the XML format fine? <range ... lease='XXX'/>. lease sounds kinda non-specific to me, maybe leasetime or leaseTime.
Sounds good to me, though since pointed out in a later email, we might want to make this a child tag on its own within <dhcp> instead of a per range property.
2) what to use for the input format? right now it's just string passthrough to dnsmasq, which takes a format like XX[s|m|h|d|w], or 'infinite'. Accepting that format kind of sticks us with that for all time, which probably isn't a good precedent. the easy way would probably be to just say the value needs to be in minutes, and maybe -1 == infinite. But that will take a bit more code to adapt that value to the dnsmasq format.
Sticking to minutes seems like a loss of granularity, we can't really predict that a given setup might care about second level granularity for leases can we? I'm all for the argument of sanity checking the input and not doing an opaque passthrough, but I think in the end we might want to support some sort of seconds/minutes/hours/days notation (or stick to seconds and let people figure the amount out with a calculator). Thanks a lot for the input.
CC laining for his thoughts
And one tiny comment below:
diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c index 4fb2e2a..449c9ed 100644 --- a/src/conf/network_conf.c +++ b/src/conf/network_conf.c @@ -313,6 +313,10 @@ static void virNetworkIpDefClear(virNetworkIpDefPtr def) { VIR_FREE(def->family); + + while (def->nranges) + VIR_FREE(def->ranges[--def->nranges].lease); + VIR_FREE(def->ranges);
while (def->nhosts) @@ -855,7 +859,6 @@ int virNetworkIpDefNetmask(const virNetworkIpDef *def,
VIR_SOCKET_ADDR_FAMILY(&def->address));
}
-
stray whitespace change here
- Cole
-- Alberto Ruiz Associate Engineering Manager - Desktop Management Tools Red Hat