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