vDPA: allow userspace to query features of a vDPA device
authorZhu Lingshan <lingshan.zhu@intel.com>
Thu, 29 Sep 2022 01:45:50 +0000 (09:45 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Sat, 8 Oct 2022 00:00:42 +0000 (20:00 -0400)
commit228565100def593df0f26ee07d5fb810039454d5
treed094e5736f78cf2d851802d966d4735105fa7e19
parente60d64074214db7207fc13c25ee39d8d47cb4a34
vDPA: allow userspace to query features of a vDPA device

This commit adds a new vDPA netlink attribution
VDPA_ATTR_VDPA_DEV_SUPPORTED_FEATURES. Userspace can query
features of vDPA devices through this new attr.

This commit invokes vdpa_config_ops.get_config()
rather than vdpa_get_config_unlocked() to read
the device config spcae, so no races in
vdpa_set_features_unlocked()

Userspace tool iproute2 example:
$ vdpa dev config show vdpa0
vdpa0: mac 00:e8:ca:11:be:05 link up link_announce false max_vq_pairs 4 mtu 1500
  negotiated_features MRG_RXBUF CTRL_VQ MQ VERSION_1 ACCESS_PLATFORM
  dev_features MTU MAC MRG_RXBUF CTRL_VQ MQ ANY_LAYOUT VERSION_1 ACCESS_PLATFORM

Signed-off-by: Zhu Lingshan <lingshan.zhu@intel.com>
Message-Id: <20220929014555.112323-2-lingshan.zhu@intel.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/vdpa/vdpa.c
include/uapi/linux/vdpa.h