[libvirt-users] net passthrough (hostdev) and external DNS problem - libvirt host claims DNS update

Laine Stump laine at redhat.com
Tue Nov 11 14:55:26 UTC 2014

On 11/11/2014 05:59 AM, lejeczek wrote:
> hi everybody
> I'm having I pretty regular setup, so I'd like to think.
> Guest network is to use passthrough and a DNS+DHCP on a neighbour
> system gets requests and then DHCP updates DNS records but with
> libvirt host's name instead of guest's.

This doesn't make sense. The DHCP request will come from the *guest*,
not the host, and the dhcp server should be filling in any names from
the DHCP request.

I can see two possible sources of the confusion, although neither sounds

1) the guest is configured with the host's name (in the guest's own
config files on the guest's disk)


2) the dhcp server has some sort of table pre-filled with the MAC
address of the interface that is being assigned to the guest, but giving
the host's name. (Is this a standard ethernet device and not SRIOV? If
so, then you must be using a simple <hostdev> to assign it to the guest
rather than <interface type='hostdev>, which only works for sriov
virtual functions. In that case, you wouldn't be able to modify the MAC
address, and possibly at some time in the past the host itself requested
an IP address for this interface, and the hostname info sent in the DHCP
request at that time has "stuck" in the DHCP server's cache.)

> Am I missing something here?
> How do make a guest claim DNS update and the not host on which that
> guest is running?

I would say: 1) examine the DHCP request coming from the guest using a
packet sniffer and see if it contains a hostname; if it does and it's
wrong, look at the guest's internal networking config to see what's wrong.

2) see if the dhcp server has some sort of cache that can be cleared out.

More information about the libvirt-users mailing list