Fri, Jul 22, 2022 at 11:11:28AM CEST, vikas.gupta@xxxxxxxxxxxx wrote: >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@xxxxxxxxxxxx> >Reviewed-by: Michael Chan <michael.chan@xxxxxxxxxxxx> >Reviewed-by: Andy Gospodarek <andrew.gospodarek@xxxxxxxxxxxx> Reviewed-by: Jiri Pirko <jiri@xxxxxxxxxx> Just a small note below. Take it or leave it, I don't mind that much. Thanks! >--- > .../networking/devlink/devlink-selftests.rst | 38 +++ > include/net/devlink.h | 21 ++ > include/uapi/linux/devlink.h | 32 +++ > net/core/devlink.c | 223 ++++++++++++++++++ > 4 files changed, 314 insertions(+) > create mode 100644 Documentation/networking/devlink/devlink-selftests.rst > >diff --git a/Documentation/networking/devlink/devlink-selftests.rst b/Documentation/networking/devlink/devlink-selftests.rst >new file mode 100644 >index 000000000000..0e9727895987 >--- /dev/null >+++ b/Documentation/networking/devlink/devlink-selftests.rst >@@ -0,0 +1,38 @@ >+.. SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >+ >+================= >+Devlink Selftests >+================= >+ >+The ``devlink-selftests`` API allows executing selftests on the device. >+ >+Tests Mask >+========== >+The ``devlink-selftests`` command should be run with a mask indicating >+the tests to be executed. >+ >+Tests Description >+================= >+The following is a list of tests that drivers may execute. >+ >+.. list-table:: List of tests >+ :widths: 5 90 >+ >+ * - Name >+ - Description >+ * - ``DEVLINK_SELFTEST_FLASH`` >+ - Devices may have the firmware on non-volatile memory on the board, e.g. >+ flash. This particular test helps to run a flash selftest on the device. >+ Implementation of the test is left to the driver/firmware. >+ >+example usage >+------------- >+ >+.. code:: shell >+ >+ # Query selftests supported on the devlink device >+ $ devlink dev selftests show DEV >+ # Query selftests supported on all devlink devices >+ $ devlink dev selftests show >+ # Executes selftests on the device >+ $ devlink dev selftests run DEV test flash s/test/test_id/ [...]