Lines Matching +full:always +full:- +full:wait +full:- +full:for +full:- +full:ack
2 Netlink interface for ethtool
9 Netlink interface for ethtool uses generic netlink family ``ethtool``
15 The ethtool netlink interface uses extended ACK for error and warning
23 (``CAP_NET_ADMIN`` in the namespace). Most "get" type requests are allowed for
25 information). In some cases, the request as such is allowed for anyone but
27 wake-on-lan password) omitted.
36 in "set" requests). For these attributes, the "true" value should be passed as
37 number 1 but any non-zero value should be understood as "true" by recipient.
44 Attributes that need to be filled-in by device drivers and that are dumped to
59 ``ETHTOOL_A_HEADER_FLAGS`` u32 flags common for all requests
67 dump requests without device identification to query the same information for
70 ``ETHTOOL_A_HEADER_FLAGS`` is a bitmap of request flags common for all request
71 types. The interpretation of these flags is the same for all request types but
88 request for the commands that needs it. It is, however, not mandatory, and if it
89 is not passed for commands that target a PHY, the net_device.phydev pointer
95 For short bitmaps of (reasonably) fixed length, standard ``NLA_BITFIELD32``
96 type is used. For arbitrary length bitmaps, ethtool netlink uses a nested
98 representing bit values and mask of affected bits) and bit-by-bit (list of
101 Verbose (bit-by-bit) bitsets allow sending symbolic names for bits together
104 useful for one shot applications like traditional ethtool command. On the
108 ethtool netlink interface always use compact form for bitsets.
126 rounded up to a multiple of 32 bits. They consist of 32-bit words in host byte
130 For compact form, ``ETHTOOL_A_BITSET_SIZE`` and ``ETHTOOL_A_BITSET_VALUE`` are
141 Bit-by-bit form: nested (bitset) attribute contents:
143 +------------------------------------+--------+-----------------------------+
145 +------------------------------------+--------+-----------------------------+
147 +------------------------------------+--------+-----------------------------+
149 +-+----------------------------------+--------+-----------------------------+
151 +-+-+--------------------------------+--------+-----------------------------+
152 | | | ``ETHTOOL_A_BITSET_BIT_INDEX`` | u32 | bit index (0 for LSB) |
153 +-+-+--------------------------------+--------+-----------------------------+
155 +-+-+--------------------------------+--------+-----------------------------+
157 +-+-+--------------------------------+--------+-----------------------------+
159 Bit size is optional for bit-by-bit form. ``ETHTOOL_A_BITSET_BITS`` nest can
203 ``ETHTOOL_MSG_WOL_GET`` get wake-on-lan settings
204 ``ETHTOOL_MSG_WOL_SET`` set wake-on-lan settings
252 ``ETHTOOL_MSG_WOL_GET_REPLY`` wake-on-lan settings
253 ``ETHTOOL_MSG_WOL_NTF`` wake-on-lan settings notification
290 Kernel replies with corresponding "GET_REPLY" message. For most types, ``GET``
292 the information for all devices supporting the request.
331 +---------------------------------------+--------+------------------------+
333 +---------------------------------------+--------+------------------------+
335 +-+-------------------------------------+--------+------------------------+
337 +-+-+-----------------------------------+--------+------------------------+
339 +-+-+-----------------------------------+--------+------------------------+
343 +---------------------------------------+--------+-----------------------+
345 +---------------------------------------+--------+-----------------------+
347 +-+-------------------------------------+--------+-----------------------+
349 +-+-+-----------------------------------+--------+-----------------------+
351 +-+-+-----------------------------------+--------+-----------------------+
353 +-+-+-----------------------------------+--------+-----------------------+
355 +-+-+-+---------------------------------+--------+-----------------------+
357 +-+-+-+-+-------------------------------+--------+-----------------------+
359 +-+-+-+-+-------------------------------+--------+-----------------------+
361 +-+-+-+-+-------------------------------+--------+-----------------------+
363 +---------------------------------------+--------+-----------------------+
368 - no ``NLM_F_DUMP,`` no device: get "global" stringsets
369 - no ``NLM_F_DUMP``, with device: get string sets related to the device
370 - ``NLM_F_DUMP``, no device: get device related string sets for all devices
381 Requests link settings as provided by ``ETHTOOL_GLINKSETTINGS`` except for
397 ``ETHTOOL_A_LINKINFO_TP_MDIX`` u8 MDI(-X) status
398 ``ETHTOOL_A_LINKINFO_TP_MDIX_CTRL`` u8 MDI(-X) control
405 ``LINKINFO_GET`` allows dump requests (kernel returns reply message for all
421 ``ETHTOOL_A_LINKINFO_TP_MDIX_CTRL`` u8 MDI(-X) control
424 MDI(-X) status and transceiver cannot be set, request with the corresponding
455 For ``ETHTOOL_A_LINKMODES_OURS``, value represents advertised modes and mask
459 ``LINKMODES_GET`` allows dump requests (kernel returns reply messages for all
495 be provided as well. In general, extended state describes reasons for why a port
496 is down, or why it operates in some non-obvious mode. This request does not have
517 For most NIC drivers, the value of ``ETHTOOL_A_LINKSTATE_LINK`` returns
526 ``LINKSTATE_GET`` allows dump requests (kernel returns reply messages for all
568 ``ETHTOOL_LINK_EXT_SUBSTATE_AN_ACK_NOT_RECEIVED`` Ack not received from peer side
606 not locked in first phase -
610 not locked in second phase -
635 ``ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_REFERENCE_CLOCK_LOST`` The external clock signal for
639 ``ETHTOOL_LINK_EXT_SUBSTATE_BSI_SERDES_ALOS`` The received signal for
656 the ModuleReady state. For example, if the
681 interface. While it is called message level there for historical reasons, most
686 ``DEBUG_GET`` allows dump requests (kernel returns reply messages for all
704 enabled debugging message types for the device.
710 Query device wake-on-lan settings. Unlike most "GET" type requests,
736 Set or update wake-on-lan settings.
746 ``ETHTOOL_A_WOL_SOPASS`` is only allowed for devices supporting
765 ``ETHTOOL_A_FEATURES_HW`` bitset dev->hw_features
766 ``ETHTOOL_A_FEATURES_WANTED`` bitset dev->wanted_features
767 ``ETHTOOL_A_FEATURES_ACTIVE`` bitset dev->features
774 if userspace needs them (most likely only ethtool for backward compatibility),
809 of bits which differ between requested features and result (dev->features
812 reports the difference between old and new dev->features: mask consists of
813 bits which have changed, values are their values in new dev->features (after
842 are device dependent. For compact bitset format, names can be retrieved as
898 page-flipping TCP zero-copy receive (``getsockopt(TCP_ZEROCOPY_RECEIVE)``).
901 full memory pages of data, for example because MTU is high enough or through
902 HW-GRO.
908 may increase the CPU cost. Drivers may enforce additional per-packet
914 advantages of reducing latency for small packets by avoiding DMA mapping (same
918 This is similar to the "tx-copybreak" parameter, which copies the packet to a
920 tx-push-buff parameter copies the packet directly to the device to allow the
1029 ``ETHTOOL_A_COALESCE_PKT_RATE_LOW`` u32 threshold for low rate
1034 ``ETHTOOL_A_COALESCE_PKT_RATE_HIGH`` u32 threshold for high rate
1067 describes the maximum size in bytes for the submitted buffer.
1073 This feature is mainly of interest for specific USB devices which does not cope
1074 well with frequent small-sized URBs transmissions.
1100 ``ETHTOOL_A_COALESCE_PKT_RATE_LOW`` u32 threshold for low rate
1105 ``ETHTOOL_A_COALESCE_PKT_RATE_HIGH`` u32 threshold for high rate
1144 .. kernel-doc:: include/uapi/linux/ethtool.h
1166 .. kernel-doc:: include/linux/ethtool.h
1209 In ``ETHTOOL_A_EEE_MODES_OURS``, mask consists of link modes for which EEE is
1210 enabled, value of link modes for which EEE is advertised. Link modes for which
1212 netlink interface allows reporting EEE status for all link modes but only
1232 EEE for (if there is no mask) or specify changes to the list (if there is
1233 a mask). The netlink interface allows reporting EEE status for all link modes
1261 is no special value for this case). The bitset attributes are omitted if they
1290 arbitrary number of times, in an arbitrary order, for an arbitrary
1293 The example shows the notification sent when the test is completed for
1298 +---------------------------------------------+--------+---------------------+
1300 +---------------------------------------------+--------+---------------------+
1302 +---------------------------------------------+--------+---------------------+
1304 +-+-------------------------------------------+--------+---------------------+
1306 +-+-+-----------------------------------------+--------+---------------------+
1308 +-+-+-----------------------------------------+--------+---------------------+
1310 +-+-+-----------------------------------------+--------+---------------------+
1312 +-+-+-----------------------------------------+--------+---------------------+
1314 +-+-+-----------------------------------------+--------+---------------------+
1316 +-+-+-----------------------------------------+--------+---------------------+
1318 +-+-+-----------------------------------------+--------+---------------------+
1320 +-+-+-----------------------------------------+--------+---------------------+
1322 +-+-+-----------------------------------------+--------+---------------------+
1324 +-+-+-----------------------------------------+--------+---------------------+
1326 +-+-+-----------------------------------------+--------+---------------------+
1336 +--------------------------------------------+--------+-----------------------+
1338 +--------------------------------------------+--------+-----------------------+
1340 +-+------------------------------------------+--------+-----------------------+
1342 +-+-+----------------------------------------+--------+-----------------------+
1344 +-+-+----------------------------------------+--------+-----------------------+
1346 +-+-+----------------------------------------+--------+-----------------------+
1348 +-+-+----------------------------------------+--------+-----------------------+
1359 recording the amplitude of the reflected pulse for a given distance.
1376 nest containing information about the distance along the cable for the
1382 For each step along the cable, a ETHTOOL_A_CABLE_TDR_NEST_AMPLITUDE is
1383 used to report the amplitude of the reflection for a given pair.
1385 +---------------------------------------------+--------+----------------------+
1387 +---------------------------------------------+--------+----------------------+
1389 +---------------------------------------------+--------+----------------------+
1391 +-+-------------------------------------------+--------+----------------------+
1393 +-+-+-----------------------------------------+--------+----------------------+
1395 +-+-+-----------------------------------------+--------+----------------------+
1397 +-+-+-----------------------------------------+--------+----------------------+
1399 +-+-+-----------------------------------------+--------+----------------------+
1401 +-+-+-----------------------------------------+--------+----------------------+
1403 +-+-+-----------------------------------------+--------+----------------------+
1405 +-+-+-----------------------------------------+--------+----------------------+
1407 +-+-+-----------------------------------------+--------+----------------------+
1409 +-+-+-----------------------------------------+--------+----------------------+
1411 +-+-+-----------------------------------------+--------+----------------------+
1413 +-+-+-----------------------------------------+--------+----------------------+
1415 +-+-+-----------------------------------------+--------+----------------------+
1417 +-+-+-----------------------------------------+--------+----------------------+
1419 +-+-+-----------------------------------------+--------+----------------------+
1421 +-+-+-----------------------------------------+--------+----------------------+
1436 +---------------------------------------------+--------+---------------------+
1438 +---------------------------------------------+--------+---------------------+
1440 +-+-------------------------------------------+--------+---------------------+
1442 +-+-+-----------------------------------------+--------+---------------------+
1445 +-+-+-----------------------------------------+--------+---------------------+
1448 +-+-+-----------------------------------------+--------+---------------------+
1450 +-+-+-+---------------------------------------+--------+---------------------+
1452 +-+-+-+---------------------------------------+--------+---------------------+
1454 +-+-+-+---------------------------------------+--------+---------------------+
1456 For UDP tunnel table empty ``ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES`` indicates that
1457 the table contains static entries, hard-coded by the NIC.
1485 autonegotiation is disabled. If ``ETHTOOL_A_FEC_AUTO`` is non-zero driver will
1498 +--------------+---------------------------------------------+
1500 +--------------+---------------------------------------------+
1501 | `1` | device does not support per-lane break down |
1502 +--------------+---------------------------------------------+
1503 | `1 + #lanes` | device has full support for FEC stats |
1504 +--------------+---------------------------------------------+
1508 .. kernel-doc:: include/linux/ethtool.h
1540 boundary located at offset 128. For pages other than 0 only high 128 bytes are
1558 +---------------------------------------------+--------+---------------------+
1560 +---------------------------------------------+--------+---------------------+
1563 +---------------------------------------------+--------+---------------------+
1571 Get standard statistics for the interface. Note that this is not
1572 a re-implementation of ``ETHTOOL_GSTATS`` which exposed driver-defined
1585 +-----------------------------------+--------+--------------------------------+
1587 +-----------------------------------+--------+--------------------------------+
1589 +-----------------------------------+--------+--------------------------------+
1591 +-+---------------------------------+--------+--------------------------------+
1592 | | ``ETHTOOL_A_STATS_GRP_ID`` | u32 | group ID - ``ETHTOOL_STATS_*`` |
1593 +-+---------------------------------+--------+--------------------------------+
1594 | | ``ETHTOOL_A_STATS_GRP_SS_ID`` | u32 | string set ID for names |
1595 +-+---------------------------------+--------+--------------------------------+
1597 +-+---------------------------------+--------+--------------------------------+
1599 +-+---------------------------------+--------+--------------------------------+
1601 +-+---------------------------------+--------+--------------------------------+
1607 ETHTOOL_STATS_ETH_MAC eth-mac Basic IEEE 802.3 MAC statistics (30.3.1.1.*)
1608 ETHTOOL_STATS_ETH_PHY eth-phy Basic IEEE 802.3 PHY statistics (30.3.2.1.*)
1609 ETHTOOL_STATS_ETH_CTRL eth-ctrl Basic IEEE 802.3 MAC Ctrl statistics (30.3.3.*)
1615 ``ETHTOOL_A_STATS_GRP_SS_ID`` identifies the string set ID for the names of
1620 single 8 byte (u64) attribute inside - the type of that attribute is
1630 differ in definition of buckets. For this reason the definition of packet ranges
1642 Low and high bounds are inclusive, for example:
1696 is driver-dependent, but "auto" is the recommended default and it should be
1702 is plugged-in. Possible values are:
1704 .. kernel-doc:: include/uapi/linux/ethtool.h
1723 .. kernel-doc:: include/uapi/linux/ethtool.h
1726 For SFF-8636 modules, low power mode is forced by the host according to table
1727 6-10 in revision 2.10a of the specification.
1729 For CMIS modules, low power mode is forced by the host according to table 6-12
1771 action. This attribute corresponds to ``IEEE 802.3-2018`` 30.15.1.1.2
1774 .. kernel-doc:: include/uapi/linux/ethtool.h
1777 The same goes for ``ETHTOOL_A_C33_PSE_ADMIN_STATE`` implementing
1778 ``IEEE 802.3-2022`` 30.9.1.1.2 aPSEAdminState.
1780 .. kernel-doc:: include/uapi/linux/ethtool.h
1786 corresponds to ``IEEE 802.3-2018`` 30.15.1.1.3 aPoDLPSEPowerDetectionStatus.
1789 .. kernel-doc:: include/uapi/linux/ethtool.h
1792 The same goes for ``ETHTOOL_A_C33_PSE_ADMIN_PW_D_STATUS`` implementing
1793 ``IEEE 802.3-2022`` 30.9.1.1.5 aPSEPowerDetectionStatus.
1795 .. kernel-doc:: include/uapi/linux/ethtool.h
1800 the PSE and the PD. This attribute corresponds to ``IEEE 802.3-2022``
1805 ``IEEE 802.3-2022`` 30.9.1.1.23 aPSEActualPower. Actual power is reported
1811 .. kernel-doc:: include/uapi/linux/ethtool.h
1818 .. kernel-doc:: include/uapi/linux/ethtool.h
1856 ``IEEE 802.3-2018`` 30.15.1.2.1 acPoDLPSEAdminControl. See
1857 ``ETHTOOL_A_PODL_PSE_ADMIN_STATE`` for supported values.
1859 The same goes for ``ETHTOOL_A_C33_PSE_ADMIN_CONTROL`` implementing
1860 ``IEEE 802.3-2022`` 30.9.1.2.1 acPSEAdminControl.
1863 used to control the available power value limit for C33 PSE in milliwatts.
1865 ``IEEE 802.3-2022`` 33.2.4.4 Variables and `pse_avail_pwr` in 145.2.5.4
1868 It was decided to use milliwatts for this interface to unify it with other
1872 conversion can be done in user space, for example by ethtool.
1912 hfunc. Current supported option is symmetric-xor.
1917 Gets the IEEE 802.3cg-2019 Clause 148 Physical Layer Collision Avoidance
1938 value in bit-times (BT)
1942 ``ETHTOOL_A_PLCA_BURST_TMR`` u32 Time to wait for the MAC to
1949 the interface is vendor-specific and (possibly) supplied by the driver.
1950 The OPEN Alliance SIG specifies a standard register map for 10BASE-T1S PHYs
1951 embedding the PLCA Reconciliation Sublayer. See "10BASE-T1S PLCA Management
1956 CSMA/CD mode. This option is corresponding to ``IEEE 802.3cg-2019`` 30.16.1.1.1
1961 opportunity (TO) is reserved for the node to transmit into. This option is
1962 corresponding to ``IEEE 802.3cg-2019`` 30.16.1.1.4 aPLCALocalNodeID. The valid
1963 range for this attribute is [0 .. 255] where 255 means "not configured".
1966 configured maximum number of PLCA nodes on the mixing-segment. This number
1968 PLCA cycle. This attribute is relevant only for the PLCA coordinator, which is
1970 This option is corresponding to ``IEEE 802.3cg-2019`` 30.16.1.1.3
1971 aPLCANodeCount. The valid range for this attribute is [1 .. 255].
1974 configured value of the transmit opportunity timer in bit-times. This value
1975 must be set equal across all nodes sharing the medium for PLCA to work
1976 correctly. This option is corresponding to ``IEEE 802.3cg-2019`` 30.16.1.1.5
1977 aPLCATransmitOpportunityTimer. The valid range for this attribute is
1984 keeps the TO after any transmission, waiting for the MAC to send a new frame
1985 for up to aPLCABurstTimer BTs. This can only happen a number of times per PLCA
1988 ``IEEE 802.3cg-2019`` 30.16.1.1.6 aPLCAMaxBurstCount. The valid range for this
1992 many bit-times the PLCA RS waits for the MAC to initiate a new transmission
1996 is corresponding to ``IEEE 802.3cg-2019`` 30.16.1.1.7 aPLCABurstTimer. The
1997 valid range for this attribute is [0 .. 255]. Although, the value should be
1998 set greater than the Inter-Frame-Gap (IFG) time of the MAC (plus some margin)
1999 for PLCA burst mode to work as intended.
2016 value in bit-times (BT)
2020 ``ETHTOOL_A_PLCA_BURST_TMR`` u8 Time to wait for the MAC to
2025 For a description of each attribute, see ``PLCA_GET_CFG``.
2047 corresponding to ``IEEE 802.3cg-2019`` 30.16.1.1.2 aPLCAStatus.
2064 ``ETHTOOL_A_MM_PMAC_ENABLED`` bool set if RX of preemptible and SMD-V
2072 non-final fragments, in octets
2073 ``ETHTOOL_A_MM_RX_MIN_FRAG_SIZE`` u32 minimum size of received non-final
2075 ``ETHTOOL_A_MM_VERIFY_ENABLED`` bool set if TX of SMD-V frames is
2081 ``ETHTOOL_A_MM_STATS`` nested IEEE 802.3-2018 subclause 30.14.1
2088 .. kernel-doc:: include/linux/ethtool.h
2093 .. kernel-doc:: include/uapi/linux/ethtool.h
2110 .. kernel-doc:: include/linux/ethtool.h
2130 .. kernel-doc:: include/linux/ethtool.h
2176 +---------------------------------------------------+--------+----------------+
2178 +---------------------------------------------------+--------+----------------+
2180 +---------------------------------------------------+--------+----------------+
2182 +---------------------------------------------------+--------+----------------+
2184 +---------------------------------------------------+--------+----------------+
2186 +---------------------------------------------------+--------+----------------+
2191 .. kernel-doc:: include/uapi/linux/ethtool.h
2204 operation returns all available information about dev->phydev. User can also
2212 For more information, refer to :ref:`phy_link_topology`
2225 be used for phy-specific