[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aLfj-9H-GL_amuYc@x130>
Date: Tue, 2 Sep 2025 23:45:15 -0700
From: Saeed Mahameed <saeed@...nel.org>
To: Jacob Keller <jacob.e.keller@...el.com>
Cc: Jakub Kicinski <kuba@...nel.org>,
"David S. Miller" <davem@...emloft.net>,
Paolo Abeni <pabeni@...hat.com>, Eric Dumazet <edumazet@...gle.com>,
Saeed Mahameed <saeedm@...dia.com>, netdev@...r.kernel.org,
Tariq Toukan <tariqt@...dia.com>, Gal Pressman <gal@...dia.com>,
Leon Romanovsky <leonro@...dia.com>, Jiri Pirko <jiri@...dia.com>,
Simon Horman <horms@...nel.org>
Subject: Re: [PATCH net-next V6 09/13] devlink: Add 'keep_link_up' generic
devlink device param
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..
Powered by blists - more mailing lists