mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
qemu_command.c: move QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE check to qemu_validate.c
Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
parent
37c6d4a62c
commit
78c6507473
@ -3401,14 +3401,10 @@ qemuBuildNicDevStr(virDomainDefPtr def,
|
||||
virBufferAsprintf(&buf, ",mq=on,vectors=%zu", 2 * vhostfdSize + 2);
|
||||
}
|
||||
}
|
||||
if (usingVirtio && net->driver.virtio.rx_queue_size) {
|
||||
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE)) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
_("virtio rx_queue_size option is not supported with this QEMU binary"));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (usingVirtio && net->driver.virtio.rx_queue_size)
|
||||
virBufferAsprintf(&buf, ",rx_queue_size=%u", net->driver.virtio.rx_queue_size);
|
||||
}
|
||||
|
||||
if (usingVirtio && net->driver.virtio.tx_queue_size) {
|
||||
if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_TX_QUEUE_SIZE)) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
|
@ -1261,6 +1261,14 @@ qemuValidateDomainDeviceDefNetwork(const virDomainNetDef *net,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (net->driver.virtio.rx_queue_size &&
|
||||
!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE)) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
_("virtio rx_queue_size option is not supported "
|
||||
"with this QEMU binary"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (net->driver.virtio.rx_queue_size & (net->driver.virtio.rx_queue_size - 1)) {
|
||||
virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
||||
_("rx_queue_size has to be a power of two"));
|
||||
|
@ -1445,7 +1445,8 @@ mymain(void)
|
||||
DO_TEST("net-virtio-rxtxqueuesize",
|
||||
QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE,
|
||||
QEMU_CAPS_VIRTIO_NET_TX_QUEUE_SIZE);
|
||||
DO_TEST_PARSE_ERROR("net-virtio-rxqueuesize-invalid-size", NONE);
|
||||
DO_TEST_PARSE_ERROR("net-virtio-rxqueuesize-invalid-size",
|
||||
QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE);
|
||||
DO_TEST("net-virtio-teaming",
|
||||
QEMU_CAPS_VIRTIO_NET_FAILOVER,
|
||||
QEMU_CAPS_DEVICE_VFIO_PCI);
|
||||
|
@ -474,7 +474,8 @@ mymain(void)
|
||||
DO_TEST("net-eth-hostip", NONE);
|
||||
DO_TEST("net-eth-unmanaged-tap", NONE);
|
||||
DO_TEST("net-virtio-network-portgroup", NONE);
|
||||
DO_TEST("net-virtio-rxtxqueuesize", NONE);
|
||||
DO_TEST("net-virtio-rxtxqueuesize",
|
||||
QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE);
|
||||
DO_TEST("net-virtio-teaming",
|
||||
QEMU_CAPS_VIRTIO_NET_FAILOVER,
|
||||
QEMU_CAPS_DEVICE_VFIO_PCI);
|
||||
|
Loading…
x
Reference in New Issue
Block a user