Linux Devlink Documentation¶
devlink is an API to expose device information and resources not directly related to any device class, such as chip-wide/switch-ASIC-wide configuration.
Locking¶
Driver facing APIs are currently transitioning to allow more explicit
locking. Drivers can use the existing devlink_*
set of APIs, or
new APIs prefixed by devl_*
. The older APIs handle all the locking
in devlink core, but don't allow registration of most sub-objects once
the main devlink object is itself registered. The newer devl_*
APIs assume
the devlink instance lock is already held. Drivers can take the instance
lock by calling devl_lock()
. It is also held all callbacks of devlink
netlink commands.
Drivers are encouraged to use the devlink instance lock for their own needs.
Interface documentation¶
The following pages describe various interfaces available through devlink in general.
Driver-specific documentation¶
Each driver that implements devlink
is expected to document what
parameters, info versions, and other features it supports.
- bnxt devlink support
- etas_es58x devlink support
- hns3 devlink support
- ionic devlink support
- ice devlink support
- mlx4 devlink support
- mlx5 devlink support
- mlxsw devlink support
- mv88e6xxx devlink support
- netdevsim devlink support
- nfp devlink support
- qed devlink support
- ti-cpsw-switch devlink support
- am65-cpsw-nuss devlink support
- prestera devlink support
- iosm devlink support
- octeontx2 devlink support
- sfc devlink support
- t7xx devlink support