Jason Wang
2021-Jan-04 07:03 UTC
[PATCH linux-next v2 4/7] vdpa: Define vdpa mgmt device, ops and a netlink interface
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 separatedSo 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
Parav Pandit
2021-Jan-04 07:24 UTC
[PATCH linux-next v2 4/7] vdpa: Define vdpa mgmt device, ops and a netlink interface
> 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.