Enable user to query vdpa device information. $ vdpa dev add mgmtdev vdpasim_net name foo2 Show the newly created vdpa device by its name: $ vdpa dev show foo2 foo2: type network mgmtdev vdpasim_net vendor_id 0 max_vqs 2 max_vq_size 256 $ vdpa dev show foo2 -jp { "dev": { "foo2": { "type": "network", "mgmtdev": "vdpasim_net", "vendor_id": 0, "max_vqs": 2, "max_vq_size": 256 } } } Signed-off-by: Parav Pandit <parav@nvidia.com> Reviewed-by: Eli Cohen <elic@nvidia.com> Reviewed-by: Jason Wang <jasowang@redhat.com> Link: https://lore.kernel.org/r/20210105103203.82508-6-parav@nvidia.com Including a memory leak fix:
Showing the changes to include/uapi (1 of 2 files). Show all
Unified · Split
| @@ -16,6 +16,7 @@ enum vdpa_command { · 15 unmodified lines | ||
| 16 | 16 | VDPA_CMD_MGMTDEV_GET, /* can dump */ |
| 17 | 17 | VDPA_CMD_DEV_NEW, |
| 18 | 18 | VDPA_CMD_DEV_DEL, |
| 19 | + VDPA_CMD_DEV_GET, /* can dump */ | |
| 19 | 20 | }; |
| 20 | 21 | |
| 21 | 22 | enum vdpa_attr { |
| @@ -27,6 +28,10 @@ enum vdpa_attr { · 5 unmodified lines | ||
| 27 | 28 | VDPA_ATTR_MGMTDEV_SUPPORTED_CLASSES, /* u64 */ |
| 28 | 29 | |
| 29 | 30 | VDPA_ATTR_DEV_NAME, /* string */ |
| 31 | + VDPA_ATTR_DEV_ID, /* u32 */ | |
| 32 | + VDPA_ATTR_DEV_VENDOR_ID, /* u32 */ | |
| 33 | + VDPA_ATTR_DEV_MAX_VQS, /* u32 */ | |
| 34 | + VDPA_ATTR_DEV_MAX_VQ_SIZE, /* u16 */ | |
| 30 | 35 | |
| 31 | 36 | /* new attributes must be added above here */ |
| 32 | 37 | VDPA_ATTR_MAX, |