devlink: Add devlink reload limit option
Add reload limit to demand restrictions on reload actions.
Reload limits supported:
no_reset: No reset allowed, no down time allowed, no link flap and no
configuration is lost.
By default reload limit is unspecified and so no constraints on reload
actions are required.
Some combinations of action and limit are invalid. For example, driver
can not reinitialize its entities without any downtime.
The no_reset reload limit will have usecase in this patchset to
implement restricted fw_activate on mlx5.
Have the uapi parameter of reload limit ready for future support of
multiselection.
Signed-off-by: Moshe Shemesh <moshe@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
ccdf07219d
commit
dc64cc7c63
7 changed files with 119 additions and 13 deletions
|
|
@ -311,6 +311,19 @@ enum devlink_reload_action {
|
|||
DEVLINK_RELOAD_ACTION_MAX = __DEVLINK_RELOAD_ACTION_MAX - 1
|
||||
};
|
||||
|
||||
enum devlink_reload_limit {
|
||||
DEVLINK_RELOAD_LIMIT_UNSPEC, /* unspecified, no constraints */
|
||||
DEVLINK_RELOAD_LIMIT_NO_RESET, /* No reset allowed, no down time allowed,
|
||||
* no link flap and no configuration is lost.
|
||||
*/
|
||||
|
||||
/* Add new reload limit above */
|
||||
__DEVLINK_RELOAD_LIMIT_MAX,
|
||||
DEVLINK_RELOAD_LIMIT_MAX = __DEVLINK_RELOAD_LIMIT_MAX - 1
|
||||
};
|
||||
|
||||
#define DEVLINK_RELOAD_LIMITS_VALID_MASK (BIT(__DEVLINK_RELOAD_LIMIT_MAX) - 1)
|
||||
|
||||
enum devlink_attr {
|
||||
/* don't change the order or add anything between, this is ABI! */
|
||||
DEVLINK_ATTR_UNSPEC,
|
||||
|
|
@ -505,6 +518,7 @@ enum devlink_attr {
|
|||
|
||||
DEVLINK_ATTR_RELOAD_ACTION, /* u8 */
|
||||
DEVLINK_ATTR_RELOAD_ACTIONS_PERFORMED, /* bitfield32 */
|
||||
DEVLINK_ATTR_RELOAD_LIMITS, /* bitfield32 */
|
||||
|
||||
/* add new attributes above here, update the policy in devlink.c */
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue