From f0006d9792063b0230ebc2b69339b3b5333ccca5 Mon Sep 17 00:00:00 2001 From: Daniel Veillard Date: Fri, 6 Nov 2009 17:53:45 +0100 Subject: [PATCH] 524280 pass max lease option to dnsmasq * src/network/bridge_driver.c: when exec'ing dnsmaq, if there are DHCP ranges defined, then compute and pass the --dhcp-lease-max deriving the maximum number of leases --- src/network/bridge_driver.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 76caa7e5e0..109febda70 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -369,6 +369,7 @@ networkBuildDnsmasqArgv(virConnectPtr conn, const char *pidfile, const char ***argv) { int i, len, r; + int nbleases = 0; char *pidfileArg; char buf[1024]; @@ -402,6 +403,8 @@ networkBuildDnsmasqArgv(virConnectPtr conn, 2 + /* --except-interface lo */ 2 + /* --listen-address 10.0.0.1 */ (2 * network->def->nranges) + /* --dhcp-range 10.0.0.2,10.0.0.254 */ + /* --dhcp-lease-max=xxx if needed */ + (network->def->nranges ? 0 : 1) + /* --dhcp-host 01:23:45:67:89:0a,hostname,10.0.0.3 */ (2 * network->def->nhosts) + /* --enable-tftp --tftp-root /srv/tftp */ @@ -466,6 +469,12 @@ networkBuildDnsmasqArgv(virConnectPtr conn, APPEND_ARG(*argv, i++, "--dhcp-range"); APPEND_ARG(*argv, i++, buf); + nbleases += network->def->ranges[r].size; + } + + if (network->def->nranges > 0) { + snprintf(buf, sizeof(buf), "--dhcp-lease-max=%d", nbleases); + APPEND_ARG(*argv, i++, buf); } for (r = 0 ; r < network->def->nhosts ; r++) { -- GitLab