Thu, Jul 21, 2022 at 07:32:08PM CEST, vikas.gupta@xxxxxxxxxxxx wrote: >Hi Jiri, > > >On Thu, Jul 21, 2022 at 6:27 PM Jiri Pirko <jiri@xxxxxxxxxx> wrote: >> >> Thu, Jul 21, 2022 at 09:21:19AM 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_list_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> >> >--- >> > .../networking/devlink/devlink-selftests.rst | 38 +++ >> > include/net/devlink.h | 20 ++ >> > include/uapi/linux/devlink.h | 29 +++ >> > net/core/devlink.c | 225 ++++++++++++++++++ >> > 4 files changed, 312 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 >> >> "test_id" to be consistend with the attr name and outputs. Please see >What is "test_id" referring to in this document? Can you please elaborate ? "test_id" is consistent with the UAPI netlink attribute name, see below. > >> below. Devlink cmdline would accept "test" as well, so you can still use >Are you mentioning the "test" argument in the above devlink command line option? Yes, the cmd line accepts shortened option names. So for "test_id", it would accept: "test_i" "test_" and "test" I just wanted to say you, as a user, will be able to still use the shortened version, but the option name "test_id" would be consistent with UAPI, which is what we usually have.