qemu: Clean up qemuDomainDefaultNetModel()

Group things together where it makes sense, avoid unnecessary
uses of 'else if', plus other tweaks.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
Andrea Bolognani 2024-01-19 15:27:32 +01:00
parent d583ff601f
commit d0087e65d8

View File

@ -5396,12 +5396,14 @@ static int
qemuDomainDefaultNetModel(const virDomainDef *def, qemuDomainDefaultNetModel(const virDomainDef *def,
virQEMUCaps *qemuCaps) virQEMUCaps *qemuCaps)
{ {
if (ARCH_IS_S390(def->os.arch)) /* When there are no backwards compatibility concerns getting in
* the way, virtio is a good default */
if (ARCH_IS_S390(def->os.arch) ||
qemuDomainIsRISCVVirt(def)) {
return VIR_DOMAIN_NET_MODEL_VIRTIO; return VIR_DOMAIN_NET_MODEL_VIRTIO;
}
if (def->os.arch == VIR_ARCH_ARMV6L || if (ARCH_IS_ARM(def->os.arch)) {
def->os.arch == VIR_ARCH_ARMV7L ||
def->os.arch == VIR_ARCH_AARCH64) {
if (STREQ(def->os.machine, "versatilepb")) if (STREQ(def->os.machine, "versatilepb"))
return VIR_DOMAIN_NET_MODEL_SMC91C111; return VIR_DOMAIN_NET_MODEL_SMC91C111;
@ -5413,10 +5415,6 @@ qemuDomainDefaultNetModel(const virDomainDef *def,
return VIR_DOMAIN_NET_MODEL_LAN9118; return VIR_DOMAIN_NET_MODEL_LAN9118;
} }
/* virtio is a sensible default for RISC-V virt guests */
if (qemuDomainIsRISCVVirt(def))
return VIR_DOMAIN_NET_MODEL_VIRTIO;
/* In all other cases the model depends on the capabilities. If they were /* In all other cases the model depends on the capabilities. If they were
* not provided don't report any default. */ * not provided don't report any default. */
if (!qemuCaps) if (!qemuCaps)
@ -5427,9 +5425,11 @@ qemuDomainDefaultNetModel(const virDomainDef *def,
* system than the previous one */ * system than the previous one */
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_RTL8139)) if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_RTL8139))
return VIR_DOMAIN_NET_MODEL_RTL8139; return VIR_DOMAIN_NET_MODEL_RTL8139;
else if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_E1000))
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_E1000))
return VIR_DOMAIN_NET_MODEL_E1000; return VIR_DOMAIN_NET_MODEL_E1000;
else if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VIRTIO_NET))
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VIRTIO_NET))
return VIR_DOMAIN_NET_MODEL_VIRTIO; return VIR_DOMAIN_NET_MODEL_VIRTIO;
/* We've had no luck detecting support for any network device, /* We've had no luck detecting support for any network device,