mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
devlink: support default values for param-get and param-set
Support querying and resetting to default param values. Introduce two new devlink netlink attrs: DEVLINK_ATTR_PARAM_VALUE_DEFAULT and DEVLINK_ATTR_PARAM_RESET_DEFAULT. The former is used to contain an optional parameter value inside of the param_value nested attribute. The latter is used in param-set requests from userspace to indicate that the driver should reset the param to its default value. To implement this, two new functions are added to the devlink driver api: devlink_param::get_default() and devlink_param::reset_default(). These callbacks allow drivers to implement default param actions for runtime and permanent cmodes. For driverinit params, the core latches the last value set by a driver via devl_param_driverinit_value_set(), and uses that as the default value for a param. Because default parameter values are optional, it would be impossible to discern whether or not a param of type bool has default value of false or not provided if the default value is encoded using a netlink flag type. For this reason, when a DEVLINK_PARAM_TYPE_BOOL has an associated default value, the default value is encoded using a u8 type. Signed-off-by: Daniel Zahka <daniel.zahka@gmail.com> Link: https://patch.msgid.link/20251119025038.651131-4-daniel.zahka@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
17a42aa465
commit
2a367002ed
@@ -41,6 +41,16 @@ In order for ``driverinit`` parameters to take effect, the driver must
|
||||
support reloading via the ``devlink-reload`` command. This command will
|
||||
request a reload of the device driver.
|
||||
|
||||
Default parameter values
|
||||
=========================
|
||||
|
||||
Drivers may optionally export default values for parameters of cmode
|
||||
``runtime`` and ``permanent``. For ``driverinit`` parameters, the last
|
||||
value set by the driver will be used as the default value. Drivers can
|
||||
also support resetting params with cmode ``runtime`` and ``permanent``
|
||||
to their default values. Resetting ``driverinit`` params is supported
|
||||
by devlink core without additional driver support needed.
|
||||
|
||||
.. _devlink_params_generic:
|
||||
|
||||
Generic configuration parameters
|
||||
|
||||
Reference in New Issue
Block a user