On Thu, Sep 25, 2025 at 04:15:19PM +0530, Parav Pandit wrote:
> 
> On 25-09-2025 04:05 pm, Michael S. Tsirkin wrote:
> > On Thu, Sep 25, 2025 at 03:21:38PM +0530, Parav Pandit wrote:
> > > Function pointers are there for multiple transports to implement their own
> > > implementation.
> > My understanding is that you want to use flow control admin commands
> > in virtio net, without making it depend on virtio pci.
> No flow control in vnet.
> > This why the callbacks are here. Is that right?
> 
> No. callbacks are there so that transport agnostic layer can invoke it,
> which is drivers/virtio/virtio.c.
> 
> And transport specific code stays in transport layer, which is presently
> following config_ops design.
> 
> > 
> > That is fair enough, but it looks like every new command then
> > needs a lot of boilerplate code with a callback a wrapper and
> > a transport implementation.
> 
> Not really. I dont see any callbacks or wrapper in current proposed patches.
> 
> All it has is transport specific implementation of admin commands.
> 
> > 
> > 
> > Why not just put all this code in virtio core? It looks like the
> > transport just needs to expose an API to find the admin vq.
> 
> Can you please be specific of which line in the current code can be moved to
> virtio core?
> 
> When the spec was drafted, _one_ was thinking of admin command transport
> over non admin vq also.
> 
> So current implementation of letting transport decide on how to transport a
> command seems right to me.
> 
> But sure, if you can pin point the lines of code that can be shifted to
> generic layer, that would be good.

I imagine a get_admin_vq operation in config_ops. The rest of the
code seems to be transport independent and could be part of
the core. WDYT?

-- 
MST


Reply via email to