• L
    network driver: Use a separate dhcp leases file for each network · 13c00dde
    Laine Stump 提交于
    By default, all dnsmasq processes share the same leases file. libvirt
    also uses the --dhcp-lease-max option to control the maximum number of
    leases allowed. The problem is that libvirt puts in a number equal to
    the number of addresses in the range for the one network handled by a
    single instance of dnsmasq, but dnsmasq checks the total number of
    leases in the file (which could potentially contain many more).
    
    The solution is to tell each instance of dnsmasq to create and use its
    own leases file. (/var/lib/libvirt/network/<net-name>.leases).
    
    This file is created by dnsmasq when it starts, but not deleted when
    it exists. This is fine when the network is just being stopped, but if
    the leases file was left around when a network was undefined, we could
    end up with an ever-increasing number of dead files - instead, we
    explicitly unlink the leases file when a network is undefined.
    
    Note that Ubuntu carries a patch against an older version of libvirt for this:
    
    hhttps://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/713071
    ttp://bazaar.launchpad.net/~serge-hallyn/ubuntu/maverick/libvirt/bugall/revision/109
    
    I was certain I'd also seen discussion of this on libvir-list or
    libvirt-users, but couldn't find it.
    13c00dde
bridge_driver.c 78.3 KB