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 >