From: Saeed Mahameed <saeed@kernel.org>
To: Jacob Keller <jacob.e.keller@intel.com>
Cc: Jakub Kicinski <kuba@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Paolo Abeni <pabeni@redhat.com>,
Eric Dumazet <edumazet@google.com>,
Saeed Mahameed <saeedm@nvidia.com>,
netdev@vger.kernel.org, Tariq Toukan <tariqt@nvidia.com>,
Gal Pressman <gal@nvidia.com>,
Leon Romanovsky <leonro@nvidia.com>, Jiri Pirko <jiri@nvidia.com>,
Simon Horman <horms@kernel.org>
Subject: Re: [PATCH net-next V6 09/13] devlink: Add 'keep_link_up' generic devlink device param
Date: Wed, 3 Sep 2025 14:30:26 -0700 [thread overview]
Message-ID: <aLizciLZEcF5hZ1g@x130> (raw)
In-Reply-To: <35fbf36c-a908-443d-b903-9a5410af7cf4@intel.com>
On 03 Sep 12:59, Jacob Keller wrote:
>
>
>On 9/2/2025 11:45 PM, Saeed Mahameed wrote:
>> On 02 Sep 14:57, Jacob Keller wrote:
>>> Intel has also tried something similar sounding with the
>>> "link_down_on_close" in ethtool, which appears to be have made it in to
>>> ice and i40e.. (I thought I remembered these flags being rejected but I
>>> guess not?) I guess the ethtool flag is a bit difference since its
>>> relating to driver behavior when you bring the port down
>>> administratively, vs something like this which affects firmware control
>>> of the link regardless of its state to the kernel.
>>>
>>
>> Interesting, it seems that i40/ice LINK_DOWN_ON_CLOSE and TOTAL_PORT_SHUTDOWN_ENA
>> go hand in hand, tried to read the long comment in i40 but it is mostly
>> about how these are implemented in both driver and FW/phy but not what they
>> mean, what I am trying to understand is "LINK_DOWN_ON_CLOSE_ENA" is an
>> 'enable' bit, it is off by default and an opt-in, does that mean by default
>> i40e/ice don't actually bring the link down on driver/unload or ndo->close
>> ?
>>
>
>I believe so. I can't recall the immediate behavior, and I know both
>parameters are currently frowned on and only exist due to legacy of
>merging them before this policy was widely enforced.
>
>I believe the default is to leave the link up, and the flag changes
>this. I remember vaguely some discussions we had about which approach
>was better, and we had customers who each had different opinions.
>
>I could be wrong though, and would need to verify this.
>
So very similar to our device's behavior, thanks for the clarification.
>>>>>> This is not different as BMC is sort of multi-host, and physical link
>>>>>> control here is delegated to the firmware.
>>>>>>
>>>>>> Also do we really want netdev to expose API for permanent nic tunables ?
>>>>>> I thought this is why we invented devlink to offload raw NIC underlying
>>>>>> tunables.
>>>>>
>>>>> Are you going to add devlink params for link config?
>>>>> Its one of the things that's written into the NVMe, usually..
>>>>
>>>> No, the purpose of this NVM series is to setup FW boot parameters and not spec related
>>>> tunables.
>>>>
>>>
>>> This seems quite useful to me w.r.t to BMC access. I think its a stretch
>>> to say this implies the desire to add many other knobs.
>>
>> No sure if you are with or against the devlink knob ? :-)
>
>I think a knob is a good idea, and I think it makes sense in devlink,
>given that this applies to not just netdevice.
>
>> But thanks for the i40e/ice pointers at least I know I am not alone on this
>> boat..
>>
>
>The argument that adding this knob implies we need a much more complex
>link management scheme seems a little overkill to me.
>
>Unfortunately, I think the i40e/ice stuff is perhaps slightly orthogonal
>given that it applies mainly to the link behavior with software running.
>
>This knob appears to be more about firmware behavior irrespective of
>what if any software is running?
Agreed, and yes, behavior is to let FW decide what happens to link (physical)
regardless what SW asks, when this knob is on.
next prev parent reply other threads:[~2025-09-03 21:30 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-09 3:04 [PATCH net-next V6 00/13] devlink, mlx5: Add new parameters for link management and SRIOV/eSwitch configurations Saeed Mahameed
2025-07-09 3:04 ` [PATCH net-next V6 01/13] devlink: Add 'total_vfs' generic device param Saeed Mahameed
2025-07-09 8:36 ` Simon Horman
2025-07-10 2:53 ` Jakub Kicinski
2025-07-10 5:38 ` Saeed Mahameed
2025-09-02 21:24 ` Jacob Keller
2025-09-03 21:32 ` Saeed Mahameed
2025-07-09 3:04 ` [PATCH net-next V6 02/13] net/mlx5: Implement cqe_compress_type via devlink params Saeed Mahameed
2025-07-09 8:37 ` Simon Horman
2025-07-09 9:06 ` Subbaraya Sundeep
2025-07-10 5:51 ` Saeed Mahameed
2025-07-11 16:19 ` Subbaraya Sundeep
2025-07-10 2:53 ` Jakub Kicinski
2025-07-10 5:44 ` Saeed Mahameed
2025-07-10 22:16 ` Jakub Kicinski
2025-07-09 3:04 ` [PATCH net-next V6 03/13] net/mlx5: Implement devlink enable_sriov parameter Saeed Mahameed
2025-07-09 8:37 ` Simon Horman
2025-07-09 3:04 ` [PATCH net-next V6 04/13] net/mlx5: Implement devlink total_vfs parameter Saeed Mahameed
2025-07-09 8:37 ` Simon Horman
2025-07-09 3:04 ` [PATCH net-next V6 05/13] devlink: pass struct devlink_port * as arg to devlink_nl_param_fill() Saeed Mahameed
2025-07-09 8:38 ` Simon Horman
2025-07-09 3:04 ` [PATCH net-next V6 06/13] devlink: Implement port params registration Saeed Mahameed
2025-07-09 8:38 ` Simon Horman
2025-07-09 3:04 ` [PATCH net-next V6 07/13] devlink: Implement get/dump netlink commands for port params Saeed Mahameed
2025-07-09 8:38 ` Simon Horman
2025-07-09 3:04 ` [PATCH net-next V6 08/13] devlink: Implement set netlink command " Saeed Mahameed
2025-07-09 8:40 ` Simon Horman
2025-07-09 3:04 ` [PATCH net-next V6 09/13] devlink: Add 'keep_link_up' generic devlink device param Saeed Mahameed
2025-07-09 8:40 ` Simon Horman
2025-07-10 2:58 ` Jakub Kicinski
2025-07-10 6:04 ` Saeed Mahameed
2025-07-10 12:45 ` Jiri Pirko
2025-07-10 22:24 ` Jakub Kicinski
2025-08-28 20:09 ` Saeed Mahameed
2025-08-28 22:38 ` Jakub Kicinski
2025-09-02 19:02 ` Saeed Mahameed
2025-09-02 21:57 ` Jacob Keller
2025-09-03 6:45 ` Saeed Mahameed
2025-09-03 19:59 ` Jacob Keller
2025-09-03 21:30 ` Saeed Mahameed [this message]
2025-07-09 3:04 ` [PATCH net-next V6 10/13] net/mlx5: Implement devlink keep_link_up port parameter Saeed Mahameed
2025-07-09 8:40 ` Simon Horman
2025-07-09 3:04 ` [PATCH net-next V6 11/13] devlink: Throw extack messages on param value validation error Saeed Mahameed
2025-07-09 8:40 ` Simon Horman
2025-07-09 3:04 ` [PATCH net-next V6 12/13] devlink: Implement devlink param multi attribute nested data values Saeed Mahameed
2025-07-09 8:41 ` Simon Horman
2025-07-09 3:04 ` [PATCH net-next V6 13/13] net/mlx5: Implement eSwitch hairpin per prio buffers devlink params Saeed Mahameed
2025-07-09 8:41 ` Simon Horman
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=aLizciLZEcF5hZ1g@x130 \
--to=saeed@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=gal@nvidia.com \
--cc=horms@kernel.org \
--cc=jacob.e.keller@intel.com \
--cc=jiri@nvidia.com \
--cc=kuba@kernel.org \
--cc=leonro@nvidia.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=saeedm@nvidia.com \
--cc=tariqt@nvidia.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox