summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMoshe Shemesh <moshe@mellanox.com>2018-07-04 14:30:30 +0300
committerDavid S. Miller <davem@davemloft.net>2018-07-05 19:58:35 +0900
commite3b7ca18ad7b2f47ebd3b6e6ce58a42c6ec24746 (patch)
treec7c71c7baef0f531561d190862a1cd2f9be68c42 /include
parent45f05def5c44c806f094709f1c9b03dcecdd54f0 (diff)
devlink: Add param set command
Add param set command to set value for a parameter. Value can be set to any of the supported configuration modes. Signed-off-by: Moshe Shemesh <moshe@mellanox.com> Signed-off-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/net/devlink.h4
-rw-r--r--include/uapi/linux/devlink.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/include/net/devlink.h b/include/net/devlink.h
index 4a0687a1fb99..88062752dcd7 100644
--- a/include/net/devlink.h
+++ b/include/net/devlink.h
@@ -328,6 +328,7 @@ struct devlink_param_gset_ctx {
* configuration modes
* @set: set parameter value, used for runtime and permanent
* configuration modes
+ * @validate: validate input value is applicable (within value range, etc.)
*
* This struct should be used by the driver to fill the data for
* a parameter it registers.
@@ -342,6 +343,9 @@ struct devlink_param {
struct devlink_param_gset_ctx *ctx);
int (*set)(struct devlink *devlink, u32 id,
struct devlink_param_gset_ctx *ctx);
+ int (*validate)(struct devlink *devlink, u32 id,
+ union devlink_param_value val,
+ struct netlink_ext_ack *extack);
};
struct devlink_param_item {
diff --git a/include/uapi/linux/devlink.h b/include/uapi/linux/devlink.h
index 2ccfe84176bf..ea0623e568f0 100644
--- a/include/uapi/linux/devlink.h
+++ b/include/uapi/linux/devlink.h
@@ -79,6 +79,7 @@ enum devlink_command {
DEVLINK_CMD_RELOAD,
DEVLINK_CMD_PARAM_GET, /* can dump */
+ DEVLINK_CMD_PARAM_SET,
/* add new commands above here */
__DEVLINK_CMD_MAX,