On 2021/1/4 上午11:31, Parav Pandit wrote:
To add one or more VDPA devices, define a management device which
allows adding or removing vdpa device. A management device defines
set of callbacks to manage vdpa devices.

To begin with, it defines add and remove callbacks through which a user
defined vdpa device can be added or removed.

A unique management device is identified by its unique handle identified
by management device name and optionally the bus name.

Hence, introduce routine through which driver can register a
management device and its callback operations for adding and remove
a vdpa device.

Introduce vdpa netlink socket family so that user can query management
device and its attributes.

Example of show vdpa management device which allows creating vdpa device of
networking class (device id = 0x1) of virtio specification 1.1
section 5.1.1.

$ vdpa mgmtdev show
vdpasim_net:
   supported_classes:
     net

Example of showing vdpa management device in JSON format.

$ vdpa mgmtdev show -jp
{
     "show": {
         "vdpasim_net": {
             "supported_classes": [ "net" ]
         }
     }
}

Signed-off-by: Parav Pandit<pa...@nvidia.com>
Reviewed-by: Eli Cohen<e...@nvidia.com>
Reviewed-by: Jason Wang<jasow...@redhat.com>
---
Changelog:
v1->v2:
  - rebased
  - updated commit log example for management device name from
    "vdpasim" to "vdpasim_net"
  - removed device_id as net and block management devices are separated


So I wonder whether there could be a type of management devices that can deal with multiple types of virtio devices. If yes, we probably need to add device id back.

Thanks


Reply via email to