On Thu, Jan 8, 2026 at 5:06 AM Simon Schippers <[email protected]> wrote: > > Replace the direct use of ptr_ring in the vhost-net virtqueue with > tun/tap ring wrapper helpers. Instead of storing an rx_ring pointer, > the virtqueue now stores the interface type (IF_TUN, IF_TAP, or IF_NONE) > and dispatches to the corresponding tun/tap helpers for ring > produce, consume, and unconsume operations. > > Routing ring operations through the tun/tap helpers enables netdev > queue wakeups, which are required for upcoming netdev queue flow > control support shared by tun/tap and vhost-net. > > No functional change is intended beyond switching to the wrapper > helpers. > > Co-developed-by: Tim Gebauer <[email protected]> > Signed-off-by: Tim Gebauer <[email protected]> > Co-developed by: Jon Kohler <[email protected]> > Signed-off-by: Jon Kohler <[email protected]> > Signed-off-by: Simon Schippers <[email protected]> > --- > drivers/vhost/net.c | 92 +++++++++++++++++++++++++++++---------------- > 1 file changed, 60 insertions(+), 32 deletions(-) > > diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c > index 7f886d3dba7d..215556f7cd40 100644 > --- a/drivers/vhost/net.c > +++ b/drivers/vhost/net.c > @@ -90,6 +90,12 @@ enum { > VHOST_NET_VQ_MAX = 2, > }; > > +enum if_type { > + IF_NONE = 0, > + IF_TUN = 1, > + IF_TAP = 2, > +};
This looks not elegant, can we simply export objects we want to use to vhost like get_tap_socket()? Thanks

