This series allows userspace to query device config space of vDPA devices and the management devices through netlink, to get multi-queue, feature bits and etc. This series has introduced a new netlink attr VDPA_ATTR_VDPA_DEV_SUPPORTED_FEATURES, this should be used to query features of vDPA devices than the management device. Please help review. Thanks! Zhu Lingshan Changes rom V4: (1) Read MAC, MTU, MQ conditionally (Michael) (2) If VIRTIO_NET_F_MAC not set, don't report MAC to userspace (3) If VIRTIO_NET_F_MTU not set, report 1500 to userspace (4) Add comments to the new attr VDPA_ATTR_VDPA_DEV_SUPPORTED_FEATURES(Michael) (5) Add comments for reporting the device status as LE(Michael) Changes from V3: (1)drop the fixes tags(Parva) (2)better commit log for patch 1/6(Michael) (3)assign num_queues to max_supported_vqs than max_vq_pairs(Jason) (4)initialize virtio pci capabilities in the probe() function. Changes from V2: Add fixes tags(Parva) Changes from V1: (1) Use __virito16_to_cpu(true, xxx) for the le16 casting(Jason) (2) Add a comment in ifcvf_get_config_size(), to explain why we should return the minimum value of sizeof(struct virtio_net_config) and the onboard cap size(Jason) (3) Introduced a new attr VDPA_ATTR_VDPA_DEV_SUPPORTED_FEATURES (4) Show the changes of iproute2 output before and after 5/6 patch(Jason) (5) Fix cast warning in vdpa_fill_stats_rec() Zhu Lingshan (6): vDPA/ifcvf: get_config_size should return a value no greater than dev implementation vDPA/ifcvf: support userspace to query features and MQ of a management device vDPA: allow userspace to query features of a vDPA device vDPA: !FEATURES_OK should not block querying device config space vDPA: Conditionally read fields in virtio-net dev config space fix 'cast to restricted le16' warnings in vdpa.c drivers/vdpa/ifcvf/ifcvf_base.c | 13 ++- drivers/vdpa/ifcvf/ifcvf_base.h | 2 + drivers/vdpa/ifcvf/ifcvf_main.c | 142 +++++++++++++++++--------------- drivers/vdpa/vdpa.c | 82 ++++++++++++------ include/uapi/linux/vdpa.h | 3 + 5 files changed, 149 insertions(+), 93 deletions(-) -- 2.31.1