From: Jiri Pirko <j...@nvidia.com> Add health reporter test command and allow user to trigger a test event.
Signed-off-by: Jiri Pirko <j...@nvidia.com> --- bash-completion/devlink | 2 +- devlink/devlink.c | 11 +++++++++++ man/man8/devlink-health.8 | 16 ++++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/bash-completion/devlink b/bash-completion/devlink index f710c888652e..7395b5040232 100644 --- a/bash-completion/devlink +++ b/bash-completion/devlink @@ -635,7 +635,7 @@ _devlink_health_reporter() _devlink_health() { case $command in - show|recover|diagnose|set) + show|recover|diagnose|set|test) _devlink_health_reporter 0 if [[ $command == "set" ]]; then case $cword in diff --git a/devlink/devlink.c b/devlink/devlink.c index 0374175eda3d..126156a200c9 100644 --- a/devlink/devlink.c +++ b/devlink/devlink.c @@ -7055,6 +7055,13 @@ static int cmd_health_diagnose(struct dl *dl) 0); } +static int cmd_health_test(struct dl *dl) +{ + return cmd_health_object_common(dl, + DEVLINK_CMD_HEALTH_REPORTER_TEST, + 0); +} + static int cmd_health_recover(struct dl *dl) { struct nlmsghdr *nlh; @@ -7259,6 +7266,7 @@ static void cmd_health_help(void) pr_err("Usage: devlink health show [ { DEV | DEV/PORT_INDEX } reporter REPORTER_NAME ]\n"); pr_err(" devlink health recover { DEV | DEV/PORT_INDEX } reporter REPORTER_NAME\n"); pr_err(" devlink health diagnose { DEV | DEV/PORT_INDEX } reporter REPORTER_NAME\n"); + pr_err(" devlink health test { DEV | DEV/PORT_INDEX } reporter REPORTER_NAME\n"); pr_err(" devlink health dump show { DEV | DEV/PORT_INDEX } reporter REPORTER_NAME\n"); pr_err(" devlink health dump clear { DEV | DEV/PORT_INDEX } reporter REPORTER_NAME\n"); pr_err(" devlink health set { DEV | DEV/PORT_INDEX } reporter REPORTER_NAME\n"); @@ -7282,6 +7290,9 @@ static int cmd_health(struct dl *dl) } else if (dl_argv_match(dl, "diagnose")) { dl_arg_inc(dl); return cmd_health_diagnose(dl); + } else if (dl_argv_match(dl, "test")) { + dl_arg_inc(dl); + return cmd_health_test(dl); } else if (dl_argv_match(dl, "dump")) { dl_arg_inc(dl); if (dl_argv_match(dl, "show")) { diff --git a/man/man8/devlink-health.8 b/man/man8/devlink-health.8 index 47b96135ef01..975b8c75d798 100644 --- a/man/man8/devlink-health.8 +++ b/man/man8/devlink-health.8 @@ -41,6 +41,12 @@ devlink-health \- devlink health reporting and recovery .B reporter .RI "" REPORTER "" +.ti -8 +.BR "devlink health test" +.RI "{ " DEV " | " DEV/PORT_INDEX " }" +.B reporter +.RI "" REPORTER "" + .ti -8 .B devlink health dump clear .RI "{ " DEV " | " DEV/PORT_INDEX " }" @@ -105,6 +111,16 @@ This action performs a recovery and increases the recoveries counter on success. .I "REPORTER" - specifies the reporter's name registered on specified devlink device or port. +.SS devlink health test - Trigger a test event on a reporter. + +.PP +.I "DEV" +- specifies the devlink device. + +.PP +.I "REPORTER" +- specifies the reporter's name registered on the devlink device. + .SS devlink health dump show - Display the last saved dump. .PD 0 -- 2.26.2