On 25/05/2020 21.46, Michael Tokarev wrote: > 25.05.2020 21:45, Thomas Huth wrote: >> On 29/04/2020 18.43, Michael Tokarev wrote: >>> Hi! >>> >>> Just a fun case of (invalid) usage of qemu-system command line. >>> Someone tried -nic model=rocker, and qemu does this: >>> >>> Unexpected error in object_property_find() at >>> /build/qemu/git/qom/object.c:1029: >>> qemu-system-x86_64: Property '.mac' not found >>> Aborted >>> >>> This happens after this commit: >>> >>> commit 52310c3fa7dc854dd2376ae8a518141abcdb78f3 >>> Author: Paolo Bonzini <[email protected]> >>> Date: Fri Mar 2 10:30:50 2018 +0100 >>> >>> net: allow using any PCI NICs in -net or -nic >>> >>> Previously rocker rightly wasn't usable as a nic model, >>> and after this commit it is now possible. >>> >>> While I agree this is invalid usage, perhaps qemu should not >>> abort like this? Maybe it should check the required property >>> too, before allowing this device to be a nic model? >> >> QEMU theoretically should never abort() - abort() means there is >> something wrong in the code ... so we should definitely fix this by >> other means. Some questions: >> >> 1) How is that rocker device normally used? Similar to a normal network >> card? Or completely different? > > Nope, this is not a network card, it is a network SWITCH, used as a > regular PCI device, not network-specific. Hence the problem at hand, - > before the patch this device weren't "nic-able", so to say, because > while it is network-related PCI device, it is not a NIC. > > I guess while building a list of "nic-able" cards, we should skip some > "nic-alike" devices and use some more specific criteria. Not everything > which is network-related is a regular NIC.
Ok, thanks for the explanation! So looking at the properties of the rocker and real NIC devices again, I think the solution might be simple: For -nic/-net, we should only consider devices that have a "netdev" property. I'll try to write a patch when I've got some spare minutes... Thomas
