[libvirt] dnsmasq supporting RA instead of radvd patch

Gene Czarcinski gene at czarc.net
Wed Nov 7 21:05:30 UTC 2012


  I have a working patch to have dnsmasq support RA instead of radvd.  
However, something has come up and it will be a week to ten days before 
I can get it in shape to submit.

The current patch has three variables added to the _virNetworkObj 
structure: dnsmasqRA flag and both major and minor values for the 
dnsmasq's version.

I use "dnsmasq --version" and then parse out the major/minor version 
values.  If major>2, then dnamsqFA=1.  If major=2 and minor>=63, then 
dnsmasqRA=1.  For all other cases, dnsmasqRA=0.

Code is added to the radvd functions which checks dnsmasqRA and exits if 
it is 1.

Code is added to the dnsmasq configuration file if dnsmasqRa=1.  If 
dhcp-range or dhcp-hosts is specified for IPv6, then enable-ra is added 
for stateful (dhcpv6).  Otherwise, a special 
"dhcp-range=<ipv6-subnet-address>,ra-only" so that the ManagedFlag will 
be off in the RA packets for stateless operation.

OK, how does that sound?  Everyone comfortable with that?

Another thing is that I plan to add a test such that if the radvd 
executable is not valid, the dnsmasqRA=1.

As I was doing this, I also looked through the libvirt.spec file. My, 
what a wonderful example of wizardly that is.  Anyway, I thought some 
updates may be in ortder:

- increase the minimum version for dnsmasq from 2.41 to 2.48.

- why is radvd required for rpmbuild?

- in light of my patch, make radvd an optional runtime requirement. I am 
not a spec file expert by any means but there must be a way to not 
require radvd if dnsmasq >- 2.63.

Comments?

Gene




More information about the libvir-list mailing list