This series enables shadowed CVQ to intercept
VIRTIO_NET_CTRL_MQ_HASH_CONFIG command through shadowed CVQ,
update the virtio NIC device model so qemu send it in a
migration, and the restore of that Hash calculation state
in the destination.
ChangeLog
=========
v4:
- fix some typos pointed out by Michael
- zero the `cfg` fields at the definition suggested by Michael
v3: https://lore.kernel.org/all/cover.1697902949.git.yin31149@gmail.com/
- remove the `do_rss` argument in vhost_vdpa_net_load_rss()
- zero reserved fields in "cfg" manually instead of using memset()
to prevent compiler "array-bounds" warning
v2: https://lore.kernel.org/all/cover.1693297766.git.yin31149@gmail.com/
- resolve conflict with updated patch
"vdpa: Send all CVQ state load commands in parallel", move the
`table` declaration at the beginning of the vhost_vdpa_net_load_rss()
in patch
"vdpa: Restore hash calculation state"
RFC: https://lore.kernel.org/all/cover.1691762906.git.yin31149@gmail.com/#t
TestStep
========
1. test the migration using vp-vdpa device
- For L0 guest, boot QEMU with two virtio-net-pci net device with
`ctrl_vq`, `mq`, `hash` features on, command line like:
-netdev tap,...
-device virtio-net-pci,disable-legacy=on,disable-modern=off,
iommu_platform=on,mq=on,ctrl_vq=on,hash=on,guest_announce=off,
indirect_desc=off,queue_reset=off,guest_uso4=off,guest_uso6=off,
host_uso=off,...
- For L1 guest, apply the relative patch series and compile the
source code, start QEMU with two vdpa device with svq mode on,
enable the `ctrl_vq`, `mq`, `hash` features on, command line like:
-netdev type=vhost-vdpa,x-svq=true,...
-device virtio-net-pci,mq=on,guest_announce=off,ctrl_vq=on,
hash=on,...
- For L2 source guest, run the following bash command:
```bash
#!/bin/sh
ethtool -K eth0 rxhash on
```
- Gdb attach the destination VM and break at the
vhost_vdpa_net_load_rss()
- Execute the live migration in L2 source monitor
- Result
* with this series, gdb can hit the breakpoint and continue
the executing without triggering any error or warning.
Hawkins Jiawei (2):
vdpa: Restore hash calculation state
vdpa: Allow VIRTIO_NET_F_HASH_REPORT in SVQ
net/vhost-vdpa.c | 92 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 92 insertions(+)
--
2.25.1