[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f894a965-3fb3-4068-9d1e-95ff62705544@nvidia.com>
Date: Sun, 13 Jul 2025 14:11:34 +0300
From: Gal Pressman <gal@...dia.com>
To: Jakub Kicinski <kuba@...nel.org>, davem@...emloft.net
Cc: netdev@...r.kernel.org, edumazet@...gle.com, pabeni@...hat.com,
andrew+netdev@...n.ch, horms@...nel.org, donald.hunter@...il.com,
shuah@...nel.org, kory.maincent@...tlin.com, maxime.chevallier@...tlin.com,
sdf@...ichev.me, ecree.xilinx@...il.com
Subject: Re: [PATCH net-next 09/11] ethtool: rss: support setting input-xfrm
via Netlink
On 11/07/2025 4:53, Jakub Kicinski wrote:
> Support configuring symmetric hashing via Netlink.
> We have the flow field config prepared as part of SET handling,
> so scan it for conflicts instead of querying the driver again.
>
> Signed-off-by: Jakub Kicinski <kuba@...nel.org>
> ---
> static int
> ethnl_rss_set(struct ethnl_req_info *req_info, struct genl_info *info)
> {
> + bool indir_reset = false, indir_mod = false, xfrm_sym = false;
> struct rss_req_info *request = RSS_REQINFO(req_info);
> - bool indir_reset = false, indir_mod = false;
> struct ethtool_rxfh_context *ctx = NULL;
> struct net_device *dev = req_info->dev;
> struct ethtool_rxfh_param rxfh = {};
> @@ -667,7 +704,17 @@ ethnl_rss_set(struct ethnl_req_info *req_info, struct genl_info *info)
> if (ret)
> goto exit_clean_data;
>
> - rxfh.input_xfrm = RXH_XFRM_NO_CHANGE;
> + rxfh.input_xfrm = data.input_xfrm;
> + ethnl_update_u8(&rxfh.input_xfrm, tb[ETHTOOL_A_RSS_INPUT_XFRM], &mod);
> + /* xfrm_input is NO_CHANGE AKA 0xff if per-context not supported */
Can you please explain this comment? Shouldn't we fail in this case?
Nit: xfrm_input -> input_xfrm.
> + if (!request->rss_context || ops->rxfh_per_ctx_key)
> + xfrm_sym = !!rxfh.input_xfrm;
> + if (rxfh.input_xfrm == data.input_xfrm)
> + rxfh.input_xfrm = RXH_XFRM_NO_CHANGE;
> +
> + ret = rss_check_rxfh_fields_sym(dev, info, &data, xfrm_sym);
> + if (ret)
> + goto exit_clean_data;
>
> mutex_lock(&dev->ethtool->rss_lock);
> if (request->rss_context) {
Powered by blists - more mailing lists