[libvirt] [PATCH] Make dnsmasq run from libvirtd reading /etc/ethers

Satoru SATOH satoru.satoh at gmail.com
Wed Oct 7 11:58:13 UTC 2009


On Mon, Oct 05, 2009 at 12:53:28PM +0100, Daniel P. Berrange wrote:
> On Mon, Oct 05, 2009 at 06:00:47AM +0900, Satoru SATOH wrote:
> > The following small patch makes dnsmasq run from libvirtd reading
> > /etc/ethers and enables static ip address assignment with it.
> > 
> > 
> > Libvirtd already supports static ip address assignment by
> > //ip/dhcp/host element in network xml definition file, however the
> > number of the assignments looks limited by ARG_MAX or similar parameters
> > when dnsmasq is exec-ed.
> > 
> > This patch implements a workaround for this issue and the number of
> > static ip assignments becomes only limited by dnsmasq (I'm not sure the
> > exact number but it should large enough for most cases, I guess).
> 
> This is the wrong way to approach this priblem since it moves a
> key configuration parameter outside the scope of the libvirt API.
> The second problem is that it is a single file per host, whereas
> libvirt can have multiple independant dnsmasq instances per host
> each with different config. 

Right. I understand it.

> If the problem is that we're getting too many  --dhcp-host args
> causing us to hit command line length limits, then we should 
> switch to using  --dhcp-hostsfile and write out a per-dnsmasq
> config file in /var/lib/libvirt/network/$NETWORKNAME.dhcpmap

Thanks a lot for letting me know about it! I completely missed that option.

Your idea looks much much better than mine - using --read-ethers.
I'll take some time and try that later.

Thanks,
Satoru SATOH




More information about the libvir-list mailing list