[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231002121310.GE21694@gmail.com>
Date: Mon, 2 Oct 2023 13:13:10 +0100
From: Martin Habets <habetsm.xilinx@...il.com>
To: edward.cree@....com
Cc: linux-net-drivers@....com, davem@...emloft.net, kuba@...nel.org,
edumazet@...gle.com, pabeni@...hat.com,
Edward Cree <ecree.xilinx@...il.com>, netdev@...r.kernel.org,
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 Wed, Sep 27, 2023 at 07:13:36PM +0100, 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>
Reviewed-by: Martin Habets <habetsm.xilinx@...il.com>
> ---
> 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