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:
committed by
Jakub Kicinski
parent
ccdf07219d
commit
dc64cc7c63
@ -701,7 +701,8 @@ static int nsim_dev_reload_create(struct nsim_dev *nsim_dev,
|
||||
static void nsim_dev_reload_destroy(struct nsim_dev *nsim_dev);
|
||||
|
||||
static int nsim_dev_reload_down(struct devlink *devlink, bool netns_change,
|
||||
enum devlink_reload_action action, struct netlink_ext_ack *extack)
|
||||
enum devlink_reload_action action, enum devlink_reload_limit limit,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct nsim_dev *nsim_dev = devlink_priv(devlink);
|
||||
|
||||
@ -718,7 +719,8 @@ static int nsim_dev_reload_down(struct devlink *devlink, bool netns_change,
|
||||
}
|
||||
|
||||
static int nsim_dev_reload_up(struct devlink *devlink, enum devlink_reload_action action,
|
||||
u32 *actions_performed, struct netlink_ext_ack *extack)
|
||||
enum devlink_reload_limit limit, u32 *actions_performed,
|
||||
struct netlink_ext_ack *extack)
|
||||
{
|
||||
struct nsim_dev *nsim_dev = devlink_priv(devlink);
|
||||
|
||||
|
Reference in New Issue
Block a user