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: Tue, 2 Sep 2025 23:45:15 -0700 [thread overview]
Message-ID: <aLfj-9H-GL_amuYc@x130> (raw)
In-Reply-To: <abdde2b3-8f21-4970-9cf3-d250ca3fb5c6@intel.com>
On 02 Sep 14:57, Jacob Keller wrote:
>
>
>On 8/28/2025 1:09 PM, Saeed Mahameed wrote:
>> On 10 Jul 15:24, Jakub Kicinski wrote:
>>> On Wed, 9 Jul 2025 23:04:07 -0700 Saeed Mahameed wrote:
>>>> On 09 Jul 19:58, Jakub Kicinski wrote:
>>>>> On Tue, 8 Jul 2025 20:04:51 -0700 Saeed Mahameed wrote:
>>>>>> Devices that support this in permanent mode will be requested to keep the
>>>>>> port link up even when driver is not loaded, netdev carrier state won't
>>>>>> affect the physical port link state.
>>>>>>
>>>>>> This is useful for when the link is needed to access onboard management
>>>>>> such as BMC, even if the host driver isn't loaded.
>>>>>
>>>>> Dunno. This deserves a fuller API, and it's squarely and netdev thing.
>>>>> Let's not add it to devlink.
>>>>
>>>> I don't see anything missing in the definition of this parameter
>>>> 'keep_link_up' it is pretty much self-explanatory, for legacy reasons the
>>>> netdev controls the underlying physical link state. But this is not
>>>> true anymore for complex setups (multi-host, DPU, etc..).
>>>
>>> The policy can be more complex than "keep_link_up"
>>> Look around the tree and search the ML archives please.
>>>
>>
>> Sorry for replying late, had to work on other stuff and was waiting
>> internally for a question I had to ask about this, only recently got the
>> answer.
>>
>> I get your point, but I am not trying to implement any link policy
>> or eth link specification tunables. For me and maybe other vendors
>> this knob makes sense, and Important for the usecase I described.
>>
>> Perhaps move it to a vendor specific knob ? or rename to
>> link_{fw/soc}_controlled?
>>
>
>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
?
>>>> 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 ? :-)
But thanks for the i40e/ice pointers at least I know I am not alone on this
boat..
next prev parent reply other threads:[~2025-09-03 6:45 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 [this message]
2025-09-03 19:59 ` Jacob Keller
2025-09-03 21:30 ` Saeed Mahameed
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=aLfj-9H-GL_amuYc@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;
as well as URLs for NNTP newsgroup(s).