Re: [PATCH] vdpa/mlx5: Use random MAC for the vdpa net instance

From: Jason Wang
Date: Wed Dec 02 2020 - 08:35:13 EST



On 2020/12/2 下午9:07, Michael S. Tsirkin wrote:
Two questions here:
1. Now we don't have support for control virtqueue. Yet, we must filter
packets based on MAC, what do you suggest to do here?
How about an ioctl to pass the mac to the device?
Maybe mirroring the control vq struct format ...
I think we'd better avoid such ad-hoc ioctls to make vhost-vDPA type
independent.
Fundamentally this is about handling some VQs in QEMU, right?
Maybe a generic ioctl along the lines of "CTRL_VQ" passing
vq number and a command buffer from guest?
Seems generic enough for you?


It looks to me you want to invent a synchronized API (or vDPA config ops) for submitting virtio descriptors.

Several issues I can think for this:

1) control vq allows the request to be handled asynchronously
2) we still need a way to isolate the DMA if there's a hardware virtqueue for the device that use DMA
3) new vDPA config operations need to be invented, new uAPI for vhost-vDPA, new virtio config ops for virtio-vDPA

It looks to me we can overcome 1) and 2) if we just stick to a virtqueue interface in vhost-vDPA as I proposed in [1]. For issue 3) it also requires much less work.

Thanks

[1] https://lkml.org/lkml/2020/9/23/1243