ethtool: Add transceiver module extended state
authorIdo Schimmel <idosch@nvidia.com>
Wed, 6 Oct 2021 10:46:46 +0000 (13:46 +0300)
committerJakub Kicinski <kuba@kernel.org>
Thu, 7 Oct 2021 00:47:50 +0000 (17:47 -0700)
commit3dfb51126064b594470b9c0b278188fbc9194709
treecda41a5f0eb0dfb60822ccd5f309e191d6c73c83
parent0455dc50bccab9286662f847f560cde6a648802d
ethtool: Add transceiver module extended state

Add an extended state and sub-state to describe link issues related to
transceiver modules.

The 'ETHTOOL_LINK_EXT_SUBSTATE_MODULE_CMIS_NOT_READY' extended sub-state
tells user space that port is unable to gain a carrier because the CMIS
Module State Machine did not reach the ModuleReady (Fully Operational)
state. For example, if the module is stuck at ModuleLowPwr or
ModuleFault state. In case of the latter, user space can read the fault
reason from the module's EEPROM and potentially reset it.

Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Documentation/networking/ethtool-netlink.rst
include/linux/ethtool.h
include/uapi/linux/ethtool.h