[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241218181601.4c3c29f7@kernel.org>
Date: Wed, 18 Dec 2024 18:16:01 -0800
From: Jakub Kicinski <kuba@...nel.org>
To: Taehee Yoo <ap420073@...il.com>
Cc: davem@...emloft.net, pabeni@...hat.com, edumazet@...gle.com,
almasrymina@...gle.com, donald.hunter@...il.com, corbet@....net,
michael.chan@...adcom.com, andrew+netdev@...n.ch, hawk@...nel.org,
ilias.apalodimas@...aro.org, ast@...nel.org, daniel@...earbox.net,
john.fastabend@...il.com, dw@...idwei.uk, sdf@...ichev.me,
asml.silence@...il.com, brett.creeley@....com, linux-doc@...r.kernel.org,
netdev@...r.kernel.org, kory.maincent@...tlin.com,
maxime.chevallier@...tlin.com, danieller@...dia.com,
hengqi@...ux.alibaba.com, ecree.xilinx@...il.com,
przemyslaw.kitszel@...el.com, hkallweit1@...il.com, ahmed.zaki@...el.com,
rrameshbabu@...dia.com, idosch@...dia.com, jiri@...nulli.us,
bigeasy@...utronix.de, lorenzo@...nel.org, jdamato@...tly.com,
aleksander.lobakin@...el.com, kaiyuanz@...gle.com, willemb@...gle.com,
daniel.zahka@...il.com
Subject: Re: [PATCH net-next v6 2/9] net: ethtool: add hds_config member in
ethtool_netdev_state
On Wed, 18 Dec 2024 14:45:23 +0000 Taehee Yoo wrote:
> When tcp-data-split is UNKNOWN mode, drivers arbitrarily handle it.
> For example, bnxt_en driver automatically enables if at least one of
> LRO/GRO/JUMBO is enabled.
> If tcp-data-split is UNKNOWN and LRO is enabled, a driver returns
> ENABLES of tcp-data-split, not UNKNOWN.
> So, `ethtool -g eth0` shows tcp-data-split is enabled.
>
> The problem is in the setting situation.
> In the ethnl_set_rings(), it first calls get_ringparam() to get the
> current driver's config.
> At that moment, if driver's tcp-data-split config is UNKNOWN, it returns
> ENABLE if LRO/GRO/JUMBO is enabled.
> Then, it sets values from the user and driver's current config to
> kernel_ethtool_ringparam.
> Last it calls .set_ringparam().
> The driver, especially bnxt_en driver receives
> ETHTOOL_TCP_DATA_SPLIT_ENABLED.
> But it can't distinguish whether it is set by the user or just the
> current config.
>
> When user updates ring parameter, the new hds_config value is updated
> and current hds_config value is stored to old_hdsconfig.
> Driver's .set_ringparam() callback can distinguish a passed
> tcp-data-split value is came from user explicitly.
> If .set_ringparam() is failed, hds_config is rollbacked immediately.
>
> Suggested-by: Jakub Kicinski <kuba@...nel.org>
> Signed-off-by: Taehee Yoo <ap420073@...il.com>
Reviewed-by: Jakub Kicinski <kuba@...nel.org>
Powered by blists - more mailing lists