[PATCH linux-next v2 4/7] vdpa: Define vdpa mgmt device, ops and a netlink interface

Jason Wang
Mon, 04 Jan 2021 07:03:23 -0000

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<parav at nvidia.com>
> Reviewed-by: Eli Cohen<elic at nvidia.com>
> Reviewed-by: Jason Wang<jasowang at 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