Documentation: networking: ethtool-netlink: Add link extended state
Add link extended state attributes. Signed-off-by: Amit Cohen <amitc@mellanox.com> Reviewed-by: Jiri Pirko <jiri@mellanox.com> Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> Reviewed-by: Petr Machata <petrm@mellanox.com> Signed-off-by: Ido Schimmel <idosch@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
2be5c8a963
Коммит
e120c801b8
|
@ -443,10 +443,11 @@ supports.
|
||||||
LINKSTATE_GET
|
LINKSTATE_GET
|
||||||
=============
|
=============
|
||||||
|
|
||||||
Requests link state information. At the moment, only link up/down flag (as
|
Requests link state information. Link up/down flag (as provided by
|
||||||
provided by ``ETHTOOL_GLINK`` ioctl command) is provided but some future
|
``ETHTOOL_GLINK`` ioctl command) is provided. Optionally, extended state might
|
||||||
extensions are planned (e.g. link down reason). This request does not have any
|
be provided as well. In general, extended state describes reasons for why a port
|
||||||
attributes.
|
is down, or why it operates in some non-obvious mode. This request does not have
|
||||||
|
any attributes.
|
||||||
|
|
||||||
Request contents:
|
Request contents:
|
||||||
|
|
||||||
|
@ -461,16 +462,135 @@ Kernel response contents:
|
||||||
``ETHTOOL_A_LINKSTATE_LINK`` bool link state (up/down)
|
``ETHTOOL_A_LINKSTATE_LINK`` bool link state (up/down)
|
||||||
``ETHTOOL_A_LINKSTATE_SQI`` u32 Current Signal Quality Index
|
``ETHTOOL_A_LINKSTATE_SQI`` u32 Current Signal Quality Index
|
||||||
``ETHTOOL_A_LINKSTATE_SQI_MAX`` u32 Max support SQI value
|
``ETHTOOL_A_LINKSTATE_SQI_MAX`` u32 Max support SQI value
|
||||||
|
``ETHTOOL_A_LINKSTATE_EXT_STATE`` u8 link extended state
|
||||||
|
``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE`` u8 link extended substate
|
||||||
==================================== ====== ============================
|
==================================== ====== ============================
|
||||||
|
|
||||||
For most NIC drivers, the value of ``ETHTOOL_A_LINKSTATE_LINK`` returns
|
For most NIC drivers, the value of ``ETHTOOL_A_LINKSTATE_LINK`` returns
|
||||||
carrier flag provided by ``netif_carrier_ok()`` but there are drivers which
|
carrier flag provided by ``netif_carrier_ok()`` but there are drivers which
|
||||||
define their own handler.
|
define their own handler.
|
||||||
|
|
||||||
|
``ETHTOOL_A_LINKSTATE_EXT_STATE`` and ``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE`` are
|
||||||
|
optional values. ethtool core can provide either both
|
||||||
|
``ETHTOOL_A_LINKSTATE_EXT_STATE`` and ``ETHTOOL_A_LINKSTATE_EXT_SUBSTATE``,
|
||||||
|
or only ``ETHTOOL_A_LINKSTATE_EXT_STATE``, or none of them.
|
||||||
|
|
||||||
``LINKSTATE_GET`` allows dump requests (kernel returns reply messages for all
|
``LINKSTATE_GET`` allows dump requests (kernel returns reply messages for all
|
||||||
devices supporting the request).
|
devices supporting the request).
|
||||||
|
|
||||||
|
|
||||||
|
Link extended states:
|
||||||
|
|
||||||
|
================================================ ============================================
|
||||||
|
``ETHTOOL_LINK_EXT_STATE_AUTONEG`` States relating to the autonegotiation or
|
||||||
|
issues therein
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_STATE_LINK_TRAINING_FAILURE`` Failure during link training
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_STATE_LINK_LOGICAL_MISMATCH`` Logical mismatch in physical coding sublayer
|
||||||
|
or forward error correction sublayer
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_STATE_BAD_SIGNAL_INTEGRITY`` Signal integrity issues
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_STATE_NO_CABLE`` No cable connected
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_STATE_CABLE_ISSUE`` Failure is related to cable,
|
||||||
|
e.g., unsupported cable
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_STATE_EEPROM_ISSUE`` Failure is related to EEPROM, e.g., failure
|
||||||
|
during reading or parsing the data
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_STATE_CALIBRATION_FAILURE`` Failure during calibration algorithm
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_STATE_POWER_BUDGET_EXCEEDED`` The hardware is not able to provide the
|
||||||
|
power required from cable or module
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_STATE_OVERHEAT`` The module is overheated
|
||||||
|
================================================= ============================================
|
||||||
|
|
||||||
|
Link extended substates:
|
||||||
|
|
||||||
|
Autoneg substates:
|
||||||
|
|
||||||
|
============================================================== ================================
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED`` Peer side is down
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED`` Ack not received from peer side
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_AN_NEXT_PAGE_EXCHANGE_FAILED`` Next page exchange failed
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_PARTNER_DETECTED_FORCE_MODE`` Peer side is down during force
|
||||||
|
mode or there is no agreement of
|
||||||
|
speed
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_AN_FEC_MISMATCH_DURING_OVERRIDE`` Forward error correction modes
|
||||||
|
in both sides are mismatched
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_AN_NO_HCD`` No Highest Common Denominator
|
||||||
|
============================================================== ================================
|
||||||
|
|
||||||
|
Link training substates:
|
||||||
|
|
||||||
|
========================================================================== ====================
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_FRAME_LOCK_NOT_ACQUIRED`` Frames were not
|
||||||
|
recognized, the
|
||||||
|
lock failed
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_INHIBIT_TIMEOUT`` The lock did not
|
||||||
|
occur before
|
||||||
|
timeout
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_LT_KR_LINK_PARTNER_DID_NOT_SET_RECEIVER_READY`` Peer side did not
|
||||||
|
send ready signal
|
||||||
|
after training
|
||||||
|
process
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_LT_REMOTE_FAULT`` Remote side is not
|
||||||
|
ready yet
|
||||||
|
========================================================================== ====================
|
||||||
|
|
||||||
|
Link logical mismatch substates:
|
||||||
|
|
||||||
|
=============================================================== ===============================
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_BLOCK_LOCK`` Physical coding sublayer was
|
||||||
|
not locked in first phase -
|
||||||
|
block lock
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_ACQUIRE_AM_LOCK`` Physical coding sublayer was
|
||||||
|
not locked in second phase -
|
||||||
|
alignment markers lock
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_LLM_PCS_DID_NOT_GET_ALIGN_STATUS`` Physical coding sublayer did
|
||||||
|
not get align status
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_LLM_FC_FEC_IS_NOT_LOCKED`` FC forward error correction is
|
||||||
|
not locked
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_LLM_RS_FEC_IS_NOT_LOCKED`` RS forward error correction is
|
||||||
|
not locked
|
||||||
|
=============================================================== ===============================
|
||||||
|
|
||||||
|
Bad signal integrity substates:
|
||||||
|
|
||||||
|
================================================================= =============================
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_BSI_LARGE_NUMBER_OF_PHYSICAL_ERRORS`` Large number of physical
|
||||||
|
errors
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_BSI_UNSUPPORTED_RATE`` The system attempted to
|
||||||
|
operate the cable at a rate
|
||||||
|
that is not formally
|
||||||
|
supported, which led to
|
||||||
|
signal integrity issues
|
||||||
|
================================================================= =============================
|
||||||
|
|
||||||
|
Cable issue substates:
|
||||||
|
|
||||||
|
================================================== ============================================
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_CI_UNSUPPORTED_CABLE`` Unsupported cable
|
||||||
|
|
||||||
|
``ETHTOOL_LINK_EXT_SUBSTATE_CI_CABLE_TEST_FAILURE`` Cable test failure
|
||||||
|
================================================== ============================================
|
||||||
|
|
||||||
DEBUG_GET
|
DEBUG_GET
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче