Bug 1829448

Summary: Regression related to support for multiple IPv6 addresses
Product: Red Hat Enterprise Linux 8 Reporter: Slawek Kaplonski <skaplons>
Component: dnsmasqAssignee: Petr Menšík <pemensik>
Status: CLOSED ERRATA QA Contact: Petr Sklenar <psklenar>
Severity: medium Docs Contact:
Priority: urgent    
Version: 8.2CC: aegorenk, bfournie, hjensas, njohnston, pemensik, psklenar, thozza
Target Milestone: rcKeywords: AutoVerified, Patch, Regression, TestCaseProvided, Triaged, ZStream
Target Release: 8.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: dnsmasq-2.79-13.el8 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of:
: 1834454 1836825 (view as bug list) Environment:
Last Closed: 2020-11-04 02:51:58 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1829201, 1834454, 1836825    
Attachments:
Description Flags
Use only matching address family context none

Description Slawek Kaplonski 2020-04-29 14:42:32 UTC
According to Harald's email to dnsmasq ML http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2020q2/014038.html there is regression in latest dnsmasq version dnsmasq-2.79-11.el8

Details from Harald:

We discovered an issue introduced in this commit:
137286e9baecf6a3ba97722ef1b49c851b531810

Prior to this commit one could have two dhcp-host entries, one for IPv4
and another for IPv6, for example:

 dhcp-host=52:54:00:bc:c3:fd,172.20.0.11,host2
 dhcp-host=52:54:00:bc:c3:fd,[fd12:3456:789a:1::aadd],host2

This no longer works. In the above example dhcpv6 client succedes, but
the dhcpv4 client get 'no address available'. Swapping the order of the
two entries in the config file allow the dhcpv4 client to succeed, but
then the dhcpv5 client fails.

Alternative configurations that do work in 2.81:

 dhcp-host=52:54:00:bc:c3:fd,172.20.0.11,host2
 dhcp-host=tag:dhcpv6,52:54:00:bc:c3:fd,[fd12:3456:789a:1::aadd],host2

or: 

 dhcp-host=52:54:00:bc:c3:fd,172.20.0.11,[fd12:3456:789a:1::aadd],host2


I'm not sure using two dhcp-host entries was ever intended to work, as
the manual page states that both ipv4 and ipv6 address can be defined
in a single entry.

A first tought for possible fix would be to internally set the
'tag:dhcpv6' for any dhcp-host entry with only ipv6 addresse(s).

It impacts e.g. OpenStack Neutron, see https://bugzilla.redhat.com/show_bug.cgi?id=1829201 for details.

Comment 5 Petr Menšík 2020-05-04 15:11:36 UTC
Introduced by fix for a bug #1779187.

Comment 18 Petr Menšík 2020-05-11 11:21:58 UTC
Created attachment 1687258 [details]
Use only matching address family context

Comment 37 errata-xmlrpc 2020-11-04 02:51:58 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (dnsmasq bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:4673