[PATCH v2 0/4] VirtioNet RSS support.

Michal Prívozník mprivozn at redhat.com
Tue Apr 5 13:38:10 UTC 2022


On 1/9/22 22:07, Andrew Melnychenko wrote:
> This series of patches add RSS property support for virtio-net-pci.
> 
> Virtio RSS effectively works with TAP devices, it requires additional
> vectors for VirtioNet, queues for TAP device, and vCPU cores.
> Example of device configuration:
> ```
> <interface type="network">
>   <mac address="52:54:00:c4:90:25"/>
>   <source network="default"/>
>   <model type="virtio"/>
>   <driver name="qemu" queues="9" rss="on" rss_hash_report="off"/>
>   <address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/>
> </interface>
> ```
> 
> Capability "rss" enables RSS, "rss_hash_report" - enables hashes in vheader.
> For now, "rss" property will trigger "in-qemu" RSS in most cases.
> Current Qemu(6.2) supports eBPF RSS that may require additional capabilities.
> In future, the helper will be provided. And this code is the base for VirtIO RSS.
> 
> Changes since v1:
>  * refactored patches
>  * changed docs and tests
> 
> Changes since RFC:
>  * rebased and refactored
>  * added tests
>  * postponed the helper
> 
> Andrew Melnychenko (4):
>   domain_conf: Added configs for RSS and Hash report.
>   qemu_capabilities: Added capabilites for qemu's "rss" and "hash".
>   qemu_command: Added "rss" and "hash" properties.
>   test: Added xml2argv and xml2xml tests.
> 
>  docs/formatdomain.rst                         | 18 ++++++++
>  docs/schemas/domaincommon.rng                 | 10 +++++
>  src/conf/domain_conf.c                        | 31 ++++++++++++-
>  src/conf/domain_conf.h                        |  2 +
>  src/qemu/qemu_capabilities.c                  |  2 +
>  src/qemu/qemu_capabilities.h                  |  1 +
>  src/qemu/qemu_command.c                       |  2 +
>  src/qemu/qemu_validate.c                      | 14 ++++++
>  .../caps_5.1.0.x86_64.xml                     |  1 +
>  .../caps_5.2.0.aarch64.xml                    |  1 +
>  .../qemucapabilitiesdata/caps_5.2.0.ppc64.xml |  1 +
>  .../caps_5.2.0.riscv64.xml                    |  1 +
>  .../qemucapabilitiesdata/caps_5.2.0.s390x.xml |  1 +
>  .../caps_5.2.0.x86_64.xml                     |  1 +
>  .../caps_6.0.0.aarch64.xml                    |  1 +
>  .../qemucapabilitiesdata/caps_6.0.0.s390x.xml |  1 +
>  .../caps_6.0.0.x86_64.xml                     |  1 +
>  .../caps_6.1.0.x86_64.xml                     |  1 +
>  .../caps_6.2.0.aarch64.xml                    |  1 +
>  .../qemucapabilitiesdata/caps_6.2.0.ppc64.xml |  1 +
>  .../caps_6.2.0.x86_64.xml                     |  1 +
>  .../net-virtio-rss.x86_64-latest.args         | 43 +++++++++++++++++++
>  tests/qemuxml2argvdata/net-virtio-rss.xml     | 39 +++++++++++++++++
>  .../virtio-options.x86_64-latest.args         |  2 +-
>  tests/qemuxml2argvdata/virtio-options.xml     |  2 +-
>  tests/qemuxml2argvtest.c                      |  2 +
>  26 files changed, 178 insertions(+), 3 deletions(-)
>  create mode 100644 tests/qemuxml2argvdata/net-virtio-rss.x86_64-latest.args
>  create mode 100644 tests/qemuxml2argvdata/net-virtio-rss.xml
> 

I've reworked patches a bit, adopted newer XML parsing, merged 3 and 4
together and pushed.

Reviewed-by: Michal Privoznik <mprivozn at redhat.com>

Congratulations on your first libvirt contribution! And sorry for
delayed review.

Michal



More information about the libvir-list mailing list