diff --git a/README.md b/README.md
index 072e0ee..86e6521 100644
--- a/README.md
+++ b/README.md
@@ -29,25 +29,26 @@
 
 * **test_vm2vm and test_vm2vm_different_routers** allow next overrides:
 
-| Environment Variable           | Default                                                                              | Description                                                                                                                                                                                                                                                                                            |
-|--------------------------------|--------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| flavor_name                    | spt-test                                                                             | Flavor name                                                                                                                                                                                                                                                                                            |
-| flavor_ram                     | 1536                                                                                 | To define RAM allocation for specific flavor, MB                                                                                                                                                                                                                                                       |
-| flavor_vcpus                   | 1                                                                                    | To define a count of vCPU for flavor                                                                                                                                                                                                                                                                   |
-| flavor_disk                    | 5                                                                                    | To define a count of disks on flavor, GB                                                                                                                                                                                                                                                               |
-| image_name                     | cvp.ubuntu.2004                                                                      | Cloud Ubuntu image to create VMs. Use 20.04 image in case internet_at_vms=false since the offline packages are set for Ubuntu 20.04. You can use any other Ubuntu image in case internet_at_vms=true.                                                                                                  |
-| CMP_HOSTS                      | []                                                                                   | Pair of compute hosts to create VMs at different hosts. By default, some random pair from nova compute list will be selected. To set some pair, set _CMP_HOSTS: ["cmp001", "cmp002"]_ in _global_config.yaml_ file.                                                                                    | 
-| skipped_nodes                  | []                                                                                   | Skip some compute hosts, so they are not selected at CMP_HOSTS pair. To set some nodes to skip, set _skipped_nodes: ["cmp003"]_ in _global_config.yaml_ file. Applies the hw2hw test as well.                                                                                                          |
-| nova_timeout                   | 300                                                                                  | Timeout to VM to be ACTIVE, seconds.                                                                                                                                                                                                                                                                   |
-| external_network               | public                                                                               | External network name to allocate the Floating IPs                                                                                                                                                                                                                                                     |
-| custom_mtu                     | default                                                                              | The MTU to set at the VMs. If "default" is set, the MTU will be set automatically from the newly created SPT internal networks. The default value in the networks comes from the Neutron configuration. In case you want to test the bandwidth with some specific custom MTU, set the value like 8950. |
-| ssh_timeout                    | 500                                                                                  | Timeout to VM to be reachable via SSH, seconds.                                                                                                                                                                                                                                                        |
-| iperf_prep_string              | "sudo /bin/bash -c 'echo \"91.189.88.161        archive.ubuntu.com\" >> /etc/hosts'" | Preparation string to set ubuntu repository host in /etc/hosts of VMs.                                                                                                                                                                                                                                 |
-| internet_at_vms                | 'true'                                                                               | In case True, the Internet is present at VMs, and the tests are able to install iperf3 by _apt update; apt install iperf3_. In case VMs have no Internet, set 'false' and the iperf3 will be installed from offline *.deb packages.                                                                    |
-| iperf_deb_package_dir_path     | /opt/packages/                                                                       | Path to the local directory where the iperf3 *.deb packages are present. In the toolset offline images they are located at /opt/packages. Or you can download iperf3 deb package and its dependencies and put them at some custom folder.                                                              |
-| iperf_time                     | 60                                                                                   | iperf3 -t option value: time in seconds to transmit for (iperf -t option). Applies the hw2hw test as well.                                                                                                                                                                                             |
-| multiple_threads_number        | 10                                                                                   | Number of iperf/iperf3 parallel client threads to run (iperf3/iperf -P option value). Applies the hw2hw test as well.                                                                                                                                                                                  |
-| multiple_threads_iperf_utility | 'iperf'                                                                              | The tool for bandwidth measurements. Options to set: 'iperf' to use v2 and 'iperf3' to use v3. Eventually, this is the name of the utility that is installed at Ubuntu VMs from apt. Applies the hw2hw test as well.                                                                                   |
+| Environment Variable                   | Default                                                                              | Description                                                                                                                                                                                                                                                                                            |
+|----------------------------------------|--------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| flavor_name                            | spt-test                                                                             | Flavor name                                                                                                                                                                                                                                                                                            |
+| flavor_ram                             | 1536                                                                                 | To define RAM allocation for specific flavor, MB                                                                                                                                                                                                                                                       |
+| flavor_vcpus                           | 1                                                                                    | To define a count of vCPU for flavor                                                                                                                                                                                                                                                                   |
+| flavor_disk                            | 5                                                                                    | To define a count of disks on flavor, GB                                                                                                                                                                                                                                                               |
+| image_name                             | cvp.ubuntu.2004                                                                      | Cloud Ubuntu image to create VMs. Use 20.04 image in case internet_at_vms=false since the offline packages are set for Ubuntu 20.04. You can use any other Ubuntu image in case internet_at_vms=true.                                                                                                  |
+| add_hw_vif_multiqueue_enabled_to_image | 'true'                                                                               | Where to add hw_vif_multiqueue_enabled='True' property to the cloud Cloud Ubuntu Image. It is recommended with 10 vCPUs flavor to get better 10 threads results.                                                                                                                                       |
+| CMP_HOSTS                              | []                                                                                   | Pair of compute hosts to create VMs at different hosts. By default, some random pair from nova compute list will be selected. To set some pair, set _CMP_HOSTS: ["cmp001", "cmp002"]_ in _global_config.yaml_ file.                                                                                    | 
+| skipped_nodes                          | []                                                                                   | Skip some compute hosts, so they are not selected at CMP_HOSTS pair. To set some nodes to skip, set _skipped_nodes: ["cmp003"]_ in _global_config.yaml_ file. Applies the hw2hw test as well.                                                                                                          |
+| nova_timeout                           | 300                                                                                  | Timeout to VM to be ACTIVE, seconds.                                                                                                                                                                                                                                                                   |
+| external_network                       | public                                                                               | External network name to allocate the Floating IPs                                                                                                                                                                                                                                                     |
+| custom_mtu                             | default                                                                              | The MTU to set at the VMs. If "default" is set, the MTU will be set automatically from the newly created SPT internal networks. The default value in the networks comes from the Neutron configuration. In case you want to test the bandwidth with some specific custom MTU, set the value like 8950. |
+| ssh_timeout                            | 500                                                                                  | Timeout to VM to be reachable via SSH, seconds.                                                                                                                                                                                                                                                        |
+| iperf_prep_string                      | "sudo /bin/bash -c 'echo \"91.189.88.161        archive.ubuntu.com\" >> /etc/hosts'" | Preparation string to set ubuntu repository host in /etc/hosts of VMs.                                                                                                                                                                                                                                 |
+| internet_at_vms                        | 'true'                                                                               | In case True, the Internet is present at VMs, and the tests are able to install iperf3 by _apt update; apt install iperf3_. In case VMs have no Internet, set 'false' and the iperf3 will be installed from offline *.deb packages.                                                                    |
+| iperf_deb_package_dir_path             | /opt/packages/                                                                       | Path to the local directory where the iperf3 *.deb packages are present. In the toolset offline images they are located at /opt/packages. Or you can download iperf3 deb package and its dependencies and put them at some custom folder.                                                              |
+| iperf_time                             | 60                                                                                   | iperf3 -t option value: time in seconds to transmit for (iperf -t option). Applies the hw2hw test as well.                                                                                                                                                                                             |
+| multiple_threads_number                | 10                                                                                   | Number of iperf/iperf3 parallel client threads to run (iperf3/iperf -P option value). Applies the hw2hw test as well.                                                                                                                                                                                  |
+| multiple_threads_iperf_utility         | 'iperf'                                                                              | The tool for bandwidth measurements. Options to set: 'iperf' to use v2 and 'iperf3' to use v3. Eventually, this is the name of the utility that is installed at Ubuntu VMs from apt. Applies the hw2hw test as well.                                                                                   |
 
  In case _internet_at_vms=false_, please make sure that _iperf_deb_package_dir_path_ is set correctly and has iperf3 deb package and its dependencies.
 
