devlink: Add generic parameters internal_err_reset and max_macs
Add 2 first generic parameters to devlink configuration parameters set: internal_err_reset - When set enables reset device on internal errors. max_macs - max number of MACs per ETH port. 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>
This commit is contained in:
parent
ea601e1709
commit
036467c399
|
@ -356,12 +356,43 @@ struct devlink_param_item {
|
|||
};
|
||||
|
||||
enum devlink_param_generic_id {
|
||||
DEVLINK_PARAM_GENERIC_ID_INT_ERR_RESET,
|
||||
DEVLINK_PARAM_GENERIC_ID_MAX_MACS,
|
||||
|
||||
/* add new param generic ids above here*/
|
||||
__DEVLINK_PARAM_GENERIC_ID_MAX,
|
||||
DEVLINK_PARAM_GENERIC_ID_MAX = __DEVLINK_PARAM_GENERIC_ID_MAX - 1,
|
||||
};
|
||||
|
||||
#define DEVLINK_PARAM_GENERIC_INT_ERR_RESET_NAME "internal_error_reset"
|
||||
#define DEVLINK_PARAM_GENERIC_INT_ERR_RESET_TYPE DEVLINK_PARAM_TYPE_BOOL
|
||||
|
||||
#define DEVLINK_PARAM_GENERIC_MAX_MACS_NAME "max_macs"
|
||||
#define DEVLINK_PARAM_GENERIC_MAX_MACS_TYPE DEVLINK_PARAM_TYPE_U32
|
||||
|
||||
#define DEVLINK_PARAM_GENERIC(_id, _cmodes, _get, _set, _validate) \
|
||||
{ \
|
||||
.id = DEVLINK_PARAM_GENERIC_ID_##_id, \
|
||||
.name = DEVLINK_PARAM_GENERIC_##_id##_NAME, \
|
||||
.type = DEVLINK_PARAM_GENERIC_##_id##_TYPE, \
|
||||
.generic = true, \
|
||||
.supported_cmodes = _cmodes, \
|
||||
.get = _get, \
|
||||
.set = _set, \
|
||||
.validate = _validate, \
|
||||
}
|
||||
|
||||
#define DEVLINK_PARAM_DRIVER(_id, _name, _type, _cmodes, _get, _set, _validate) \
|
||||
{ \
|
||||
.id = _id, \
|
||||
.name = _name, \
|
||||
.type = _type, \
|
||||
.supported_cmodes = _cmodes, \
|
||||
.get = _get, \
|
||||
.set = _set, \
|
||||
.validate = _validate, \
|
||||
}
|
||||
|
||||
struct devlink_ops {
|
||||
int (*reload)(struct devlink *devlink, struct netlink_ext_ack *extack);
|
||||
int (*port_type_set)(struct devlink_port *devlink_port,
|
||||
|
|
|
@ -2604,7 +2604,19 @@ static int devlink_nl_cmd_reload(struct sk_buff *skb, struct genl_info *info)
|
|||
return devlink->ops->reload(devlink, info->extack);
|
||||
}
|
||||
|
||||
static const struct devlink_param devlink_param_generic[] = {};
|
||||
static const struct devlink_param devlink_param_generic[] = {
|
||||
{
|
||||
.id = DEVLINK_PARAM_GENERIC_ID_INT_ERR_RESET,
|
||||
.name = DEVLINK_PARAM_GENERIC_INT_ERR_RESET_NAME,
|
||||
.type = DEVLINK_PARAM_GENERIC_INT_ERR_RESET_TYPE,
|
||||
},
|
||||
{
|
||||
.id = DEVLINK_PARAM_GENERIC_ID_MAX_MACS,
|
||||
.name = DEVLINK_PARAM_GENERIC_MAX_MACS_NAME,
|
||||
.type = DEVLINK_PARAM_GENERIC_MAX_MACS_TYPE,
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
static int devlink_param_generic_verify(const struct devlink_param *param)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue