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.
Jason Wang
2021-Jan-05 04:10 UTC
[PATCH linux-next v2 4/7] vdpa: Define vdpa mgmt device, ops and a netlink interface
On 2021/1/4 ??3:24, Parav Pandit wrote:> >> 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.I worry if we remove device_id, it may gives a hint that multiple mgmt devices needs to be registered if it supports multiple types. So if possible I would like to keep the device_id here. Thanks