netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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..


  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).