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