Adrian Moreno
2021-Feb-04 11:15 UTC
[PATCH iproute2-next v3 0/5] Add vdpa device management tool
Sorry I have not followed this work as close as I would have wanted. Some questions below. On 2/4/21 4:16 AM, Jason Wang wrote:> > On 2021/2/2 ??6:35, Parav Pandit wrote: >> Linux vdpa interface allows vdpa device management functionality. >> This includes adding, removing, querying vdpa devices. >> >> vdpa interface also includes showing supported management devices >> which support such operations. >> >> This patchset includes kernel uapi headers and a vdpa tool. >> >> examples: >> >> $ vdpa mgmtdev show >> vdpasim: >> ?? supported_classes net >> >> $ vdpa mgmtdev show -jp >> { >> ???? "show": { >> ???????? "vdpasim": { >> ???????????? "supported_classes": [ "net" ] >> ???????? } >> ???? } >> } >>How can a user establish the relationship between a mgmtdev and it's parent device (pci vf, sf, etc)?>> Create a vdpa device of type networking named as "foo2" from >> the management device vdpasim_net: >> >> $ vdpa dev add mgmtdev vdpasim_net name foo2 >>I guess this command will accept a 'type' parameter once more supported_classes are added? Also, will this tool also handle the vdpa driver binding or will the user handle that through the vdpa bus' sysfs interface?>> Show the newly created vdpa device by its name: >> $ vdpa dev show foo2 >> foo2: type network mgmtdev vdpasim_net vendor_id 0 max_vqs 2 max_vq_size 256 >> >> $ vdpa dev show foo2 -jp >> { >> ???? "dev": { >> ???????? "foo2": { >> ???????????? "type": "network", >> ???????????? "mgmtdev": "vdpasim_net", >> ???????????? "vendor_id": 0, >> ???????????? "max_vqs": 2, >> ???????????? "max_vq_size": 256 >> ???????? } >> ???? } >> } >> >> Delete the vdpa device after its use: >> $ vdpa dev del foo2 >> >> Patch summary: >> Patch-1 adds kernel headers for vdpa subsystem >> Patch-2 adds library routines for indent handling >> Patch-3 adds library routines for generic socket communication >> PAtch-4 adds library routine for number to string mapping >> Patch-5 adds vdpa tool >> >> Kernel headers are from the vhost kernel tree [1] from branch linux-next. >> >> [1] https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git >> >> --- > > > Adding Adrian to see if this looks good for k8s integration. > > Thanks >Thanks -- Adri?n Moreno
Jason Wang
2021-Feb-05 03:40 UTC
[PATCH iproute2-next v3 0/5] Add vdpa device management tool
On 2021/2/4 ??7:15, Adrian Moreno wrote:> Sorry I have not followed this work as close as I would have wanted. > Some questions below. > > On 2/4/21 4:16 AM, Jason Wang wrote: >> On 2021/2/2 ??6:35, Parav Pandit wrote: >>> Linux vdpa interface allows vdpa device management functionality. >>> This includes adding, removing, querying vdpa devices. >>> >>> vdpa interface also includes showing supported management devices >>> which support such operations. >>> >>> This patchset includes kernel uapi headers and a vdpa tool. >>> >>> examples: >>> >>> $ vdpa mgmtdev show >>> vdpasim: >>> ?? supported_classes net >>> >>> $ vdpa mgmtdev show -jp >>> { >>> ???? "show": { >>> ???????? "vdpasim": { >>> ???????????? "supported_classes": [ "net" ] >>> ???????? } >>> ???? } >>> } >>> > How can a user establish the relationship between a mgmtdev and it's parent > device (pci vf, sf, etc)?Parav should know more but I try to answer. I think there should be BDF information in the mgmtdev show command if the parent is a PCI device, or we can simply show the parent here?> >>> Create a vdpa device of type networking named as "foo2" from >>> the management device vdpasim_net: >>> >>> $ vdpa dev add mgmtdev vdpasim_net name foo2 >>> > I guess this command will accept a 'type' parameter once more supported_classes > are added?This could be extended in the future.> > Also, will this tool also handle the vdpa driver binding or will the user handle > that through the vdpa bus' sysfs interface?I think not, it's the configuration below the vdpa bus. The sysfs should be the only interface for managing driver binding. Thanks> >>> Show the newly created vdpa device by its name: >>> $ vdpa dev show foo2 >>> foo2: type network mgmtdev vdpasim_net vendor_id 0 max_vqs 2 max_vq_size 256 >>> >>> $ vdpa dev show foo2 -jp >>> { >>> ???? "dev": { >>> ???????? "foo2": { >>> ???????????? "type": "network", >>> ???????????? "mgmtdev": "vdpasim_net", >>> ???????????? "vendor_id": 0, >>> ???????????? "max_vqs": 2, >>> ???????????? "max_vq_size": 256 >>> ???????? } >>> ???? } >>> } >>> >>> Delete the vdpa device after its use: >>> $ vdpa dev del foo2 >>> >>> Patch summary: >>> Patch-1 adds kernel headers for vdpa subsystem >>> Patch-2 adds library routines for indent handling >>> Patch-3 adds library routines for generic socket communication >>> PAtch-4 adds library routine for number to string mapping >>> Patch-5 adds vdpa tool >>> >>> Kernel headers are from the vhost kernel tree [1] from branch linux-next. >>> >>> [1] https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git >>> >>> --- >> >> Adding Adrian to see if this looks good for k8s integration. >> >> Thanks >> > Thanks