@@ -136,6 +136,9 @@ enum devlink_command {
DEVLINK_CMD_LINECARD_NEW,
DEVLINK_CMD_LINECARD_DEL,
+ DEVLINK_CMD_SELFTESTS_LIST, /* can dump */
+ DEVLINK_CMD_SELFTESTS_RUN,
+
/* add new commands above here */
__DEVLINK_CMD_MAX,
DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
@@ -276,6 +279,31 @@ enum {
#define DEVLINK_SUPPORTED_FLASH_OVERWRITE_SECTIONS \
(_BITUL(__DEVLINK_FLASH_OVERWRITE_MAX_BIT) - 1)
+/* Commonly used test cases */
+enum devlink_selftest_attr {
+ DEVLINK_SELFTEST_ATTR_UNSPEC,
+ DEVLINK_SELFTEST_ATTR_FLASH, /* flag */
+
+ __DEVLINK_SELFTEST_ATTR_MAX,
+ DEVLINK_SELFTEST_ATTR_MAX = __DEVLINK_SELFTEST_ATTR_MAX - 1
+};
+
+enum devlink_selftest_result {
+ DEVLINK_SELFTEST_SKIP,
+ DEVLINK_SELFTEST_PASS,
+ DEVLINK_SELFTEST_FAIL
+};
+
+enum devlink_selftest_result_attr {
+ DEVLINK_SELFTEST_ATTR_RESULT_UNSPEC,
+ DEVLINK_SELFTEST_ATTR_RESULT, /* nested */
+ DEVLINK_SELFTEST_ATTR_TEST_ID, /* u32, devlink_selftest_attr */
+ DEVLINK_SELFTEST_ATTR_TEST_STATUS, /* u8, devlink_selftest_result */
+
+ __DEVLINK_SELFTEST_ATTR_RES_MAX,
+ DEVLINK_SELFTEST_ATTR_RES_MAX = __DEVLINK_SELFTEST_ATTR_RES_MAX - 1
+};
+
/**
* enum devlink_trap_action - Packet trap action.
* @DEVLINK_TRAP_ACTION_DROP: Packet is dropped by the device and a copy is not
@@ -576,6 +604,7 @@ enum devlink_attr {
DEVLINK_ATTR_LINECARD_TYPE, /* string */
DEVLINK_ATTR_LINECARD_SUPPORTED_TYPES, /* nested */
+ DEVLINK_ATTR_SELFTESTS_INFO, /* nested */
/* add new attributes above here, update the policy in devlink.c */
__DEVLINK_ATTR_MAX,