[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[libvirt] [PATCH] (updated) additional parameters needed for dnsmasq



As I said in a previous message, dnsmasq is forwarding a number of queries upstream that should not be done. There still remains an MX query for a plain name with no domain specified that will be forwarded is dnsmasq has --domain=xxx --local=/xxx/ specified. This does not happen with no domain name and --local=// ... not a libvirt problem.

BTW, thanks again to Claudio Bley!

====================================================
diff -uNr libvirt-0.9.11.4.orig/src/network/bridge_driver.c libvirt-0.9.11.4/src/network/bridge_driver.c --- libvirt-0.9.11.4.orig/src/network/bridge_driver.c 2012-06-15 14:23:21.000000000 -0400 +++ libvirt-0.9.11.4/src/network/bridge_driver.c 2012-08-22 12:16:45.263488789 -0400
@@ -490,8 +490,15 @@
      */
virCommandAddArgList(cmd, "--strict-order", "--bind-interfaces", NULL);

-    if (network->def->domain)
+    if (network->def->domain) {
         virCommandAddArgList(cmd, "--domain", network->def->domain, NULL);
+        virCommandAddArgFormat(cmd, "--local=/%s/", network->def->domain);
+ virCommandAddArgList(cmd, "--domain-needed", "--filterwin2k", NULL);
+    }
+    else { /* need to specify local even if no domain specified */
+        virCommandAddArg(cmd, "--local=//");
+ virCommandAddArgList(cmd, "--domain-needed", "--filterwin2k", NULL);
+    }

     if (pidfile)
         virCommandAddArgPair(cmd, "--pid-file", pidfile);
diff -uNr libvirt-0.9.11.4.orig/tests/networkxml2argvdata/isolated-network.argv libvirt-0.9.11.4/tests/networkxml2argvdata/isolated-network.argv --- libvirt-0.9.11.4.orig/tests/networkxml2argvdata/isolated-network.argv 2012-06-15 14:21:54.000000000 -0400 +++ libvirt-0.9.11.4/tests/networkxml2argvdata/isolated-network.argv 2012-08-22 12:20:37.700995728 -0400
@@ -1,4 +1,5 @@
- DNSMASQ@ --strict-order --bind-interfaces --conf-file= \
+ DNSMASQ@ --strict-order --bind-interfaces \
+--local=// --domain-needed --filterwin2k --conf-file= \
 --except-interface lo --dhcp-option=3 --no-resolv \
 --listen-address 192.168.152.1 \
 --dhcp-range 192.168.152.2,192.168.152.254 \
diff -uNr libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network.argv libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network.argv --- libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network.argv 2012-06-15 14:21:54.000000000 -0400 +++ libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network.argv 2012-08-22 12:21:24.481703184 -0400
@@ -1,4 +1,5 @@
- DNSMASQ@ --strict-order --bind-interfaces --conf-file= \
+ DNSMASQ@ --strict-order --bind-interfaces \
+--local=// --domain-needed --filterwin2k --conf-file= \
 --except-interface lo --listen-address 192.168.122.1 \
 --listen-address 192.168.123.1 --listen-address 2001:db8:ac10:fe01::1 \
 --listen-address 2001:db8:ac10:fd01::1 --listen-address 10.24.10.1 \
diff -uNr libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network-dns-hosts.argv libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network-dns-hosts.argv --- libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network-dns-hosts.argv 2012-06-15 14:21:54.000000000 -0400 +++ libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network-dns-hosts.argv 2012-08-22 12:25:30.378218203 -0400
@@ -1,3 +1,4 @@
 @DNSMASQ@ --strict-order --bind-interfaces --domain example.com \
+--local=/example.com/ --domain-needed --filterwin2k \
 --conf-file= --except-interface lo --listen-address 192.168.122.1 \
 --expand-hosts --addn-hosts=/var/lib/libvirt/dnsmasq/default.addnhosts\
diff -uNr libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network-dns-srv-record.argv libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network-dns-srv-record.argv --- libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network-dns-srv-record.argv 2012-06-15 14:21:54.000000000 -0400 +++ libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network-dns-srv-record.argv 2012-08-22 12:22:35.471268869 -0400
@@ -1,7 +1,7 @@
 @DNSMASQ@ \
 --strict-order \
 --bind-interfaces \
---conf-file= \
+--local=// --domain-needed --filterwin2k --conf-file= \
 --except-interface lo \
 --srv-host=name.tcp.test-domain-name,.,1024,10,10 \
 --listen-address 192.168.122.1 \
diff -uNr libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network-dns-srv-record-minimal.argv libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network-dns-srv-record-minimal.argv --- libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network-dns-srv-record-minimal.argv 2012-06-15 14:21:54.000000000 -0400 +++ libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network-dns-srv-record-minimal.argv 2012-08-22 12:22:48.422191468 -0400
@@ -1,7 +1,7 @@
 @DNSMASQ@ \
 --strict-order \
 --bind-interfaces \
---conf-file= \
+--local=// --domain-needed --filterwin2k --conf-file= \
 --except-interface lo \
 --srv-host=name.tcp.,,,, \
 --listen-address 192.168.122.1 \
diff -uNr libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network-dns-txt-record.argv libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network-dns-txt-record.argv --- libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network-dns-txt-record.argv 2012-06-15 14:21:54.000000000 -0400 +++ libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network-dns-txt-record.argv 2012-08-22 12:23:47.642834970 -0400
@@ -1,4 +1,5 @@
- DNSMASQ@ --strict-order --bind-interfaces --conf-file= \
+ DNSMASQ@ --strict-order --bind-interfaces \
+--local=// --domain-needed --filterwin2k --conf-file= \
 --except-interface lo --txt-record=example,example value \
 --listen-address 192.168.122.1 --listen-address 192.168.123.1 \
 --listen-address 2001:db8:ac10:fe01::1 \
diff -uNr libvirt-0.9.11.4.orig/tests/networkxml2argvdata/netboot-network.argv libvirt-0.9.11.4/tests/networkxml2argvdata/netboot-network.argv --- libvirt-0.9.11.4.orig/tests/networkxml2argvdata/netboot-network.argv 2012-06-15 14:21:54.000000000 -0400 +++ libvirt-0.9.11.4/tests/networkxml2argvdata/netboot-network.argv 2012-08-22 12:24:31.838569611 -0400
@@ -1,5 +1,6 @@
 @DNSMASQ@ --strict-order --bind-interfaces --domain example.com \
---conf-file= --except-interface lo --listen-address 192.168.122.1 \
+--local=/example.com/ --domain-needed --filterwin2k --conf-file= \
+--except-interface lo --listen-address 192.168.122.1 \
 --dhcp-range 192.168.122.2,192.168.122.254 \
 --dhcp-leasefile=/var/lib/libvirt/dnsmasq/netboot.leases \
 --dhcp-lease-max=253 --dhcp-no-override --expand-hosts --enable-tftp \
diff -uNr libvirt-0.9.11.4.orig/tests/networkxml2argvdata/netboot-proxy-network.argv libvirt-0.9.11.4/tests/networkxml2argvdata/netboot-proxy-network.argv --- libvirt-0.9.11.4.orig/tests/networkxml2argvdata/netboot-proxy-network.argv 2012-06-15 14:21:54.000000000 -0400 +++ libvirt-0.9.11.4/tests/networkxml2argvdata/netboot-proxy-network.argv 2012-08-22 12:27:24.586499884 -0400
@@ -1,5 +1,6 @@
 @DNSMASQ@ --strict-order --bind-interfaces --domain example.com \
---conf-file= --except-interface lo --listen-address 192.168.122.1 \
+--local=/example.com/ --domain-needed --filterwin2k --conf-file= \
+--except-interface lo --listen-address 192.168.122.1 \
 --dhcp-range 192.168.122.2,192.168.122.254 \
 --dhcp-leasefile=/var/lib/libvirt/dnsmasq/netboot.leases \
 --dhcp-lease-max=253 --dhcp-no-override --expand-hosts \
diff -uNr libvirt-0.9.11.4.orig/tests/networkxml2argvdata/routed-network.argv libvirt-0.9.11.4/tests/networkxml2argvdata/routed-network.argv --- libvirt-0.9.11.4.orig/tests/networkxml2argvdata/routed-network.argv 2012-06-15 14:21:54.000000000 -0400 +++ libvirt-0.9.11.4/tests/networkxml2argvdata/routed-network.argv 2012-08-22 12:28:06.111841912 -0400
@@ -1,2 +1,3 @@
- DNSMASQ@ --strict-order --bind-interfaces --conf-file= \
+ DNSMASQ@ --strict-order --bind-interfaces \
+--local=// --domain-needed --filterwin2k --conf-file= \
 --except-interface lo --listen-address 192.168.122.1\
==========================================

Just in case, I also attached the patch.

Gene
diff -uNr libvirt-0.9.11.4.orig/src/network/bridge_driver.c libvirt-0.9.11.4/src/network/bridge_driver.c
--- libvirt-0.9.11.4.orig/src/network/bridge_driver.c	2012-06-15 14:23:21.000000000 -0400
+++ libvirt-0.9.11.4/src/network/bridge_driver.c	2012-08-22 12:16:45.263488789 -0400
@@ -490,8 +490,15 @@
      */
     virCommandAddArgList(cmd, "--strict-order", "--bind-interfaces", NULL);
 
-    if (network->def->domain)
+    if (network->def->domain) {
         virCommandAddArgList(cmd, "--domain", network->def->domain, NULL);
+        virCommandAddArgFormat(cmd, "--local=/%s/", network->def->domain);
+        virCommandAddArgList(cmd, "--domain-needed", "--filterwin2k", NULL);
+    }
+    else { /* need to specify local even if no domain specified */
+        virCommandAddArg(cmd, "--local=//");
+        virCommandAddArgList(cmd, "--domain-needed", "--filterwin2k", NULL);
+    }
 
     if (pidfile)
         virCommandAddArgPair(cmd, "--pid-file", pidfile);
diff -uNr libvirt-0.9.11.4.orig/tests/networkxml2argvdata/isolated-network.argv libvirt-0.9.11.4/tests/networkxml2argvdata/isolated-network.argv
--- libvirt-0.9.11.4.orig/tests/networkxml2argvdata/isolated-network.argv	2012-06-15 14:21:54.000000000 -0400
+++ libvirt-0.9.11.4/tests/networkxml2argvdata/isolated-network.argv	2012-08-22 12:20:37.700995728 -0400
@@ -1,4 +1,5 @@
- DNSMASQ@ --strict-order --bind-interfaces --conf-file= \
+ DNSMASQ@ --strict-order --bind-interfaces \
+--local=// --domain-needed --filterwin2k --conf-file= \
 --except-interface lo --dhcp-option=3 --no-resolv \
 --listen-address 192.168.152.1 \
 --dhcp-range 192.168.152.2,192.168.152.254 \
diff -uNr libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network.argv libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network.argv
--- libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network.argv	2012-06-15 14:21:54.000000000 -0400
+++ libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network.argv	2012-08-22 12:21:24.481703184 -0400
@@ -1,4 +1,5 @@
- DNSMASQ@ --strict-order --bind-interfaces --conf-file= \
+ DNSMASQ@ --strict-order --bind-interfaces \
+--local=// --domain-needed --filterwin2k --conf-file= \
 --except-interface lo --listen-address 192.168.122.1 \
 --listen-address 192.168.123.1 --listen-address 2001:db8:ac10:fe01::1 \
 --listen-address 2001:db8:ac10:fd01::1 --listen-address 10.24.10.1 \
diff -uNr libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network-dns-hosts.argv libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network-dns-hosts.argv
--- libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network-dns-hosts.argv	2012-06-15 14:21:54.000000000 -0400
+++ libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network-dns-hosts.argv	2012-08-22 12:25:30.378218203 -0400
@@ -1,3 +1,4 @@
 @DNSMASQ@ --strict-order --bind-interfaces --domain example.com \
+--local=/example.com/ --domain-needed --filterwin2k \
 --conf-file= --except-interface lo --listen-address 192.168.122.1 \
 --expand-hosts --addn-hosts=/var/lib/libvirt/dnsmasq/default.addnhosts\
diff -uNr libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network-dns-srv-record.argv libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network-dns-srv-record.argv
--- libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network-dns-srv-record.argv	2012-06-15 14:21:54.000000000 -0400
+++ libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network-dns-srv-record.argv	2012-08-22 12:22:35.471268869 -0400
@@ -1,7 +1,7 @@
 @DNSMASQ@ \
 --strict-order \
 --bind-interfaces \
---conf-file= \
+--local=// --domain-needed --filterwin2k --conf-file= \
 --except-interface lo \
 --srv-host=name.tcp.test-domain-name,.,1024,10,10 \
 --listen-address 192.168.122.1 \
diff -uNr libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network-dns-srv-record-minimal.argv libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network-dns-srv-record-minimal.argv
--- libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network-dns-srv-record-minimal.argv	2012-06-15 14:21:54.000000000 -0400
+++ libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network-dns-srv-record-minimal.argv	2012-08-22 12:22:48.422191468 -0400
@@ -1,7 +1,7 @@
 @DNSMASQ@ \
 --strict-order \
 --bind-interfaces \
---conf-file= \
+--local=// --domain-needed --filterwin2k --conf-file= \
 --except-interface lo \
 --srv-host=name.tcp.,,,, \
 --listen-address 192.168.122.1 \
diff -uNr libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network-dns-txt-record.argv libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network-dns-txt-record.argv
--- libvirt-0.9.11.4.orig/tests/networkxml2argvdata/nat-network-dns-txt-record.argv	2012-06-15 14:21:54.000000000 -0400
+++ libvirt-0.9.11.4/tests/networkxml2argvdata/nat-network-dns-txt-record.argv	2012-08-22 12:23:47.642834970 -0400
@@ -1,4 +1,5 @@
- DNSMASQ@ --strict-order --bind-interfaces --conf-file= \
+ DNSMASQ@ --strict-order --bind-interfaces \
+--local=// --domain-needed --filterwin2k --conf-file= \
 --except-interface lo --txt-record=example,example value \
 --listen-address 192.168.122.1 --listen-address 192.168.123.1 \
 --listen-address 2001:db8:ac10:fe01::1 \
diff -uNr libvirt-0.9.11.4.orig/tests/networkxml2argvdata/netboot-network.argv libvirt-0.9.11.4/tests/networkxml2argvdata/netboot-network.argv
--- libvirt-0.9.11.4.orig/tests/networkxml2argvdata/netboot-network.argv	2012-06-15 14:21:54.000000000 -0400
+++ libvirt-0.9.11.4/tests/networkxml2argvdata/netboot-network.argv	2012-08-22 12:24:31.838569611 -0400
@@ -1,5 +1,6 @@
 @DNSMASQ@ --strict-order --bind-interfaces --domain example.com \
---conf-file= --except-interface lo --listen-address 192.168.122.1 \
+--local=/example.com/ --domain-needed --filterwin2k --conf-file= \
+--except-interface lo --listen-address 192.168.122.1 \
 --dhcp-range 192.168.122.2,192.168.122.254 \
 --dhcp-leasefile=/var/lib/libvirt/dnsmasq/netboot.leases \
 --dhcp-lease-max=253 --dhcp-no-override --expand-hosts --enable-tftp \
diff -uNr libvirt-0.9.11.4.orig/tests/networkxml2argvdata/netboot-proxy-network.argv libvirt-0.9.11.4/tests/networkxml2argvdata/netboot-proxy-network.argv
--- libvirt-0.9.11.4.orig/tests/networkxml2argvdata/netboot-proxy-network.argv	2012-06-15 14:21:54.000000000 -0400
+++ libvirt-0.9.11.4/tests/networkxml2argvdata/netboot-proxy-network.argv	2012-08-22 12:27:24.586499884 -0400
@@ -1,5 +1,6 @@
 @DNSMASQ@ --strict-order --bind-interfaces --domain example.com \
---conf-file= --except-interface lo --listen-address 192.168.122.1 \
+--local=/example.com/ --domain-needed --filterwin2k --conf-file= \
+--except-interface lo --listen-address 192.168.122.1 \
 --dhcp-range 192.168.122.2,192.168.122.254 \
 --dhcp-leasefile=/var/lib/libvirt/dnsmasq/netboot.leases \
 --dhcp-lease-max=253 --dhcp-no-override --expand-hosts \
diff -uNr libvirt-0.9.11.4.orig/tests/networkxml2argvdata/routed-network.argv libvirt-0.9.11.4/tests/networkxml2argvdata/routed-network.argv
--- libvirt-0.9.11.4.orig/tests/networkxml2argvdata/routed-network.argv	2012-06-15 14:21:54.000000000 -0400
+++ libvirt-0.9.11.4/tests/networkxml2argvdata/routed-network.argv	2012-08-22 12:28:06.111841912 -0400
@@ -1,2 +1,3 @@
- DNSMASQ@ --strict-order --bind-interfaces --conf-file= \
+ DNSMASQ@ --strict-order --bind-interfaces \
+--local=// --domain-needed --filterwin2k --conf-file= \
 --except-interface lo --listen-address 192.168.122.1\

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]