[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <779c0e84-df80-adb1-f4a6-0c8e6c4036ab@intel.com>
Date: Fri, 29 Sep 2023 11:24:47 -0700
From: Jacob Keller <jacob.e.keller@...el.com>
To: <edward.cree@....com>, <linux-net-drivers@....com>, <davem@...emloft.net>,
<kuba@...nel.org>, <edumazet@...gle.com>, <pabeni@...hat.com>
CC: Edward Cree <ecree.xilinx@...il.com>, <netdev@...r.kernel.org>,
<habetsm.xilinx@...il.com>, <sudheer.mogilappagari@...el.com>,
<jdamato@...tly.com>, <andrew@...n.ch>, <mw@...ihalf.com>,
<linux@...linux.org.uk>, <sgoutham@...vell.com>, <gakula@...vell.com>,
<sbhatta@...vell.com>, <hkelam@...vell.com>, <saeedm@...dia.com>,
<leon@...nel.org>
Subject: Re: [PATCH v4 net-next 5/7] net: ethtool: add an extack parameter to
new rxfh_context APIs
On 9/27/2023 11:13 AM, edward.cree@....com wrote:
> From: Edward Cree <ecree.xilinx@...il.com>
>
> Currently passed as NULL, but will allow drivers to report back errors
> when ethnl support for these ops is added.
>
> Signed-off-by: Edward Cree <ecree.xilinx@...il.com>
> ---
Why not just squash this into the version that introduces the ops?
I guess this calls it out a bit better?
Thanks,
Jake
> include/linux/ethtool.h | 9 ++++++---
> net/core/dev.c | 3 ++-
> net/ethtool/ioctl.c | 9 ++++++---
> 3 files changed, 14 insertions(+), 7 deletions(-)
>
> diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
> index 975fda7218f8..c8963bde9289 100644
> --- a/include/linux/ethtool.h
> +++ b/include/linux/ethtool.h
> @@ -927,14 +927,17 @@ struct ethtool_ops {
> int (*create_rxfh_context)(struct net_device *,
> struct ethtool_rxfh_context *ctx,
> const u32 *indir, const u8 *key,
> - const u8 hfunc, u32 rss_context);
> + const u8 hfunc, u32 rss_context,
> + struct netlink_ext_ack *extack);
> int (*modify_rxfh_context)(struct net_device *,
> struct ethtool_rxfh_context *ctx,
> const u32 *indir, const u8 *key,
> - const u8 hfunc, u32 rss_context);
> + const u8 hfunc, u32 rss_context,
> + struct netlink_ext_ack *extack);
> int (*remove_rxfh_context)(struct net_device *,
> struct ethtool_rxfh_context *ctx,
> - u32 rss_context);
> + u32 rss_context,
> + struct netlink_ext_ack *extack);
> int (*set_rxfh_context)(struct net_device *, const u32 *indir,
> const u8 *key, const u8 hfunc,
> u32 *rss_context, bool delete);
> diff --git a/net/core/dev.c b/net/core/dev.c
> index 637218adca22..69579d9cd7ba 100644
> --- a/net/core/dev.c
> +++ b/net/core/dev.c
> @@ -10892,7 +10892,8 @@ static void netdev_rss_contexts_free(struct net_device *dev)
> xa_erase(&dev->ethtool->rss_ctx, context);
> if (dev->ethtool_ops->create_rxfh_context)
> dev->ethtool_ops->remove_rxfh_context(dev, ctx,
> - context);
> + context,
> + NULL);
> else
> dev->ethtool_ops->set_rxfh_context(dev, indir,
> key,
> diff --git a/net/ethtool/ioctl.c b/net/ethtool/ioctl.c
> index c23d2bd3cd2a..3920ddee3ee2 100644
> --- a/net/ethtool/ioctl.c
> +++ b/net/ethtool/ioctl.c
> @@ -1381,14 +1381,17 @@ static noinline_for_stack int ethtool_set_rxfh(struct net_device *dev,
> if (create)
> ret = ops->create_rxfh_context(dev, ctx, indir,
> hkey, rxfh.hfunc,
> - rxfh.rss_context);
> + rxfh.rss_context,
> + NULL);
> else if (delete)
> ret = ops->remove_rxfh_context(dev, ctx,
> - rxfh.rss_context);
> + rxfh.rss_context,
> + NULL);
> else
> ret = ops->modify_rxfh_context(dev, ctx, indir,
> hkey, rxfh.hfunc,
> - rxfh.rss_context);
> + rxfh.rss_context,
> + NULL);
> } else {
> ret = ops->set_rxfh_context(dev, indir, hkey,
> rxfh.hfunc,
>
Powered by blists - more mailing lists