Hi there,

I have a libvirt network defined as so:

<network>
    <name>customers</name>
    <bridge name='customers' macTableManager='libvirt' />
    <port isolated='yes' />
    <dns enable='no' />
    <ip address='10.0.0.1' prefix='24'>
        <dhcp>
            <host mac='02:99:92:43:eb:b8' name='dhcp-test' ip='10.0.0.10' />
        </dhcp>
    </ip>
</network>


And that network is attached to a virtual machine:

    <interface type='network'>
      <mac address='02:99:92:43:eb:b8'/>
      <source network='customers'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>


But for some reason when the domain starts, it never gets an address. If I tcpdump the bridge that was created by the network I can see it sending out discover packets, but dnsmasq never seems to respond:

01:26:25.039987 02:99:92:43:eb:b8 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: (tos 0x0, ttl 64, id 0, offset 0, flags [none], proto UDP (17), length 328)
    0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 02:99:92:43:eb:b8, length 300, xid 0xc7283f76, secs 228, Flags [none]
          Client-Ethernet-Address 02:99:92:43:eb:b8
          Vendor-rfc1048 Extensions
            Magic Cookie 0x63825363
            DHCP-Message Option 53, length 1: Discover
            Client-ID Option 61, length 7: ether 02:99:92:43:eb:b8
            MSZ Option 57, length 2: 576
            Parameter-Request Option 55, length 7:
              Subnet-Mask, Default-Gateway, Domain-Name-Server, Hostname
              Domain-Name, BR, NTP
            Vendor-Class Option 60, length 3: "d-i"



Despite that appearing to be the correct mac address.

Looking in /var/lib/libvirt/dnsmasq/customers.hostsfile, it's returning what I would expect to be there:

02:99:92:43:eb:b8,10.0.0.10,dhcp-test

If I add a <range> stanza to the configuration, that does appear to work, so it seems this is only related to static addresses.

This is libvirtd 5.8.0.