From: Jiri Pirko Date: Thu, 1 Oct 2020 07:21:13 +0000 (+0200) Subject: devlink: Add health reporter test command support X-Git-Tag: v5.10.0~29 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8dc1db80e41f8c32f68cc6f3440920ed3e373631;p=thirdparty%2Fiproute2.git devlink: Add health reporter test command support Add health reporter test command and allow user to trigger a test event. Signed-off-by: Jiri Pirko Signed-off-by: David Ahern --- diff --git a/bash-completion/devlink b/bash-completion/devlink index f710c8886..7395b5040 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 5cf2cd194..ab9522d26 100644 --- a/devlink/devlink.c +++ b/devlink/devlink.c @@ -7099,6 +7099,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; @@ -7303,6 +7310,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"); @@ -7326,6 +7334,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 47b96135e..975b8c75d 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