[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201001072113.493092-1-jiri@resnulli.us>
Date: Thu, 1 Oct 2020 09:21:13 +0200
From: Jiri Pirko <jiri@...nulli.us>
To: netdev@...r.kernel.org
Cc: stephen@...workplumber.org, dsahern@...il.com, mlxsw@...dia.com
Subject: [patch iproute2-next] devlink: Add health reporter test command support
From: Jiri Pirko <jiri@...dia.com>
Add health reporter test command and allow user to trigger a test event.
Signed-off-by: Jiri Pirko <jiri@...dia.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
Powered by blists - more mailing lists