Messages in this thread | | | From | wangyunjian <> | Subject | RE: [PATCH net-next] tun: Implement ethtool's get_channels() callback | Date | Fri, 2 Feb 2024 02:03:06 +0000 |
| |
> -----Original Message----- > From: Willem de Bruijn [mailto:willemdebruijn.kernel@gmail.com] > Sent: Thursday, February 1, 2024 11:43 PM > To: wangyunjian <wangyunjian@huawei.com>; > willemdebruijn.kernel@gmail.com; jasowang@redhat.com; kuba@kernel.org; > davem@davemloft.net > Cc: netdev@vger.kernel.org; linux-kernel@vger.kernel.org; xudingke > <xudingke@huawei.com>; wangyunjian <wangyunjian@huawei.com> > Subject: Re: [PATCH net-next] tun: Implement ethtool's get_channels() callback > > Yunjian Wang wrote: > > Implement the tun .get_channels functionality. This feature is > > necessary for some tools, such as libxdp, which need to retrieve the queue > count. > > > > Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> > > --- > > drivers/net/tun.c | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/drivers/net/tun.c b/drivers/net/tun.c index > > afa5497f7c35..7cf448ff93ee 100644 > > --- a/drivers/net/tun.c > > +++ b/drivers/net/tun.c > > @@ -3638,12 +3638,22 @@ static int tun_set_coalesce(struct net_device > *dev, > > return 0; > > } > > > > +static void tun_get_channels(struct net_device *dev, > > + struct ethtool_channels *channels) { > > + struct tun_struct *tun = netdev_priv(dev); > > + > > + channels->combined_count = tun->numqueues; > > + channels->max_combined = MAX_TAP_QUEUES; > > Conditional on IFF_MULTI_QUEUE?
OK, like this? channels->combined_count = tun->numqueues; channels->max_combined = tun->flags & IFF_MULTI_QUEUE ? MAX_TAP_QUEUES : 1;
Thanks
> > > +} > > + > > static const struct ethtool_ops tun_ethtool_ops = { > > .supported_coalesce_params = ETHTOOL_COALESCE_RX_MAX_FRAMES, > > .get_drvinfo = tun_get_drvinfo, > > .get_msglevel = tun_get_msglevel, > > .set_msglevel = tun_set_msglevel, > > .get_link = ethtool_op_get_link, > > + .get_channels = tun_get_channels, > > .get_ts_info = ethtool_op_get_ts_info, > > .get_coalesce = tun_get_coalesce, > > .set_coalesce = tun_set_coalesce, > > -- > > 2.33.0 > > >
| |