[libvirt] [PATCH 2/3] v7.1 add support for DHCPv6

Gene Czarcinski gene at czarc.net
Thu Nov 22 19:44:42 UTC 2012

On 11/22/2012 02:21 PM, Gene Czarcinski wrote:
> On 11/21/2012 04:18 PM, Gene Czarcinski wrote:
>> The DHCPv6 support includes IPV6 dhcp-range and dhcp-host for one
>> IPv6 subnetwork on one interface.  This support will only work
>> if dnsmasq version >= 2.64; otherwise an error occurs if
>> dhcp-range or dhcp-host is specified.
>> Note that the check for dnsmasq version is performed at
>> network start and only then will an error condition occur.
>> Thus, it is possible to define/edit a network configuration
>> which will not start.  The error message indicates that
>> dnsmasq version 2.64 or later is required.
>> This patch provides the same DHCP support for IPv6 which
>> has been available for IPv4.
>> With dnsmasq >= 2.64, support for the RA service is now provided
>> by dnsmasq (radvd is no longer needed/used/started).
>> Documentation has been updated to reflect the new support.
> Oops.  I did not realize that there are schemas that should be 
> updated.  I have most of what is needed figured out but there are a 
> couple of things not working cleanly.  I should have a update patch 
> submitted "real soon now".
> Suggestion: add something to the developers guidance so that you check 
> to make sure that the schemas are updated properly.  I wonder if the 
> tests would pass testing?
OK, I now have the schema for network (network.rng) so that it works as 
best I can figure for the changes involving IPv6.

1.  I believe there is currently a bug in the schema involving 
specifying an IPv6 address for a dns host (the schema calls the IPv6 
address an error).  Changing "ipv4Addr" to "ipAddr" fixed things.

2. The other changes mostly involved changing "ipv4Addr" to "ipAddr".

3. For specifying a host under the IPv6 DHCP specification, I used the 
fact of the mac being ommitted as indicating IPv6 since the mac-address 
is not meaningful with respect to the IPv6 definition. For IPv6, for 
purposes of nailing a specific IPv6-address, the host name us used as 
the identifier.  This works. but the schema gripped about it and called 
it an error until I wrapped the MAC specification in <optional> ... 
</optional>.  This is not completely correct since it is not optional 
for a IPv4 specification but I did not know how to reflect this in the 

4.  Some help here would be appreciated.  One alternative would be to 
define a new thing called "host6" for IPv6 nailed host specification but 
that seemed to me to be overkill (and it still does).


More information about the libvir-list mailing list