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

Parav Pandit
Mon, 04 Jan 2021 07:24:23 -0000

> From: Jason Wang <jasowang at redhat.com>
> Sent: Monday, January 4, 2021 12:33 PM
>
> 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.
At this point mlx5 plan to support only net.
It is useful to see what type of vdpa device is supported by a management
device.

In future if a mgmt dev supports multiple types, user needs to choose desired
type.
I guess we can differ this optional type to future, when such mgmt. device
will/may be available.