On Wed, Jul 19, 2023 at 9:59 AM Yui Washizu <yui.wash...@gmail.com> wrote:
>
> This patch series is the first step towards enabling
> hardware offloading of the L2 packet switching feature on virtio-net device 
> to host machine.
> We are considering that this hardware offloading enables
> the use of high-performance networks in virtual infrastructures,
> such as container infrastructures on VMs.
>
> To enable L2 packet switching by SR-IOV VFs, we are considering the following:
> - making the guest recognize virtio-net devices as SR-IOV PF devices
>   (archived with this patch series)
> - allowing virtio-net devices to connect SR-IOV VFs to the backend networks,
>   leaving the L2 packet switching feature to the management layer like libvirt

Could you please show the qemu command line you want to propose here?

>   - This makes hardware offloading of L2 packet switching possible.
>     For example, when using vDPA devices, it allows the guest
>     to utilize SR-IOV NIC embedded switch of hosts.

This would be interesting.

Thanks

>
> This patch series aims to enable SR-IOV emulation on virtio-net devices.
> With this series, the guest can identify the virtio-net device as an SR-IOV 
> PF device.
> The newly added property 'sriov_max_vfs' allows us to enable the SR-IOV 
> feature
> on the virtio-net device.
> Currently, we are unable to specify the properties of a VF created from the 
> guest.
> The properties are set to their default values.
> In the future, we plan to allow users to set the properties.
>
> qemu-system-x86_64 --device virtio-net,sriov_max_vfs=<num>
> # when 'sriov_max_vfs' is present, the SR-IOV feature will be automatically 
> enabled
> # <num> means the max number of VF on guest
>
> Example commands to create VFs in virtio-net device from the guest:
>
> guest% readlink -f /sys/class/net/eth1/device
>  /sys/devices/pci0000:00/0000:00:02.0/0000:01:00.0/virtio1
> guest% echo "2" > 
> /sys/devices/pci0000:00/0000:00:02.0/0000:01:00.0/sriov_numvfs
> guest% ip link show
>  eth0: ....
>  eth1: ....
>  eth2: .... #virtual VF created
>  eth3: .... #virtual VF created
>
> Please note that communication between VF and PF/VF is not possible by this 
> patch series itself.
>
> Yui Washizu (1):
>   virtio-pci: add SR-IOV capability
>
>  hw/pci/msix.c                  |  8 +++--
>  hw/pci/pci.c                   |  4 +++
>  hw/virtio/virtio-pci.c         | 62 ++++++++++++++++++++++++++++++----
>  include/hw/virtio/virtio-pci.h |  1 +
>  4 files changed, 66 insertions(+), 9 deletions(-)
>
> --
> 2.39.3
>


Reply via email to