提交 f0006d97 编写于 作者: D Daniel Veillard

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
上级 8a659e31
...@@ -369,6 +369,7 @@ networkBuildDnsmasqArgv(virConnectPtr conn, ...@@ -369,6 +369,7 @@ networkBuildDnsmasqArgv(virConnectPtr conn,
const char *pidfile, const char *pidfile,
const char ***argv) { const char ***argv) {
int i, len, r; int i, len, r;
int nbleases = 0;
char *pidfileArg; char *pidfileArg;
char buf[1024]; char buf[1024];
...@@ -402,6 +403,8 @@ networkBuildDnsmasqArgv(virConnectPtr conn, ...@@ -402,6 +403,8 @@ networkBuildDnsmasqArgv(virConnectPtr conn,
2 + /* --except-interface lo */ 2 + /* --except-interface lo */
2 + /* --listen-address 10.0.0.1 */ 2 + /* --listen-address 10.0.0.1 */
(2 * network->def->nranges) + /* --dhcp-range 10.0.0.2,10.0.0.254 */ (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 */ /* --dhcp-host 01:23:45:67:89:0a,hostname,10.0.0.3 */
(2 * network->def->nhosts) + (2 * network->def->nhosts) +
/* --enable-tftp --tftp-root /srv/tftp */ /* --enable-tftp --tftp-root /srv/tftp */
...@@ -466,6 +469,12 @@ networkBuildDnsmasqArgv(virConnectPtr conn, ...@@ -466,6 +469,12 @@ networkBuildDnsmasqArgv(virConnectPtr conn,
APPEND_ARG(*argv, i++, "--dhcp-range"); APPEND_ARG(*argv, i++, "--dhcp-range");
APPEND_ARG(*argv, i++, buf); 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++) { for (r = 0 ; r < network->def->nhosts ; r++) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册