Hi Paul,May I know the purpose of "trustGuestRxFilters='yes'" setting in your configuration?
Refer to [1], currently this "trustGuestRxFilters" parameter is only supported for the virtio device model and for macvtap connections on the host.
The hostdev type interface may not support it.
You are correct, trustGuestRxFilters is only for virtio emulated
devices. It does nothing for hostdev network interfaces (or even
for other non-virtio emulated network devices, afaik).
My guess is that either qemu previously ignored the "query-rx-filter" command when it was received for a hostdev device and now it is (correctly) returning an error, or that libvirt previously just ignored that setting for <interface> when it resolved to a hostdev (similar to how it ignores <model name='blah'/> if the interface resolves to a hostdev), and now due to refactoring it is mistakenly issuing the query-rx-filter command.
At any rate, whatever functionality you think you are getting from trustGuestRxFilters, you aren't actually getting it. libvirt should ignore that setting (it can't prohibit it, because at the time the guest is configured it doesn't know that the interface might end up being a hostdev), but in the meantime you can solve the problem by removing trustGuestRxFilters from your config.
On Sat, Jan 20, 2024 at 4:04 PM Paul B. Henson <henson@acm.org> wrote:
We've been running Debian 11 for a while, using sr-iov:
<network>
<name>sr-iov-intel-10G-1</name>
<uuid>6bdaa4c8-e720-4ea0-9a50-91cb7f2c83b1</uuid>
<forward mode='hostdev' managed='yes'>
<pf dev='eth2'/>
</forward>
</network>
and allocating vf's from the pool:
<interface type='network' trustGuestRxFilters='yes'>
<mac address='52:54:00:08:da:5b'/>
<source network='sr-iov-intel-10G-1'/>
<vlan>
<tag id='50'/>
</vlan>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
After upgrading to Debian 12, when I try to start any vm which uses the
trustGuestRxFilters option, it fails to start with the message:
error: internal error: unable to execute QEMU command 'query-rx-filter':
invalid net client name: hostdev0
If I remove the option, it starts fine (but of course is broken
functionality wise as the option wasn't there just for fun :) ).
Any thoughts on what's going on here? The Debian 12 versions are:
libvirt-daemon/stable,now 9.0.0-4
qemu-system-x86/stable,now 1:7.2+dfsg-7+deb12u3
I see Debian 12 backports has version 8.1.2+ds-1~bpo12+1 of qemu, but no
newer versions of libvirt. I haven't tried the backports version to
see if that resolves the problem.
Thanks much...
_______________________________________________
Users mailing list -- users@lists.libvirt.org
To unsubscribe send an email to users-leave@lists.libvirt.org
_______________________________________________ Users mailing list -- users@lists.libvirt.org To unsubscribe send an email to users-leave@lists.libvirt.org