mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-31 11:47:42 +08:00
devlink: introduce framework for selftests
Add a framework for running selftests. Framework exposes devlink commands and test suite(s) to the user to execute and query the supported tests by the driver. Below are new entries in devlink_nl_ops devlink_nl_cmd_selftests_show_doit/dumpit: To query the supported selftests by the drivers. devlink_nl_cmd_selftests_run: To execute selftests. Users can provide a test mask for executing group tests or standalone tests. Documentation/networking/devlink/ path is already part of MAINTAINERS & the new files come under this path. Hence no update needed to the MAINTAINERS Signed-off-by: Vikas Gupta <vikas.gupta@broadcom.com> Reviewed-by: Andy Gospodarek <gospo@broadcom.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
68be7b82e7
commit
08f588fa30
@@ -136,6 +136,9 @@ enum devlink_command {
|
||||
DEVLINK_CMD_LINECARD_NEW,
|
||||
DEVLINK_CMD_LINECARD_DEL,
|
||||
|
||||
DEVLINK_CMD_SELFTESTS_GET, /* can dump */
|
||||
DEVLINK_CMD_SELFTESTS_RUN,
|
||||
|
||||
/* add new commands above here */
|
||||
__DEVLINK_CMD_MAX,
|
||||
DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
|
||||
@@ -276,6 +279,30 @@ enum {
|
||||
#define DEVLINK_SUPPORTED_FLASH_OVERWRITE_SECTIONS \
|
||||
(_BITUL(__DEVLINK_FLASH_OVERWRITE_MAX_BIT) - 1)
|
||||
|
||||
enum devlink_attr_selftest_id {
|
||||
DEVLINK_ATTR_SELFTEST_ID_UNSPEC,
|
||||
DEVLINK_ATTR_SELFTEST_ID_FLASH, /* flag */
|
||||
|
||||
__DEVLINK_ATTR_SELFTEST_ID_MAX,
|
||||
DEVLINK_ATTR_SELFTEST_ID_MAX = __DEVLINK_ATTR_SELFTEST_ID_MAX - 1
|
||||
};
|
||||
|
||||
enum devlink_selftest_status {
|
||||
DEVLINK_SELFTEST_STATUS_SKIP,
|
||||
DEVLINK_SELFTEST_STATUS_PASS,
|
||||
DEVLINK_SELFTEST_STATUS_FAIL
|
||||
};
|
||||
|
||||
enum devlink_attr_selftest_result {
|
||||
DEVLINK_ATTR_SELFTEST_RESULT_UNSPEC,
|
||||
DEVLINK_ATTR_SELFTEST_RESULT, /* nested */
|
||||
DEVLINK_ATTR_SELFTEST_RESULT_ID, /* u32, enum devlink_attr_selftest_id */
|
||||
DEVLINK_ATTR_SELFTEST_RESULT_STATUS, /* u8, enum devlink_selftest_status */
|
||||
|
||||
__DEVLINK_ATTR_SELFTEST_RESULT_MAX,
|
||||
DEVLINK_ATTR_SELFTEST_RESULT_MAX = __DEVLINK_ATTR_SELFTEST_RESULT_MAX - 1
|
||||
};
|
||||
|
||||
/**
|
||||
* enum devlink_trap_action - Packet trap action.
|
||||
* @DEVLINK_TRAP_ACTION_DROP: Packet is dropped by the device and a copy is not
|
||||
@@ -578,6 +605,8 @@ enum devlink_attr {
|
||||
|
||||
DEVLINK_ATTR_NESTED_DEVLINK, /* nested */
|
||||
|
||||
DEVLINK_ATTR_SELFTESTS, /* nested */
|
||||
|
||||
/* add new attributes above here, update the policy in devlink.c */
|
||||
|
||||
__DEVLINK_ATTR_MAX,
|
||||
|
||||
Reference in New Issue
Block a user