diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst index 27f83e254d..388c620221 100644 --- a/docs/formatdomain.rst +++ b/docs/formatdomain.rst @@ -5409,6 +5409,7 @@ Typical values for QEMU and KVM include: ne2k_isa i82551 i82557b i82559er ne2k_pci pcnet rtl8139 e1000 virtio. :since:`Since 5.2.0` , ``virtio-transitional`` and ``virtio-non-transitional`` values are supported. See `Virtio transitional devices`_ for more details. +:since:`Since 9.3.0` igb is also supported. Setting NIC driver-specific options ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 4d446d7ec1..b03a3ff011 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -588,6 +588,7 @@ VIR_ENUM_IMPL(virDomainNetModel, "virtio", "e1000", "e1000e", + "igb", "virtio-transitional", "virtio-non-transitional", "usb-net", diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index bd6b7a1a19..511067a050 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -943,6 +943,7 @@ typedef enum { VIR_DOMAIN_NET_MODEL_VIRTIO, VIR_DOMAIN_NET_MODEL_E1000, VIR_DOMAIN_NET_MODEL_E1000E, + VIR_DOMAIN_NET_MODEL_IGB, VIR_DOMAIN_NET_MODEL_VIRTIO_TRANSITIONAL, VIR_DOMAIN_NET_MODEL_VIRTIO_NON_TRANSITIONAL, VIR_DOMAIN_NET_MODEL_USB_NET, diff --git a/src/qemu/qemu_domain_address.c b/src/qemu/qemu_domain_address.c index 165f975e2a..7d3d072d5a 100644 --- a/src/qemu/qemu_domain_address.c +++ b/src/qemu/qemu_domain_address.c @@ -757,7 +757,8 @@ qemuDomainDeviceCalculatePCIConnectFlags(virDomainDeviceDef *dev, if (net->model == VIR_DOMAIN_NET_MODEL_VIRTIO_TRANSITIONAL) return pciFlags; - if (net->model == VIR_DOMAIN_NET_MODEL_E1000E) + if (net->model == VIR_DOMAIN_NET_MODEL_E1000E || + net->model == VIR_DOMAIN_NET_MODEL_IGB) return pcieFlags; /* the only time model can be "unknown" is for type='hostdev' diff --git a/src/qemu/qemu_interface.c b/src/qemu/qemu_interface.c index faf7922f31..e395bfcc5b 100644 --- a/src/qemu/qemu_interface.c +++ b/src/qemu/qemu_interface.c @@ -241,6 +241,7 @@ qemuInterfaceIsVnetCompatModel(const virDomainNetDef *net) { return (virDomainNetIsVirtioModel(net) || net->model == VIR_DOMAIN_NET_MODEL_E1000E || + net->model == VIR_DOMAIN_NET_MODEL_IGB || net->model == VIR_DOMAIN_NET_MODEL_VMXNET3); }