~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/networking/devlink/index.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/networking/devlink/index.rst (Architecture m68k) and /Documentation/networking/devlink/index.rst (Architecture sparc)


  1 Linux Devlink Documentation                         1 Linux Devlink Documentation
  2 ===========================                         2 ===========================
  3                                                     3 
  4 devlink is an API to expose device information      4 devlink is an API to expose device information and resources not directly
  5 related to any device class, such as chip-wide      5 related to any device class, such as chip-wide/switch-ASIC-wide configuration.
  6                                                     6 
  7 Locking                                             7 Locking
  8 -------                                             8 -------
  9                                                     9 
 10 Driver facing APIs are currently transitioning     10 Driver facing APIs are currently transitioning to allow more explicit
 11 locking. Drivers can use the existing ``devlin     11 locking. Drivers can use the existing ``devlink_*`` set of APIs, or
 12 new APIs prefixed by ``devl_*``. The older API     12 new APIs prefixed by ``devl_*``. The older APIs handle all the locking
 13 in devlink core, but don't allow registration      13 in devlink core, but don't allow registration of most sub-objects once
 14 the main devlink object is itself registered.      14 the main devlink object is itself registered. The newer ``devl_*`` APIs assume
 15 the devlink instance lock is already held. Dri     15 the devlink instance lock is already held. Drivers can take the instance
 16 lock by calling ``devl_lock()``. It is also he     16 lock by calling ``devl_lock()``. It is also held all callbacks of devlink
 17 netlink commands.                                  17 netlink commands.
 18                                                    18 
 19 Drivers are encouraged to use the devlink inst     19 Drivers are encouraged to use the devlink instance lock for their own needs.
 20                                                    20 
 21 Drivers need to be cautious when taking devlin     21 Drivers need to be cautious when taking devlink instance lock and
 22 taking RTNL lock at the same time. Devlink ins     22 taking RTNL lock at the same time. Devlink instance lock needs to be taken
 23 first, only after that RTNL lock could be take     23 first, only after that RTNL lock could be taken.
 24                                                    24 
 25 Nested instances                                   25 Nested instances
 26 ----------------                                   26 ----------------
 27                                                    27 
 28 Some objects, like linecards or port functions     28 Some objects, like linecards or port functions, could have another
 29 devlink instances created underneath. In that      29 devlink instances created underneath. In that case, drivers should make
 30 sure to respect following rules:                   30 sure to respect following rules:
 31                                                    31 
 32  - Lock ordering should be maintained. If driv     32  - Lock ordering should be maintained. If driver needs to take instance
 33    lock of both nested and parent instances at     33    lock of both nested and parent instances at the same time, devlink
 34    instance lock of the parent instance should     34    instance lock of the parent instance should be taken first, only then
 35    instance lock of the nested instance could      35    instance lock of the nested instance could be taken.
 36  - Driver should use object-specific helpers t     36  - Driver should use object-specific helpers to setup the
 37    nested relationship:                            37    nested relationship:
 38                                                    38 
 39    - ``devl_nested_devlink_set()`` - called to     39    - ``devl_nested_devlink_set()`` - called to setup devlink -> nested
 40      devlink relationship (could be user for m     40      devlink relationship (could be user for multiple nested instances.
 41    - ``devl_port_fn_devlink_set()`` - called t     41    - ``devl_port_fn_devlink_set()`` - called to setup port function ->
 42      nested devlink relationship.                  42      nested devlink relationship.
 43    - ``devlink_linecard_nested_dl_set()`` - ca     43    - ``devlink_linecard_nested_dl_set()`` - called to setup linecard ->
 44      nested devlink relationship.                  44      nested devlink relationship.
 45                                                    45 
 46 The nested devlink info is exposed to the user     46 The nested devlink info is exposed to the userspace over object-specific
 47 attributes of devlink netlink.                     47 attributes of devlink netlink.
 48                                                    48 
 49 Interface documentation                            49 Interface documentation
 50 -----------------------                            50 -----------------------
 51                                                    51 
 52 The following pages describe various interface     52 The following pages describe various interfaces available through devlink in
 53 general.                                           53 general.
 54                                                    54 
 55 .. toctree::                                       55 .. toctree::
 56    :maxdepth: 1                                    56    :maxdepth: 1
 57                                                    57 
 58    devlink-dpipe                                   58    devlink-dpipe
 59    devlink-health                                  59    devlink-health
 60    devlink-info                                    60    devlink-info
 61    devlink-flash                                   61    devlink-flash
 62    devlink-params                                  62    devlink-params
 63    devlink-port                                    63    devlink-port
 64    devlink-region                                  64    devlink-region
 65    devlink-resource                                65    devlink-resource
 66    devlink-reload                                  66    devlink-reload
 67    devlink-selftests                               67    devlink-selftests
 68    devlink-trap                                    68    devlink-trap
 69    devlink-linecard                                69    devlink-linecard
 70    devlink-eswitch-attr                            70    devlink-eswitch-attr
 71                                                    71 
 72 Driver-specific documentation                      72 Driver-specific documentation
 73 -----------------------------                      73 -----------------------------
 74                                                    74 
 75 Each driver that implements ``devlink`` is exp     75 Each driver that implements ``devlink`` is expected to document what
 76 parameters, info versions, and other features      76 parameters, info versions, and other features it supports.
 77                                                    77 
 78 .. toctree::                                       78 .. toctree::
 79    :maxdepth: 1                                    79    :maxdepth: 1
 80                                                    80 
 81    bnxt                                            81    bnxt
 82    etas_es58x                                      82    etas_es58x
 83    hns3                                            83    hns3
 84    i40e                                            84    i40e
 85    ionic                                           85    ionic
 86    ice                                             86    ice
 87    mlx4                                            87    mlx4
 88    mlx5                                            88    mlx5
 89    mlxsw                                           89    mlxsw
 90    mv88e6xxx                                       90    mv88e6xxx
 91    netdevsim                                       91    netdevsim
 92    nfp                                             92    nfp
 93    qed                                             93    qed
 94    ti-cpsw-switch                                  94    ti-cpsw-switch
 95    am65-nuss-cpsw-switch                           95    am65-nuss-cpsw-switch
 96    prestera                                        96    prestera
 97    iosm                                            97    iosm
 98    octeontx2                                       98    octeontx2
 99    sfc                                             99    sfc
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php