<div dir="ltr">+1 for the series<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Dec 30, 2021 at 8:02 AM Andrew Melnychenko <<a href="mailto:andrew@daynix.com">andrew@daynix.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">This series of patches add RSS property support for virtio-net-pci.<br>
<br>
Virtio RSS effectively works with TAP devices, it requires additional<br>
vectors for VirtioNet, queues for TAP device, and vCPU cores.<br>
Example of device configuration:<br>
```<br>
<interface type="network"><br>
  <mac address="52:54:00:c4:90:25"/><br>
  <source network="default"/><br>
  <model type="virtio"/><br>
  <driver name="qemu" queues="9" rss="on" rss_hash_report="off"/><br>
  <address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/><br>
</interface><br>
```<br>
<br>
Capability "rss" enables RSS, "rss_hash_report" - enables hashes in vheader.<br>
For now, "rss" property will trigger "in-qemu" RSS in most cases.<br>
Current Qemu(6.2) supports eBPF RSS that may require additional capabilities.<br>
In future, the helper will be provided. And this code is the base for VirtIO RSS.<br>
<br>
Changes since RFC:<br>
 * rebased and refactored<br>
 * added tests<br>
 * postponed the helper<br>
<br>
Andrew Melnychenko (3):<br>
  domain_conf: Added configs for RSS and Hash report.<br>
  qemu_capabilities: Added capabilites for qemu's "rss" and "hash".<br>
  test: Added caps, xml2argv and xml2xml tests.<br>
<br>
 docs/formatdomain.rst                         | 15 ++++++++<br>
 docs/schemas/domaincommon.rng                 | 10 ++++++<br>
 src/conf/domain_conf.c                        | 31 +++++++++++++++-<br>
 src/conf/domain_conf.h                        |  2 ++<br>
 src/qemu/qemu_capabilities.c                  |  2 ++<br>
 src/qemu/qemu_capabilities.h                  |  1 +<br>
 src/qemu/qemu_command.c                       |  2 ++<br>
 src/qemu/qemu_validate.c                      | 16 +++++++++<br>
 .../caps_5.1.0.x86_64.xml                     |  1 +<br>
 .../caps_5.2.0.aarch64.xml                    |  1 +<br>
 .../qemucapabilitiesdata/caps_5.2.0.ppc64.xml |  1 +<br>
 .../caps_5.2.0.riscv64.xml                    |  1 +<br>
 .../qemucapabilitiesdata/caps_5.2.0.s390x.xml |  1 +<br>
 .../caps_5.2.0.x86_64.xml                     |  1 +<br>
 .../caps_6.0.0.aarch64.xml                    |  1 +<br>
 .../qemucapabilitiesdata/caps_6.0.0.s390x.xml |  1 +<br>
 .../caps_6.0.0.x86_64.xml                     |  1 +<br>
 .../caps_6.1.0.x86_64.xml                     |  1 +<br>
 .../caps_6.2.0.aarch64.xml                    |  1 +<br>
 .../qemucapabilitiesdata/caps_6.2.0.ppc64.xml |  1 +<br>
 .../caps_6.2.0.x86_64.xml                     |  1 +<br>
 tests/qemuxml2argvdata/net-virtio-hash.args   | 35 +++++++++++++++++++<br>
 tests/qemuxml2argvdata/net-virtio-hash.xml    | 29 +++++++++++++++<br>
 tests/qemuxml2argvdata/net-virtio-rss.args    | 35 +++++++++++++++++++<br>
 tests/qemuxml2argvdata/net-virtio-rss.xml     | 29 +++++++++++++++<br>
 .../qemuxml2argvdata/net-virtio-rsshash.args  | 35 +++++++++++++++++++<br>
 tests/qemuxml2argvdata/net-virtio-rsshash.xml | 29 +++++++++++++++<br>
 .../virtio-options.x86_64-latest.args         |  2 +-<br>
 tests/qemuxml2argvdata/virtio-options.xml     |  2 +-<br>
 tests/qemuxml2argvtest.c                      |  7 ++++<br>
 30 files changed, 292 insertions(+), 3 deletions(-)<br>
 create mode 100644 tests/qemuxml2argvdata/net-virtio-hash.args<br>
 create mode 100644 tests/qemuxml2argvdata/net-virtio-hash.xml<br>
 create mode 100644 tests/qemuxml2argvdata/net-virtio-rss.args<br>
 create mode 100644 tests/qemuxml2argvdata/net-virtio-rss.xml<br>
 create mode 100644 tests/qemuxml2argvdata/net-virtio-rsshash.args<br>
 create mode 100644 tests/qemuxml2argvdata/net-virtio-rsshash.xml<br>
<br>
-- <br>
2.34.1<br>
<br>
</blockquote></div>