[libvirt] [PATCHv3 0/2] Added waiting for DAD to finish for bridge address.
dguryanov at virtuozzo.com
Thu Oct 15 13:57:16 UTC 2015
On 09/29/2015 01:16 PM, Maxim Perevedentsev wrote:
> This is a fix for commit db488c79173b240459c7754f38c3c6af9b432970
> dnsmasq main process which is relied on when waiting for DAD to complete
> exits without actually waiting for DAD. This is dnsmasq daemon's task.
> It seems to be a race that DAD finished before dnsmasq main process exited.
> The above commit needs the execution to block until DAD finishes
> for bridge IPv6 address because then it closes dummy tap device.
> Thus we need to ensure this ourselves.
> So we periodically poll the kernel using netlink and
> check whether there are any IPv6 addresses assigned to bridge
> which have 'tentative' state. After DAD is finished, execution continues.
> I guess that is what dnsmasq was assumed to do.
> We use netlink to dump information about existing IPv6 addresses. Netlink's
> response is a multi-part message. Unfortunately, the current implementation
> of virNetlink treats such messages as faulty and throws an error. So the patch 2/2
> adds multi-part nelink response support.
> Update v2: fixed syntax.
> Update v3: moved to virnetdev.
> Resend: These patches were ignored and buried long ago :-(
> Maxim Perevedentsev (2):
> network: added waiting for DAD to finish for bridge address.
> netlink: add support for multi-part netlink messages.
Could someone, please, look at these patches? There was no objections
general idea on previous series, syntax looks good to me.
Our autotests really catch this problem, and patch fixes it.
> src/libvirt_private.syms | 1 +
> src/network/bridge_driver.c | 35 +++++++++-
> src/util/virnetdev.c | 160 ++++++++++++++++++++++++++++++++++++++++++++
> src/util/virnetdev.h | 2 +
> src/util/virnetlink.c | 4 +-
> 5 files changed, 200 insertions(+), 2 deletions(-)
> libvir-list mailing list
> libvir-list at redhat.com
More information about the libvir-list