I regret needing to submit this patch but, in good contentiousness,
I cannot let use of dnsmasq's RA service be generally enabled because of
a problem. I am disabling the use of dnsmasq's RA rather than just
deleting the code in the hope that the problem will be resolved.
Right now I cannot guarantee that the problem will not exist with radvd.
Although I seems to be able to make the problem happen, I have had limited
success doing this "on demand".
This patch file is being submitted as the "4th" files as part of
the original 3 file set.
I do not plan on running this patch since I will continue to
troubleshoot the problem.
The problem: Basically, it is that "occasionally," when libvirtd
starts/restarts (such as when the packages are updated with a new version), and
there is a virtual network with a IPv6 defintion which is autostarted,
sometimes the dnsmasq will "overlay" the virtual networks IPv6 address on the
system's REAL network interface and begin sending RA packets on the
interface.
I can see what the result is but, currently, I do not understand the cause.
Thus, this also could happen with radvd. But, I have seen it happen
with dnsmasq and I have not seen it happen with radvd.
Currently, to remove the problem once it occurs is to destroy the virtual
network and then restart the real network.
I have proof that this occurred before the "bind-dynamic" patches were
introduced so they are not an issue.
---
src/network/bridge_driver.c | 3 ++-
tests/networkxml2argvdata/dhcp6-nat-network.argv | 1 -
tests/networkxml2argvdata/dhcp6-network.argv | 1 -
tests/networkxml2argvdata/dhcp6host-routed-network.argv | 1 -
tests/networkxml2argvdata/nat-network.argv | 2 --
5 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index a8f6d8e..ed03262 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -77,8 +77,9 @@
#define CHECK_VERSION_DHCP(CAPS) \
(dnsmasqCapsGetVersion(CAPS) >= 2064000)
+/* termporarily disable dnsmasq's RA service */
#define CHECK_VERSION_RA(CAPS) \
- (dnsmasqCapsGetVersion(CAPS) >= 2064000)
+ (dnsmasqCapsGetVersion(CAPS) >= 9099000)
/* Main driver state */
struct network_driver {
diff --git a/tests/networkxml2argvdata/dhcp6-nat-network.argv
b/tests/networkxml2argvdata/dhcp6-nat-network.argv
index bdb64d6..a8caf81 100644
--- a/tests/networkxml2argvdata/dhcp6-nat-network.argv
+++ b/tests/networkxml2argvdata/dhcp6-nat-network.argv
@@ -11,4 +11,3 @@ dhcp-leasefile=/var/lib/libvirt/dnsmasq/default.leases
dhcp-lease-max=493
dhcp-hostsfile=/var/lib/libvirt/dnsmasq/default.hostsfile
addn-hosts=/var/lib/libvirt/dnsmasq/default.addnhosts
-enable-ra
diff --git a/tests/networkxml2argvdata/dhcp6-network.argv
b/tests/networkxml2argvdata/dhcp6-network.argv
index 42c7b35..4550aa9 100644
--- a/tests/networkxml2argvdata/dhcp6-network.argv
+++ b/tests/networkxml2argvdata/dhcp6-network.argv
@@ -11,4 +11,3 @@ dhcp-leasefile=/var/lib/libvirt/dnsmasq/default.leases
dhcp-lease-max=240
dhcp-hostsfile=/var/lib/libvirt/dnsmasq/default.hostsfile
addn-hosts=/var/lib/libvirt/dnsmasq/default.addnhosts
-enable-ra
diff --git a/tests/networkxml2argvdata/dhcp6host-routed-network.argv
b/tests/networkxml2argvdata/dhcp6host-routed-network.argv
index 9ee3c28..a7d4059 100644
--- a/tests/networkxml2argvdata/dhcp6host-routed-network.argv
+++ b/tests/networkxml2argvdata/dhcp6host-routed-network.argv
@@ -9,4 +9,3 @@ dhcp-no-override
dhcp-range=2001:db8:ac10:fd01::1,static
dhcp-hostsfile=/var/lib/libvirt/dnsmasq/local.hostsfile
addn-hosts=/var/lib/libvirt/dnsmasq/local.addnhosts
-enable-ra
diff --git a/tests/networkxml2argvdata/nat-network.argv
b/tests/networkxml2argvdata/nat-network.argv
index e71f54b..012f3d5 100644
--- a/tests/networkxml2argvdata/nat-network.argv
+++ b/tests/networkxml2argvdata/nat-network.argv
@@ -10,5 +10,3 @@ dhcp-leasefile=/var/lib/libvirt/dnsmasq/default.leases
dhcp-lease-max=253
dhcp-hostsfile=/var/lib/libvirt/dnsmasq/default.hostsfile
addn-hosts=/var/lib/libvirt/dnsmasq/default.addnhosts
-dhcp-range=2001:db8:ac10:fe01::1,ra-only
-dhcp-range=2001:db8:ac10:fd01::1,ra-only
--
1.7.11.7