mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-29 23:53:32 +00:00
bc0d90ee02
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: Link: https://lore.kernel.org/r/20210217060614.59561-1-parav@nvidia.com Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
40 lines
976 B
C
40 lines
976 B
C
/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
|
|
/*
|
|
* vdpa device management interface
|
|
* Copyright (c) 2020 Mellanox Technologies Ltd. All rights reserved.
|
|
*/
|
|
|
|
#ifndef _UAPI_LINUX_VDPA_H_
|
|
#define _UAPI_LINUX_VDPA_H_
|
|
|
|
#define VDPA_GENL_NAME "vdpa"
|
|
#define VDPA_GENL_VERSION 0x1
|
|
|
|
enum vdpa_command {
|
|
VDPA_CMD_UNSPEC,
|
|
VDPA_CMD_MGMTDEV_NEW,
|
|
VDPA_CMD_MGMTDEV_GET, /* can dump */
|
|
VDPA_CMD_DEV_NEW,
|
|
VDPA_CMD_DEV_DEL,
|
|
VDPA_CMD_DEV_GET, /* can dump */
|
|
};
|
|
|
|
enum vdpa_attr {
|
|
VDPA_ATTR_UNSPEC,
|
|
|
|
/* bus name (optional) + dev name together make the parent device handle */
|
|
VDPA_ATTR_MGMTDEV_BUS_NAME, /* string */
|
|
VDPA_ATTR_MGMTDEV_DEV_NAME, /* string */
|
|
VDPA_ATTR_MGMTDEV_SUPPORTED_CLASSES, /* u64 */
|
|
|
|
VDPA_ATTR_DEV_NAME, /* string */
|
|
VDPA_ATTR_DEV_ID, /* u32 */
|
|
VDPA_ATTR_DEV_VENDOR_ID, /* u32 */
|
|
VDPA_ATTR_DEV_MAX_VQS, /* u32 */
|
|
VDPA_ATTR_DEV_MAX_VQ_SIZE, /* u16 */
|
|
|
|
/* new attributes must be added above here */
|
|
VDPA_ATTR_MAX,
|
|
};
|
|
|
|
#endif
|