On Wed, Apr 17, 2024 at 3:23 PM Jiri Pirko <jiri@xxxxxxxxxxx> wrote: > > Wed, Apr 17, 2024 at 06:37:30AM CEST, jasowang@xxxxxxxxxx wrote: > >On Tue, Apr 16, 2024 at 5:37 PM Jiri Pirko <jiri@xxxxxxxxxxx> wrote: > >> > >> Tue, Apr 16, 2024 at 05:52:41AM CEST, jasowang@xxxxxxxxxx wrote: > >> >On Tue, Apr 16, 2024 at 12:25 AM Jiri Pirko <jiri@xxxxxxxxxxx> wrote: > >> >> > >> >> From: Jiri Pirko <jiri@xxxxxxxxxx> > >> >> > >> >> Currently there is no way for user to set what features the driver > >> >> should obey or not, it is hard wired in the code. > >> >> > >> >> In order to be able to debug the device behavior in case some feature is > >> >> disabled, introduce a debugfs infrastructure with couple of files > >> >> allowing user to see what features the device advertises and > >> >> to set filter for features used by driver. > >> >> > >> >> Example: > >> >> $cat /sys/bus/virtio/devices/virtio0/features > >> >> 1110010111111111111101010000110010000000100000000000000000000000 > >> >> $ echo "5" >/sys/kernel/debug/virtio/virtio0/filter_feature_add > >> >> $ cat /sys/kernel/debug/virtio/virtio0/filter_features > >> >> 5 > >> >> $ echo "virtio0" > /sys/bus/virtio/drivers/virtio_net/unbind > >> >> $ echo "virtio0" > /sys/bus/virtio/drivers/virtio_net/bind > >> >> $ cat /sys/bus/virtio/devices/virtio0/features > >> >> 1110000111111111111101010000110010000000100000000000000000000000 > >> >> > >> >> Note that sysfs "features" know already exists, this patch does not > >> >> touch it. > >> >> > >> >> Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxx> > >> >> --- > >> > > >> >Note that this can be done already with vp_vdpa feature provisioning: > >> > > >> >commit c1ca352d371f724f7fb40f016abdb563aa85fe55 > >> >Author: Jason Wang <jasowang@xxxxxxxxxx> > >> >Date: Tue Sep 27 15:48:10 2022 +0800 > >> > > >> > vp_vdpa: support feature provisioning > >> > > >> >For example: > >> > > >> >vdpa dev add name dev1 mgmtdev pci/0000:02:00.0 device_features 0x300020000 > >> > >> Sure. My intension was to make the testing possible on any virtio > >> device. > > > >It did that actually, vp_vdpa bridge virtio-pci device into vDPA bus > >with mediation layer (like feature filtering etc). So it can only run > >on top of standard virtio-pci device. > > > >> Narrowing the testing for vpda would be limitting. > > > >Unless you want to use other transport like virtio-mmio. > > Also, the goal is to test virtio_net emulated devices. > There are couple > of implementation. Non-vdpa. So what I want to say is, vp_vdpa works for all types of virtio-pci devices no matter if it is emulated or hardware. Thanks > > > > > >Thanks > > > >> > >> > >> > > >> >Thanks > >> > > >> > > >