]> git.ipfire.org Git - thirdparty/libvirt.git/commit
network: don't wait for IPv6 DAD completion when starting a network
authorLaine Stump <laine@redhat.com>
Fri, 4 Sep 2020 16:44:33 +0000 (12:44 -0400)
committerLaine Stump <laine@redhat.com>
Thu, 10 Sep 2020 15:41:08 +0000 (11:41 -0400)
commit362cab1d539925d0356fb1eb85403c22c1f80626
treec4bc0e89eb601e3713c45048505073475e848ff6
parentc7228e4a9ce19bac4475a057aacf07560881cd5e
network: don't wait for IPv6 DAD completion when starting a network

0f7436ca54 added code during virtual network startup to wait for DAD
(Duplicate Address Detection) to complete if there were any IPv6
addresses on the network. This wait was needed because (according to
the commit log) "created problems when [the "dummy" tap device] is set
to IFF_DOWN prior to DAD completing".

That commit in turn referenced commit db488c7917, which had added the
code to set the dummy tap device IFF_DOWN, commenting "DAD has
happened (dnsmasq waits for it)", and in its commit message pointed
out that if we just got rid of the dummy tap device this wouldn't be
needed.

Now that the dummy tap device has indeed been removed (commit
ee6c936fbb), there is no longer any need to set it IFF_DOWN, and thus
nothing requiring us to wait for DAD to complete. At any rate, with
the dummy tap device removed, leaving nothing else on the bridge when
it is first started, DAD never completes, leading to failure to start
any IPv6 network.

So, yes, this patch removes the wait for DAD completion, and IPv6
networks can once again start, and their associated dnsmasq process
starts successfully (this is the problem that the DAD wait was
originally intended to fix)

Signed-off-by: Laine Stump <laine@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/network/bridge_driver.c