On 1/22/24 1:55 AM, Yalan Zhang wrote:
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.
Thank you.
[
1]https://libvirt.org/formatdomain.html#network-interfaces
BR,
Yalan
On Sat, Jan 20, 2024 at 4:04 PM Paul B. Henson <henson(a)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(a)lists.libvirt.org
To unsubscribe send an email to users-leave(a)lists.libvirt.org
_______________________________________________
Users mailing list --users(a)lists.libvirt.org
To unsubscribe send an email tousers-leave(a)lists.libvirt.org