.. SPDX-License-Identifier: GPL-2.0 .. NOTE: This document was auto-generated. ======================================== Family ``ethtool`` netlink specification ======================================== .. contents:: :depth: 3 ------- Summary ------- Partial family for Ethtool Netlink. ---------- Operations ---------- .. _ethtool-operation-strset-get: strset-get ========== Get string set from the kernel. :attribute-set: :ref:`ethtool-attribute-set-strset` :do: **request** :attributes: [``header``, ``stringsets``, ``counts-only``] **reply** :attributes: [``header``, ``stringsets``] :dump: **request** :attributes: [``header``, ``stringsets``, ``counts-only``] **reply** :attributes: [``header``, ``stringsets``] .. _ethtool-operation-linkinfo-get: linkinfo-get ============ Get link info. :attribute-set: :ref:`ethtool-attribute-set-linkinfo` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``port``, ``phyaddr``, ``tp-mdix``, ``tp-mdix-ctrl``, ``transceiver``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``port``, ``phyaddr``, ``tp-mdix``, ``tp-mdix-ctrl``, ``transceiver``] .. _ethtool-operation-linkinfo-set: linkinfo-set ============ Set link info. :attribute-set: :ref:`ethtool-attribute-set-linkinfo` :do: **request** :attributes: [``header``, ``port``, ``phyaddr``, ``tp-mdix``, ``tp-mdix-ctrl``, ``transceiver``] .. _ethtool-operation-linkinfo-ntf: linkinfo-ntf ============ Notification for change in link info. :notify: linkinfo-get .. _ethtool-operation-linkmodes-get: linkmodes-get ============= Get link modes. :attribute-set: :ref:`ethtool-attribute-set-linkmodes` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``autoneg``, ``ours``, ``peer``, ``speed``, ``duplex``, ``master-slave-cfg``, ``master-slave-state``, ``lanes``, ``rate-matching``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``autoneg``, ``ours``, ``peer``, ``speed``, ``duplex``, ``master-slave-cfg``, ``master-slave-state``, ``lanes``, ``rate-matching``] .. _ethtool-operation-linkmodes-set: linkmodes-set ============= Set link modes. :attribute-set: :ref:`ethtool-attribute-set-linkmodes` :do: **request** :attributes: [``header``, ``autoneg``, ``ours``, ``peer``, ``speed``, ``duplex``, ``master-slave-cfg``, ``master-slave-state``, ``lanes``, ``rate-matching``] .. _ethtool-operation-linkmodes-ntf: linkmodes-ntf ============= Notification for change in link modes. :notify: linkmodes-get .. _ethtool-operation-linkstate-get: linkstate-get ============= Get link state. :attribute-set: :ref:`ethtool-attribute-set-linkstate` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``link``, ``sqi``, ``sqi-max``, ``ext-state``, ``ext-substate``, ``ext-down-cnt``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``link``, ``sqi``, ``sqi-max``, ``ext-state``, ``ext-substate``, ``ext-down-cnt``] .. _ethtool-operation-debug-get: debug-get ========= Get debug message mask. :attribute-set: :ref:`ethtool-attribute-set-debug` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``msgmask``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``msgmask``] .. _ethtool-operation-debug-set: debug-set ========= Set debug message mask. :attribute-set: :ref:`ethtool-attribute-set-debug` :do: **request** :attributes: [``header``, ``msgmask``] .. _ethtool-operation-debug-ntf: debug-ntf ========= Notification for change in debug message mask. :notify: debug-get .. _ethtool-operation-wol-get: wol-get ======= Get WOL params. :attribute-set: :ref:`ethtool-attribute-set-wol` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``modes``, ``sopass``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``modes``, ``sopass``] .. _ethtool-operation-wol-set: wol-set ======= Set WOL params. :attribute-set: :ref:`ethtool-attribute-set-wol` :do: **request** :attributes: [``header``, ``modes``, ``sopass``] .. _ethtool-operation-wol-ntf: wol-ntf ======= Notification for change in WOL params. :notify: wol-get .. _ethtool-operation-features-get: features-get ============ Get features. :attribute-set: :ref:`ethtool-attribute-set-features` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``hw``, ``wanted``, ``active``, ``nochange``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``hw``, ``wanted``, ``active``, ``nochange``] .. _ethtool-operation-features-set: features-set ============ Set features. :attribute-set: :ref:`ethtool-attribute-set-features` :do: **request** :attributes: [``header``, ``hw``, ``wanted``, ``active``, ``nochange``] **reply** :attributes: [``header``, ``hw``, ``wanted``, ``active``, ``nochange``] .. _ethtool-operation-features-ntf: features-ntf ============ Notification for change in features. :notify: features-get .. _ethtool-operation-privflags-get: privflags-get ============= Get device private flags. :attribute-set: :ref:`ethtool-attribute-set-privflags` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``flags``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``flags``] .. _ethtool-operation-privflags-set: privflags-set ============= Set device private flags. :attribute-set: :ref:`ethtool-attribute-set-privflags` :do: **request** :attributes: [``header``, ``flags``] .. _ethtool-operation-privflags-ntf: privflags-ntf ============= Notification for change in device private flags. :notify: privflags-get .. _ethtool-operation-rings-get: rings-get ========= Get ring params. :attribute-set: :ref:`ethtool-attribute-set-rings` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``rx-max``, ``rx-mini-max``, ``rx-jumbo-max``, ``tx-max``, ``rx``, ``rx-mini``, ``rx-jumbo``, ``tx``, ``rx-buf-len``, ``tcp-data-split``, ``cqe-size``, ``tx-push``, ``rx-push``, ``tx-push-buf-len``, ``tx-push-buf-len-max``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``rx-max``, ``rx-mini-max``, ``rx-jumbo-max``, ``tx-max``, ``rx``, ``rx-mini``, ``rx-jumbo``, ``tx``, ``rx-buf-len``, ``tcp-data-split``, ``cqe-size``, ``tx-push``, ``rx-push``, ``tx-push-buf-len``, ``tx-push-buf-len-max``] .. _ethtool-operation-rings-set: rings-set ========= Set ring params. :attribute-set: :ref:`ethtool-attribute-set-rings` :do: **request** :attributes: [``header``, ``rx-max``, ``rx-mini-max``, ``rx-jumbo-max``, ``tx-max``, ``rx``, ``rx-mini``, ``rx-jumbo``, ``tx``, ``rx-buf-len``, ``tcp-data-split``, ``cqe-size``, ``tx-push``, ``rx-push``, ``tx-push-buf-len``, ``tx-push-buf-len-max``] .. _ethtool-operation-rings-ntf: rings-ntf ========= Notification for change in ring params. :notify: rings-get .. _ethtool-operation-channels-get: channels-get ============ Get channel params. :attribute-set: :ref:`ethtool-attribute-set-channels` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``rx-max``, ``tx-max``, ``other-max``, ``combined-max``, ``rx-count``, ``tx-count``, ``other-count``, ``combined-count``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``rx-max``, ``tx-max``, ``other-max``, ``combined-max``, ``rx-count``, ``tx-count``, ``other-count``, ``combined-count``] .. _ethtool-operation-channels-set: channels-set ============ Set channel params. :attribute-set: :ref:`ethtool-attribute-set-channels` :do: **request** :attributes: [``header``, ``rx-max``, ``tx-max``, ``other-max``, ``combined-max``, ``rx-count``, ``tx-count``, ``other-count``, ``combined-count``] .. _ethtool-operation-channels-ntf: channels-ntf ============ Notification for change in channel params. :notify: channels-get .. _ethtool-operation-coalesce-get: coalesce-get ============ Get coalesce params. :attribute-set: :ref:`ethtool-attribute-set-coalesce` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``rx-usecs``, ``rx-max-frames``, ``rx-usecs-irq``, ``rx-max-frames-irq``, ``tx-usecs``, ``tx-max-frames``, ``tx-usecs-irq``, ``tx-max-frames-irq``, ``stats-block-usecs``, ``use-adaptive-rx``, ``use-adaptive-tx``, ``pkt-rate-low``, ``rx-usecs-low``, ``rx-max-frames-low``, ``tx-usecs-low``, ``tx-max-frames-low``, ``pkt-rate-high``, ``rx-usecs-high``, ``rx-max-frames-high``, ``tx-usecs-high``, ``tx-max-frames-high``, ``rate-sample-interval``, ``use-cqe-mode-tx``, ``use-cqe-mode-rx``, ``tx-aggr-max-bytes``, ``tx-aggr-max-frames``, ``tx-aggr-time-usecs``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``rx-usecs``, ``rx-max-frames``, ``rx-usecs-irq``, ``rx-max-frames-irq``, ``tx-usecs``, ``tx-max-frames``, ``tx-usecs-irq``, ``tx-max-frames-irq``, ``stats-block-usecs``, ``use-adaptive-rx``, ``use-adaptive-tx``, ``pkt-rate-low``, ``rx-usecs-low``, ``rx-max-frames-low``, ``tx-usecs-low``, ``tx-max-frames-low``, ``pkt-rate-high``, ``rx-usecs-high``, ``rx-max-frames-high``, ``tx-usecs-high``, ``tx-max-frames-high``, ``rate-sample-interval``, ``use-cqe-mode-tx``, ``use-cqe-mode-rx``, ``tx-aggr-max-bytes``, ``tx-aggr-max-frames``, ``tx-aggr-time-usecs``] .. _ethtool-operation-coalesce-set: coalesce-set ============ Set coalesce params. :attribute-set: :ref:`ethtool-attribute-set-coalesce` :do: **request** :attributes: [``header``, ``rx-usecs``, ``rx-max-frames``, ``rx-usecs-irq``, ``rx-max-frames-irq``, ``tx-usecs``, ``tx-max-frames``, ``tx-usecs-irq``, ``tx-max-frames-irq``, ``stats-block-usecs``, ``use-adaptive-rx``, ``use-adaptive-tx``, ``pkt-rate-low``, ``rx-usecs-low``, ``rx-max-frames-low``, ``tx-usecs-low``, ``tx-max-frames-low``, ``pkt-rate-high``, ``rx-usecs-high``, ``rx-max-frames-high``, ``tx-usecs-high``, ``tx-max-frames-high``, ``rate-sample-interval``, ``use-cqe-mode-tx``, ``use-cqe-mode-rx``, ``tx-aggr-max-bytes``, ``tx-aggr-max-frames``, ``tx-aggr-time-usecs``] .. _ethtool-operation-coalesce-ntf: coalesce-ntf ============ Notification for change in coalesce params. :notify: coalesce-get .. _ethtool-operation-pause-get: pause-get ========= Get pause params. :attribute-set: :ref:`ethtool-attribute-set-pause` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``autoneg``, ``rx``, ``tx``, ``stats``, ``stats-src``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``autoneg``, ``rx``, ``tx``, ``stats``, ``stats-src``] .. _ethtool-operation-pause-set: pause-set ========= Set pause params. :attribute-set: :ref:`ethtool-attribute-set-pause` :do: **request** :attributes: [``header``, ``autoneg``, ``rx``, ``tx``, ``stats``, ``stats-src``] .. _ethtool-operation-pause-ntf: pause-ntf ========= Notification for change in pause params. :notify: pause-get .. _ethtool-operation-eee-get: eee-get ======= Get eee params. :attribute-set: :ref:`ethtool-attribute-set-eee` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``modes-ours``, ``modes-peer``, ``active``, ``enabled``, ``tx-lpi-enabled``, ``tx-lpi-timer``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``modes-ours``, ``modes-peer``, ``active``, ``enabled``, ``tx-lpi-enabled``, ``tx-lpi-timer``] .. _ethtool-operation-eee-set: eee-set ======= Set eee params. :attribute-set: :ref:`ethtool-attribute-set-eee` :do: **request** :attributes: [``header``, ``modes-ours``, ``modes-peer``, ``active``, ``enabled``, ``tx-lpi-enabled``, ``tx-lpi-timer``] .. _ethtool-operation-eee-ntf: eee-ntf ======= Notification for change in eee params. :notify: eee-get .. _ethtool-operation-tsinfo-get: tsinfo-get ========== Get tsinfo params. :attribute-set: :ref:`ethtool-attribute-set-tsinfo` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``timestamping``, ``tx-types``, ``rx-filters``, ``phc-index``, ``stats``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``timestamping``, ``tx-types``, ``rx-filters``, ``phc-index``, ``stats``] .. _ethtool-operation-cable-test-act: cable-test-act ============== Cable test. :attribute-set: :ref:`ethtool-attribute-set-cable-test` :do: **request** :attributes: [``header``] .. _ethtool-operation-cable-test-ntf: cable-test-ntf ============== Cable test notification. :attribute-set: :ref:`ethtool-attribute-set-cable-test-ntf` :event: {'attributes': ['header', 'status']} .. _ethtool-operation-cable-test-tdr-act: cable-test-tdr-act ================== Cable test TDR. :attribute-set: :ref:`ethtool-attribute-set-cable-test-tdr` :do: **request** :attributes: [``header``] .. _ethtool-operation-cable-test-tdr-ntf: cable-test-tdr-ntf ================== Cable test TDR notification. :attribute-set: :ref:`ethtool-attribute-set-cable-test-tdr-ntf` :event: {'attributes': ['header', 'status', 'nest']} .. _ethtool-operation-tunnel-info-get: tunnel-info-get =============== Get tsinfo params. :attribute-set: :ref:`ethtool-attribute-set-tunnel-info` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``udp-ports``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``udp-ports``] .. _ethtool-operation-fec-get: fec-get ======= Get FEC params. :attribute-set: :ref:`ethtool-attribute-set-fec` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``modes``, ``auto``, ``active``, ``stats``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``modes``, ``auto``, ``active``, ``stats``] .. _ethtool-operation-fec-set: fec-set ======= Set FEC params. :attribute-set: :ref:`ethtool-attribute-set-fec` :do: **request** :attributes: [``header``, ``modes``, ``auto``, ``active``, ``stats``] .. _ethtool-operation-fec-ntf: fec-ntf ======= Notification for change in FEC params. :notify: fec-get .. _ethtool-operation-module-eeprom-get: module-eeprom-get ================= Get module EEPROM params. :attribute-set: :ref:`ethtool-attribute-set-module-eeprom` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``offset``, ``length``, ``page``, ``bank``, ``i2c-address``, ``data``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``offset``, ``length``, ``page``, ``bank``, ``i2c-address``, ``data``] .. _ethtool-operation-stats-get: stats-get ========= Get statistics. :attribute-set: :ref:`ethtool-attribute-set-stats` :do: **request** :attributes: [``header``, ``groups``] **reply** :attributes: [``header``, ``groups``, ``grp``, ``src``] :dump: **request** :attributes: [``header``, ``groups``] **reply** :attributes: [``header``, ``groups``, ``grp``, ``src``] .. _ethtool-operation-phc-vclocks-get: phc-vclocks-get =============== Get PHC VCLOCKs. :attribute-set: :ref:`ethtool-attribute-set-phc-vclocks` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``num``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``num``] .. _ethtool-operation-module-get: module-get ========== Get module params. :attribute-set: :ref:`ethtool-attribute-set-module` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``power-mode-policy``, ``power-mode``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``power-mode-policy``, ``power-mode``] .. _ethtool-operation-module-set: module-set ========== Set module params. :attribute-set: :ref:`ethtool-attribute-set-module` :do: **request** :attributes: [``header``, ``power-mode-policy``, ``power-mode``] .. _ethtool-operation-module-ntf: module-ntf ========== Notification for change in module params. :notify: module-get .. _ethtool-operation-pse-get: pse-get ======= Get Power Sourcing Equipment params. :attribute-set: :ref:`ethtool-attribute-set-pse` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``podl-pse-admin-state``, ``podl-pse-admin-control``, ``podl-pse-pw-d-status``, ``c33-pse-admin-state``, ``c33-pse-admin-control``, ``c33-pse-pw-d-status``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``podl-pse-admin-state``, ``podl-pse-admin-control``, ``podl-pse-pw-d-status``, ``c33-pse-admin-state``, ``c33-pse-admin-control``, ``c33-pse-pw-d-status``] .. _ethtool-operation-pse-set: pse-set ======= Set Power Sourcing Equipment params. :attribute-set: :ref:`ethtool-attribute-set-pse` :do: **request** :attributes: [``header``, ``podl-pse-admin-state``, ``podl-pse-admin-control``, ``podl-pse-pw-d-status``, ``c33-pse-admin-state``, ``c33-pse-admin-control``, ``c33-pse-pw-d-status``] .. _ethtool-operation-rss-get: rss-get ======= Get RSS params. :attribute-set: :ref:`ethtool-attribute-set-rss` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``context``, ``hfunc``, ``indir``, ``hkey``, ``input_xfrm``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``context``, ``hfunc``, ``indir``, ``hkey``, ``input_xfrm``] .. _ethtool-operation-plca-get-cfg: plca-get-cfg ============ Get PLCA params. :attribute-set: :ref:`ethtool-attribute-set-plca` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``version``, ``enabled``, ``status``, ``node-cnt``, ``node-id``, ``to-tmr``, ``burst-cnt``, ``burst-tmr``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``version``, ``enabled``, ``status``, ``node-cnt``, ``node-id``, ``to-tmr``, ``burst-cnt``, ``burst-tmr``] .. _ethtool-operation-plca-set-cfg: plca-set-cfg ============ Set PLCA params. :attribute-set: :ref:`ethtool-attribute-set-plca` :do: **request** :attributes: [``header``, ``version``, ``enabled``, ``status``, ``node-cnt``, ``node-id``, ``to-tmr``, ``burst-cnt``, ``burst-tmr``] .. _ethtool-operation-plca-get-status: plca-get-status =============== Get PLCA status params. :attribute-set: :ref:`ethtool-attribute-set-plca` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``version``, ``enabled``, ``status``, ``node-cnt``, ``node-id``, ``to-tmr``, ``burst-cnt``, ``burst-tmr``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``version``, ``enabled``, ``status``, ``node-cnt``, ``node-id``, ``to-tmr``, ``burst-cnt``, ``burst-tmr``] .. _ethtool-operation-plca-ntf: plca-ntf ======== Notification for change in PLCA params. :notify: plca-get-cfg .. _ethtool-operation-mm-get: mm-get ====== Get MAC Merge configuration and state :attribute-set: :ref:`ethtool-attribute-set-mm` :do: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``pmac-enabled``, ``tx-enabled``, ``tx-active``, ``tx-min-frag-size``, ``rx-min-frag-size``, ``verify-enabled``, ``verify-time``, ``max-verify-time``, ``stats``] :dump: **request** :attributes: [``header``] **reply** :attributes: [``header``, ``pmac-enabled``, ``tx-enabled``, ``tx-active``, ``tx-min-frag-size``, ``rx-min-frag-size``, ``verify-enabled``, ``verify-time``, ``max-verify-time``, ``stats``] .. _ethtool-operation-mm-set: mm-set ====== Set MAC Merge configuration :attribute-set: :ref:`ethtool-attribute-set-mm` :do: **request** :attributes: [``header``, ``verify-enabled``, ``verify-time``, ``tx-enabled``, ``pmac-enabled``, ``tx-min-frag-size``] .. _ethtool-operation-mm-ntf: mm-ntf ====== Notification for change in MAC Merge configuration. :notify: mm-get ----------- Definitions ----------- .. _ethtool-definition-udp-tunnel-type: udp-tunnel-type =============== :enum-name: None :type: enum :entries: - ``vxlan`` - ``geneve`` - ``vxlan-gpe`` .. _ethtool-definition-stringset: stringset ========= :type: enum :entries: .. _ethtool-definition-header-flags: header-flags ============ :type: flags :entries: - ``compact-bitsets`` - ``omit-reply`` - ``stats`` -------------- Attribute sets -------------- .. _ethtool-attribute-set-header: header ====== dev-index (``u32``) ~~~~~~~~~~~~~~~~~~~ dev-name (``string``) ~~~~~~~~~~~~~~~~~~~~~ flags (``u32``) ~~~~~~~~~~~~~~~ :enum: :ref:`ethtool-definition-header-flags` .. _ethtool-attribute-set-bitset-bit: bitset-bit ========== index (``u32``) ~~~~~~~~~~~~~~~ name (``string``) ~~~~~~~~~~~~~~~~~ value (``flag``) ~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-bitset-bits: bitset-bits =========== bit (``nest``) ~~~~~~~~~~~~~~ :multi-attr: True :nested-attributes: :ref:`ethtool-attribute-set-bitset-bit` .. _ethtool-attribute-set-bitset: bitset ====== nomask (``flag``) ~~~~~~~~~~~~~~~~~ size (``u32``) ~~~~~~~~~~~~~~ bits (``nest``) ~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-bitset-bits` .. _ethtool-attribute-set-string: string ====== index (``u32``) ~~~~~~~~~~~~~~~ value (``string``) ~~~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-strings: strings ======= string (``nest``) ~~~~~~~~~~~~~~~~~ :multi-attr: True :nested-attributes: :ref:`ethtool-attribute-set-string` .. _ethtool-attribute-set-stringset: stringset ========= id (``u32``) ~~~~~~~~~~~~ count (``u32``) ~~~~~~~~~~~~~~~ strings (``nest``) ~~~~~~~~~~~~~~~~~~ :multi-attr: True :nested-attributes: :ref:`ethtool-attribute-set-strings` .. _ethtool-attribute-set-stringsets: stringsets ========== stringset (``nest``) ~~~~~~~~~~~~~~~~~~~~ :multi-attr: True :nested-attributes: :ref:`ethtool-attribute-set-stringset` .. _ethtool-attribute-set-strset: strset ====== header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` stringsets (``nest``) ~~~~~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-stringsets` counts-only (``flag``) ~~~~~~~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-privflags: privflags ========= header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` flags (``nest``) ~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-bitset` .. _ethtool-attribute-set-rings: rings ===== header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` rx-max (``u32``) ~~~~~~~~~~~~~~~~ rx-mini-max (``u32``) ~~~~~~~~~~~~~~~~~~~~~ rx-jumbo-max (``u32``) ~~~~~~~~~~~~~~~~~~~~~~ tx-max (``u32``) ~~~~~~~~~~~~~~~~ rx (``u32``) ~~~~~~~~~~~~ rx-mini (``u32``) ~~~~~~~~~~~~~~~~~ rx-jumbo (``u32``) ~~~~~~~~~~~~~~~~~~ tx (``u32``) ~~~~~~~~~~~~ rx-buf-len (``u32``) ~~~~~~~~~~~~~~~~~~~~ tcp-data-split (``u8``) ~~~~~~~~~~~~~~~~~~~~~~~ cqe-size (``u32``) ~~~~~~~~~~~~~~~~~~ tx-push (``u8``) ~~~~~~~~~~~~~~~~ rx-push (``u8``) ~~~~~~~~~~~~~~~~ tx-push-buf-len (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~ tx-push-buf-len-max (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-mm-stat: mm-stat ======= pad (``pad``) ~~~~~~~~~~~~~ reassembly-errors (``u64``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ smd-errors (``u64``) ~~~~~~~~~~~~~~~~~~~~ reassembly-ok (``u64``) ~~~~~~~~~~~~~~~~~~~~~~~ rx-frag-count (``u64``) ~~~~~~~~~~~~~~~~~~~~~~~ tx-frag-count (``u64``) ~~~~~~~~~~~~~~~~~~~~~~~ hold-count (``u64``) ~~~~~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-mm: mm == header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` pmac-enabled (``u8``) ~~~~~~~~~~~~~~~~~~~~~ tx-enabled (``u8``) ~~~~~~~~~~~~~~~~~~~ tx-active (``u8``) ~~~~~~~~~~~~~~~~~~ tx-min-frag-size (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~ rx-min-frag-size (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~ verify-enabled (``u8``) ~~~~~~~~~~~~~~~~~~~~~~~ verify-status (``u8``) ~~~~~~~~~~~~~~~~~~~~~~ verify-time (``u32``) ~~~~~~~~~~~~~~~~~~~~~ max-verify-time (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~ stats (``nest``) ~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-mm-stat` .. _ethtool-attribute-set-linkinfo: linkinfo ======== header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` port (``u8``) ~~~~~~~~~~~~~ phyaddr (``u8``) ~~~~~~~~~~~~~~~~ tp-mdix (``u8``) ~~~~~~~~~~~~~~~~ tp-mdix-ctrl (``u8``) ~~~~~~~~~~~~~~~~~~~~~ transceiver (``u8``) ~~~~~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-linkmodes: linkmodes ========= header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` autoneg (``u8``) ~~~~~~~~~~~~~~~~ ours (``nest``) ~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-bitset` peer (``nest``) ~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-bitset` speed (``u32``) ~~~~~~~~~~~~~~~ duplex (``u8``) ~~~~~~~~~~~~~~~ master-slave-cfg (``u8``) ~~~~~~~~~~~~~~~~~~~~~~~~~ master-slave-state (``u8``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ lanes (``u32``) ~~~~~~~~~~~~~~~ rate-matching (``u8``) ~~~~~~~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-linkstate: linkstate ========= header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` link (``u8``) ~~~~~~~~~~~~~ sqi (``u32``) ~~~~~~~~~~~~~ sqi-max (``u32``) ~~~~~~~~~~~~~~~~~ ext-state (``u8``) ~~~~~~~~~~~~~~~~~~ ext-substate (``u8``) ~~~~~~~~~~~~~~~~~~~~~ ext-down-cnt (``u32``) ~~~~~~~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-debug: debug ===== header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` msgmask (``nest``) ~~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-bitset` .. _ethtool-attribute-set-wol: wol === header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` modes (``nest``) ~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-bitset` sopass (``binary``) ~~~~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-features: features ======== header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` hw (``nest``) ~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-bitset` wanted (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-bitset` active (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-bitset` nochange (``nest``) ~~~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-bitset` .. _ethtool-attribute-set-channels: channels ======== header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` rx-max (``u32``) ~~~~~~~~~~~~~~~~ tx-max (``u32``) ~~~~~~~~~~~~~~~~ other-max (``u32``) ~~~~~~~~~~~~~~~~~~~ combined-max (``u32``) ~~~~~~~~~~~~~~~~~~~~~~ rx-count (``u32``) ~~~~~~~~~~~~~~~~~~ tx-count (``u32``) ~~~~~~~~~~~~~~~~~~ other-count (``u32``) ~~~~~~~~~~~~~~~~~~~~~ combined-count (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-coalesce: coalesce ======== header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` rx-usecs (``u32``) ~~~~~~~~~~~~~~~~~~ rx-max-frames (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~ rx-usecs-irq (``u32``) ~~~~~~~~~~~~~~~~~~~~~~ rx-max-frames-irq (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ tx-usecs (``u32``) ~~~~~~~~~~~~~~~~~~ tx-max-frames (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~ tx-usecs-irq (``u32``) ~~~~~~~~~~~~~~~~~~~~~~ tx-max-frames-irq (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ stats-block-usecs (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ use-adaptive-rx (``u8``) ~~~~~~~~~~~~~~~~~~~~~~~~ use-adaptive-tx (``u8``) ~~~~~~~~~~~~~~~~~~~~~~~~ pkt-rate-low (``u32``) ~~~~~~~~~~~~~~~~~~~~~~ rx-usecs-low (``u32``) ~~~~~~~~~~~~~~~~~~~~~~ rx-max-frames-low (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ tx-usecs-low (``u32``) ~~~~~~~~~~~~~~~~~~~~~~ tx-max-frames-low (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ pkt-rate-high (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~ rx-usecs-high (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~ rx-max-frames-high (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tx-usecs-high (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~ tx-max-frames-high (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rate-sample-interval (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ use-cqe-mode-tx (``u8``) ~~~~~~~~~~~~~~~~~~~~~~~~ use-cqe-mode-rx (``u8``) ~~~~~~~~~~~~~~~~~~~~~~~~ tx-aggr-max-bytes (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~ tx-aggr-max-frames (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ tx-aggr-time-usecs (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-pause-stat: pause-stat ========== pad (``pad``) ~~~~~~~~~~~~~ tx-frames (``u64``) ~~~~~~~~~~~~~~~~~~~ rx-frames (``u64``) ~~~~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-pause: pause ===== header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` autoneg (``u8``) ~~~~~~~~~~~~~~~~ rx (``u8``) ~~~~~~~~~~~ tx (``u8``) ~~~~~~~~~~~ stats (``nest``) ~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-pause-stat` stats-src (``u32``) ~~~~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-eee: eee === header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` modes-ours (``nest``) ~~~~~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-bitset` modes-peer (``nest``) ~~~~~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-bitset` active (``u8``) ~~~~~~~~~~~~~~~ enabled (``u8``) ~~~~~~~~~~~~~~~~ tx-lpi-enabled (``u8``) ~~~~~~~~~~~~~~~~~~~~~~~ tx-lpi-timer (``u32``) ~~~~~~~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-ts-stat: ts-stat ======= tx-pkts (``uint``) ~~~~~~~~~~~~~~~~~~ tx-lost (``uint``) ~~~~~~~~~~~~~~~~~~ tx-err (``uint``) ~~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-tsinfo: tsinfo ====== header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` timestamping (``nest``) ~~~~~~~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-bitset` tx-types (``nest``) ~~~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-bitset` rx-filters (``nest``) ~~~~~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-bitset` phc-index (``u32``) ~~~~~~~~~~~~~~~~~~~ stats (``nest``) ~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-ts-stat` .. _ethtool-attribute-set-cable-result: cable-result ============ pair (``u8``) ~~~~~~~~~~~~~ code (``u8``) ~~~~~~~~~~~~~ .. _ethtool-attribute-set-cable-fault-length: cable-fault-length ================== pair (``u8``) ~~~~~~~~~~~~~ cm (``u32``) ~~~~~~~~~~~~ .. _ethtool-attribute-set-cable-nest: cable-nest ========== result (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-cable-result` fault-length (``nest``) ~~~~~~~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-cable-fault-length` .. _ethtool-attribute-set-cable-test: cable-test ========== header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` .. _ethtool-attribute-set-cable-test-ntf: cable-test-ntf ============== header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` status (``u8``) ~~~~~~~~~~~~~~~ nest (``nest``) ~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-cable-nest` .. _ethtool-attribute-set-cable-test-tdr-cfg: cable-test-tdr-cfg ================== first (``u32``) ~~~~~~~~~~~~~~~ last (``u32``) ~~~~~~~~~~~~~~ step (``u32``) ~~~~~~~~~~~~~~ pair (``u8``) ~~~~~~~~~~~~~ .. _ethtool-attribute-set-cable-test-tdr-ntf: cable-test-tdr-ntf ================== header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` status (``u8``) ~~~~~~~~~~~~~~~ nest (``nest``) ~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-cable-nest` .. _ethtool-attribute-set-cable-test-tdr: cable-test-tdr ============== header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` cfg (``nest``) ~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-cable-test-tdr-cfg` .. _ethtool-attribute-set-tunnel-udp-entry: tunnel-udp-entry ================ port (``u16``) ~~~~~~~~~~~~~~ :byte-order: big-endian type (``u32``) ~~~~~~~~~~~~~~ :enum: :ref:`ethtool-definition-udp-tunnel-type` .. _ethtool-attribute-set-tunnel-udp-table: tunnel-udp-table ================ size (``u32``) ~~~~~~~~~~~~~~ types (``nest``) ~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-bitset` entry (``nest``) ~~~~~~~~~~~~~~~~ :multi-attr: True :nested-attributes: :ref:`ethtool-attribute-set-tunnel-udp-entry` .. _ethtool-attribute-set-tunnel-udp: tunnel-udp ========== table (``nest``) ~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-tunnel-udp-table` .. _ethtool-attribute-set-tunnel-info: tunnel-info =========== header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` udp-ports (``nest``) ~~~~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-tunnel-udp` .. _ethtool-attribute-set-fec-stat: fec-stat ======== pad (``pad``) ~~~~~~~~~~~~~ corrected (``binary``) ~~~~~~~~~~~~~~~~~~~~~~ :sub-type: u64 uncorr (``binary``) ~~~~~~~~~~~~~~~~~~~ :sub-type: u64 corr-bits (``binary``) ~~~~~~~~~~~~~~~~~~~~~~ :sub-type: u64 .. _ethtool-attribute-set-fec: fec === header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` modes (``nest``) ~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-bitset` auto (``u8``) ~~~~~~~~~~~~~ active (``u32``) ~~~~~~~~~~~~~~~~ stats (``nest``) ~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-fec-stat` .. _ethtool-attribute-set-module-eeprom: module-eeprom ============= header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` offset (``u32``) ~~~~~~~~~~~~~~~~ length (``u32``) ~~~~~~~~~~~~~~~~ page (``u8``) ~~~~~~~~~~~~~ bank (``u8``) ~~~~~~~~~~~~~ i2c-address (``u8``) ~~~~~~~~~~~~~~~~~~~~ data (``binary``) ~~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-stats-grp: stats-grp ========= pad (``pad``) ~~~~~~~~~~~~~ id (``u32``) ~~~~~~~~~~~~ ss-id (``u32``) ~~~~~~~~~~~~~~~ stat (``u64``) ~~~~~~~~~~~~~~ :type-value: ['id'] hist-rx (``nest``) ~~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-stats-grp-hist` hist-tx (``nest``) ~~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-stats-grp-hist` hist-bkt-low (``u32``) ~~~~~~~~~~~~~~~~~~~~~~ hist-bkt-hi (``u32``) ~~~~~~~~~~~~~~~~~~~~~ hist-val (``u64``) ~~~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-stats-grp-hist: stats-grp-hist ============== hist-bkt-low ~~~~~~~~~~~~ hist-bkt-hi ~~~~~~~~~~~ hist-val ~~~~~~~~ .. _ethtool-attribute-set-stats: stats ===== pad (``pad``) ~~~~~~~~~~~~~ header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` groups (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-bitset` grp (``nest``) ~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-stats-grp` src (``u32``) ~~~~~~~~~~~~~ .. _ethtool-attribute-set-phc-vclocks: phc-vclocks =========== header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` num (``u32``) ~~~~~~~~~~~~~ index (``binary``) ~~~~~~~~~~~~~~~~~~ :sub-type: s32 .. _ethtool-attribute-set-module: module ====== header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` power-mode-policy (``u8``) ~~~~~~~~~~~~~~~~~~~~~~~~~~ power-mode (``u8``) ~~~~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-pse: pse === header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` podl-pse-admin-state (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :name-prefix: ethtool-a- podl-pse-admin-control (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :name-prefix: ethtool-a- podl-pse-pw-d-status (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :name-prefix: ethtool-a- c33-pse-admin-state (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :name-prefix: ethtool-a- c33-pse-admin-control (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :name-prefix: ethtool-a- c33-pse-pw-d-status (``u32``) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :name-prefix: ethtool-a- .. _ethtool-attribute-set-rss: rss === header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` context (``u32``) ~~~~~~~~~~~~~~~~~ hfunc (``u32``) ~~~~~~~~~~~~~~~ indir (``binary``) ~~~~~~~~~~~~~~~~~~ hkey (``binary``) ~~~~~~~~~~~~~~~~~ input_xfrm (``u32``) ~~~~~~~~~~~~~~~~~~~~ .. _ethtool-attribute-set-plca: plca ==== header (``nest``) ~~~~~~~~~~~~~~~~~ :nested-attributes: :ref:`ethtool-attribute-set-header` version (``u16``) ~~~~~~~~~~~~~~~~~ enabled (``u8``) ~~~~~~~~~~~~~~~~ status (``u8``) ~~~~~~~~~~~~~~~ node-cnt (``u32``) ~~~~~~~~~~~~~~~~~~ node-id (``u32``) ~~~~~~~~~~~~~~~~~ to-tmr (``u32``) ~~~~~~~~~~~~~~~~ burst-cnt (``u32``) ~~~~~~~~~~~~~~~~~~~ burst-tmr (``u32``) ~~~~~~~~~~~~~~~~~~~