diff --git a/fixtures/base.py b/fixtures/base.py
index 076fa3c..839080d 100644
--- a/fixtures/base.py
+++ b/fixtures/base.py
@@ -53,6 +53,7 @@
     flavor_ram = config.get('flavor_ram', 1536)
     flavor_vcpus = config.get('flavor_vcpus', 1)
     flavor_disk = config.get('flavor_disk', 3)
+    add_hw_vif_multiqueue_enabled_to_image = config.get('add_hw_vif_multiqueue_enabled_to_image', "true")
 
     os_images_list = [image.id for image in
                       openstack_clients.image.images.list(
@@ -61,6 +62,12 @@
     if os_images_list.__len__() == 0:
         pytest.skip("No images with name {}. This name can be redefined "
                     "with 'image_name' env var ".format(image_name))
+
+    if add_hw_vif_multiqueue_enabled_to_image.lower() == "true":
+        logger.info("Adding hw_vif_multiqueue_enabled=true property to image...")
+        openstack_clients.image.images.update(os_images_list[0],
+            hw_vif_multiqueue_enabled = "true")
+
     os_resource['image_id'] = str(os_images_list[0])
     flavor_id = os_actions.get_flavor_id_by_name(flavor_name)
     if flavor_id is None:
@@ -156,6 +163,7 @@
     flavor_ram = config.get('flavor_ram', 1536)
     flavor_vcpus = config.get('flavor_vcpus', 1)
     flavor_disk = config.get('flavor_disk', 3)
+    add_hw_vif_multiqueue_enabled_to_image = config.get('add_hw_vif_multiqueue_enabled_to_image', "true")
     os_images_list = [image.id for image in
                       openstack_alt_clients.image.images.list(
                           filters={'name': image_name})]
@@ -163,6 +171,10 @@
     if os_images_list.__len__() == 0:
         pytest.skip("No images with name {}. This name can be redefined "
                     "with 'image_name' env var ".format(image_name))
+    if add_hw_vif_multiqueue_enabled_to_image.lower() == "true":
+        logger.info("Adding hw_vif_multiqueue_enabled=true property to image...")
+        openstack_alt_clients.image.images.update(os_images_list[0],
+            hw_vif_multiqueue_enabled = "true")
     os_resource_alt_project['image_id'] = str(os_images_list[0])
 
     flavor_id = alt_os_actions.get_flavor_id_by_name(flavor_name)
diff --git a/global_config.yaml b/global_config.yaml
index 463cf90..37f1abf 100644
--- a/global_config.yaml
+++ b/global_config.yaml
@@ -4,11 +4,12 @@
 
 # parameters for vm2vm tests
 CMP_HOSTS: []
-image_name: "cvp.ubuntu.2004" # Use Ubuntu 20.04 LTS image
+image_name: "cvp.ubuntu.2004" # Use Ubuntu 20.04 LTS image with hw_vif_multiqueue_enabled='True' property
+add_hw_vif_multiqueue_enabled_to_image: "true"
 flavor_name: "spt-test"
-flavor_ram: 1536
-flavor_vcpus: 1
-flavor_disk: 5
+flavor_ram: 4096
+flavor_vcpus: 10
+flavor_disk: 20
 nova_timeout: 300
 external_network: "public"
 custom_mtu: 'default' # 'default' or some value like 8950
