Mention branches and keyring.
[releases.git] / devlink / index.rst
1 Linux Devlink Documentation
2 ===========================
3
4 devlink is an API to expose device information and resources not directly
5 related to any device class, such as chip-wide/switch-ASIC-wide configuration.
6
7 Locking
8 -------
9
10 Driver facing APIs are currently transitioning to allow more explicit
11 locking. Drivers can use the existing ``devlink_*`` set of APIs, or
12 new APIs prefixed by ``devl_*``. The older APIs handle all the locking
13 in devlink core, but don't allow registration of most sub-objects once
14 the main devlink object is itself registered. The newer ``devl_*`` APIs assume
15 the devlink instance lock is already held. Drivers can take the instance
16 lock by calling ``devl_lock()``. It is also held in most of the callbacks.
17 Eventually all callbacks will be invoked under the devlink instance lock,
18 refer to the use of the ``DEVLINK_NL_FLAG_NO_LOCK`` flag in devlink core
19 to find out which callbacks are not converted, yet.
20
21 Drivers are encouraged to use the devlink instance lock for their own needs.
22
23 Interface documentation
24 -----------------------
25
26 The following pages describe various interfaces available through devlink in
27 general.
28
29 .. toctree::
30    :maxdepth: 1
31
32    devlink-dpipe
33    devlink-health
34    devlink-info
35    devlink-flash
36    devlink-params
37    devlink-port
38    devlink-region
39    devlink-resource
40    devlink-reload
41    devlink-trap
42    devlink-linecard
43
44 Driver-specific documentation
45 -----------------------------
46
47 Each driver that implements ``devlink`` is expected to document what
48 parameters, info versions, and other features it supports.
49
50 .. toctree::
51    :maxdepth: 1
52
53    bnxt
54    hns3
55    ionic
56    ice
57    mlx4
58    mlx5
59    mlxsw
60    mv88e6xxx
61    netdevsim
62    nfp
63    qed
64    ti-cpsw-switch
65    am65-nuss-cpsw-switch
66    prestera
67    iosm
68    octeontx2