[libvirt] [PATCH] Make dnsmasq run from libvirtd reading /etc/ethers

Satoru SATOH satoru.satoh at gmail.com
Sun Oct 4 21:00:47 UTC 2009


The following small patch makes dnsmasq run from libvirtd reading
/etc/ethers and enables static ip address assignment with it.


Libvirtd already supports static ip address assignment by
//ip/dhcp/host element in network xml definition file, however the
number of the assignments looks limited by ARG_MAX or similar parameters
when dnsmasq is exec-ed.

This patch implements a workaround for this issue and the number of
static ip assignments becomes only limited by dnsmasq (I'm not sure the
exact number but it should large enough for most cases, I guess).


Signed-off-by: Satoru SATOH <satoru.satoh at gmail.com>

---
 src/network/bridge_driver.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index 95bc810..725d340 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -391,6 +391,7 @@ networkBuildDnsmasqArgv(virConnectPtr conn,
         1 + /* dnsmasq */
         1 + /* --strict-order */
         1 + /* --bind-interfaces */
+        1 + /* --read-ethers */
         (network->def->domain?2:0) + /* --domain name */
         2 + /* --pid-file /var/run/libvirt/network/$NAME.pid */
         2 + /* --conf-file "" */
@@ -427,6 +428,7 @@ networkBuildDnsmasqArgv(virConnectPtr conn,
      */
     APPEND_ARG(*argv, i++, "--strict-order");
     APPEND_ARG(*argv, i++, "--bind-interfaces");
+    APPEND_ARG(*argv, i++, "--read-ethers");
 
     if (network->def->domain) {
        APPEND_ARG(*argv, i++, "--domain");
-- 
1.6.2.5




More information about the libvir-list mailing list