From: Stephen Hemminger <stephen@networkplumber.org>
To: Haiyang Zhang <haiyangz@microsoft.com>
Cc: Jakub Kicinski <jakub.kicinski@netronome.com>,
"sashal@kernel.org" <sashal@kernel.org>,
"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
KY Srinivasan <kys@microsoft.com>,
Stephen Hemminger <sthemmin@microsoft.com>,
"olaf@aepfle.de" <olaf@aepfle.de>, vkuznets <vkuznets@redhat.com>,
"davem@davemloft.net" <davem@davemloft.net>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2,net] hv_netvsc: Fix tx_table init in rndis_set_subchannel()
Date: Sun, 15 Dec 2019 09:11:20 -0800 [thread overview]
Message-ID: <20191215091120.24e581e1@hermes.lan> (raw)
In-Reply-To: <MN2PR21MB1375F30B3BEEF42DFDB3D39ECA560@MN2PR21MB1375.namprd21.prod.outlook.com>
On Sun, 15 Dec 2019 16:38:00 +0000
Haiyang Zhang <haiyangz@microsoft.com> wrote:
> > -----Original Message-----
> > From: Jakub Kicinski <jakub.kicinski@netronome.com>
> > Sent: Saturday, December 14, 2019 2:30 PM
> > To: Haiyang Zhang <haiyangz@microsoft.com>
> > Cc: sashal@kernel.org; linux-hyperv@vger.kernel.org; netdev@vger.kernel.org;
> > KY Srinivasan <kys@microsoft.com>; Stephen Hemminger
> > <sthemmin@microsoft.com>; olaf@aepfle.de; vkuznets
> > <vkuznets@redhat.com>; davem@davemloft.net; linux-kernel@vger.kernel.org
> > Subject: Re: [PATCH v2,net] hv_netvsc: Fix tx_table init in rndis_set_subchannel()
> >
> > On Wed, 11 Dec 2019 14:26:27 -0800, Haiyang Zhang wrote:
> > > Host can provide send indirection table messages anytime after RSS is
> > > enabled by calling rndis_filter_set_rss_param(). So the host provided
> > > table values may be overwritten by the initialization in
> > > rndis_set_subchannel().
> > >
> > > To prevent this problem, move the tx_table initialization before calling
> > > rndis_filter_set_rss_param().
> > >
> > > Fixes: a6fb6aa3cfa9 ("hv_netvsc: Set tx_table to equal weight after
> > subchannels open")
> > > Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
> >
> > Applied, but there are two more problems with this code:
> > - you should not reset the indirection table if it was configured by
> > the user to something other than the default (use the
> > netif_is_rxfh_configured() helper to check for that)
>
> For Send indirection table (tx_table) ethtool doesn't have the option
> to set it, and it's usually provided by the host. So we always initialize
> it...
> But, yes, for Receive indirection table (rx_table), I will make a fix, so
> it will be set to default only for new devices, or changing the number
> of channels; otherwise it will remain the same during operations like
> changing MTU, ringparam.
>
>
> > - you should use the ethtool_rxfh_indir_default() wrapper
> For rx_table, we already use it:
> rndis_device->rx_table[i] = ethtool_rxfh_indir_default(
> For tx_table, I know it's the same operation (%, mod), but this wrapper
> function's name is for rx_table. Should we use it for tx_table too?
>
> >
> > Please fix the former problem in the net tree, and after net is merged
> > into linux/master and net-next in a week or two please follow up with
> > the fix for the latter for net-next.
>
> Sure.
>
> Thanks,
> - Haiyang
>
As Haiyang said, this send indirection table is unique to Hyper-V it is not part of
any of the other device models. It is not supported by ethtool. It would not be
appropriate to repurpose the existing indirection tool; the device already uses
the receive indirection table for RSS.
next prev parent reply other threads:[~2019-12-15 17:11 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-11 22:26 [PATCH v2,net] hv_netvsc: Fix tx_table init in rndis_set_subchannel() Haiyang Zhang
2019-12-14 19:30 ` Jakub Kicinski
2019-12-15 16:38 ` Haiyang Zhang
2019-12-15 17:11 ` Stephen Hemminger [this message]
2019-12-15 18:52 ` Jakub Kicinski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191215091120.24e581e1@hermes.lan \
--to=stephen@networkplumber.org \
--cc=davem@davemloft.net \
--cc=haiyangz@microsoft.com \
--cc=jakub.kicinski@netronome.com \
--cc=kys@microsoft.com \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=olaf@aepfle.de \
--cc=sashal@kernel.org \
--cc=sthemmin@microsoft.com \
--cc=vkuznets@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.