Family ethtool netlink specification¶
Contents
Operations¶
strset-get¶
Get string set from the kernel.
- attribute-set
- 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
- 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
- do
- request
- attributes
[
header,port,phyaddr,tp-mdix,tp-mdix-ctrl,transceiver]
linkmodes-get¶
Get link modes.
- attribute-set
- 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
- do
- request
- attributes
[
header,autoneg,ours,peer,speed,duplex,master-slave-cfg,master-slave-state,lanes,rate-matching]
linkstate-get¶
Get link state.
- attribute-set
- 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
- do
- request
- attributes
[
header]
- reply
- attributes
[
header,msgmask]
- dump
- request
- attributes
[
header]
- reply
- attributes
[
header,msgmask]
wol-get¶
Get WOL params.
- attribute-set
- do
- request
- attributes
[
header]
- reply
- attributes
[
header,modes,sopass]
- dump
- request
- attributes
[
header]
- reply
- attributes
[
header,modes,sopass]
features-get¶
Get features.
- attribute-set
- 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
- do
- request
- attributes
[
header,hw,wanted,active,nochange]
- reply
- attributes
[
header,hw,wanted,active,nochange]
privflags-get¶
Get device private flags.
- attribute-set
- do
- request
- attributes
[
header]
- reply
- attributes
[
header,flags]
- dump
- request
- attributes
[
header]
- reply
- attributes
[
header,flags]
rings-get¶
Get ring params.
- attribute-set
- 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,hds-thresh,hds-thresh-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,hds-thresh,hds-thresh-max]
rings-set¶
Set ring params.
- attribute-set
- 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,hds-thresh,hds-thresh-max]
channels-get¶
Get channel params.
- attribute-set
- 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
- do
- request
- attributes
[
header,rx-max,tx-max,other-max,combined-max,rx-count,tx-count,other-count,combined-count]
coalesce-get¶
Get coalesce params.
- attribute-set
- 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,rx-profile,tx-profile]
- 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,rx-profile,tx-profile]
coalesce-set¶
Set coalesce params.
- attribute-set
- 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,rx-profile,tx-profile]
pause-get¶
Get pause params.
- attribute-set
- 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
- do
- request
- attributes
[
header,autoneg,rx,tx,stats,stats-src]
eee-get¶
Get eee params.
- attribute-set
- 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
- do
- request
- attributes
[
header,modes-ours,modes-peer,active,enabled,tx-lpi-enabled,tx-lpi-timer]
tsinfo-get¶
Get tsinfo params.
- attribute-set
- do
- request
- attributes
[
header,hwtstamp-provider]
- reply
- attributes
[
header,timestamping,tx-types,rx-filters,phc-index,stats,hwtstamp-provider]
- dump
- request
- attributes
[
header,hwtstamp-provider]
- reply
- attributes
[
header,timestamping,tx-types,rx-filters,phc-index,stats,hwtstamp-provider]
cable-test-tdr-ntf¶
Cable test TDR notification.
- attribute-set
- event
{‘attributes’: [‘header’, ‘status’, ‘nest’]}
tunnel-info-get¶
Get tsinfo params.
- attribute-set
- 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
- do
- request
- attributes
[
header]
- reply
- attributes
[
header,modes,auto,active,stats]
- dump
- request
- attributes
[
header]
- reply
- attributes
[
header,modes,auto,active,stats]
module-eeprom-get¶
Get module EEPROM params.
- attribute-set
- 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
- 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
- do
- request
- attributes
[
header]
- reply
- attributes
[
header,num]
- dump
- request
- attributes
[
header]
- reply
- attributes
[
header,num]
module-get¶
Get module params.
- attribute-set
- 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
- do
- request
- attributes
[
header,power-mode-policy,power-mode]
pse-get¶
Get Power Sourcing Equipment params.
- attribute-set
- 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,c33-pse-pw-class,c33-pse-actual-pw,c33-pse-ext-state,c33-pse-ext-substate,c33-pse-avail-pw-limit,c33-pse-pw-limit-ranges]
- 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,c33-pse-pw-class,c33-pse-actual-pw,c33-pse-ext-state,c33-pse-ext-substate,c33-pse-avail-pw-limit,c33-pse-pw-limit-ranges]
pse-set¶
Set Power Sourcing Equipment params.
- attribute-set
- do
- request
- attributes
[
header,podl-pse-admin-control,c33-pse-admin-control,c33-pse-avail-pw-limit]
rss-get¶
Get RSS params.
- attribute-set
- do
- request
- attributes
[
header,context]
- reply
- attributes
[
header,context,hfunc,indir,hkey,input_xfrm]
- dump
- request
- attributes
[
header,start-context]
- reply
- attributes
[
header,context,hfunc,indir,hkey,input_xfrm]
plca-get-cfg¶
Get PLCA params.
- attribute-set
- 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
- 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
- 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]
mm-get¶
Get MAC Merge configuration and state
- attribute-set
- 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
- do
- request
- attributes
[
header,verify-enabled,verify-time,tx-enabled,pmac-enabled,tx-min-frag-size]
module-fw-flash-act¶
Flash transceiver module firmware.
- attribute-set
- do
- request
- attributes
[
header,file-name,password]
module-fw-flash-ntf¶
Notification for firmware flashing progress and status.
- attribute-set
- event
{‘attributes’: [‘header’, ‘status’, ‘status-msg’, ‘done’, ‘total’]}
phy-get¶
Get PHY devices attached to an interface
- attribute-set
- do
- request
- attributes
[
header]
- reply
- attributes
[
header,index,drvname,name,upstream-type,upstream-index,upstream-sfp-name,downstream-sfp-name]
- dump
- request
- attributes
[
header]
- reply
- attributes
[
header,index,drvname,name,upstream-type,upstream-index,upstream-sfp-name,downstream-sfp-name]
tsconfig-get¶
Get hwtstamp config.
- attribute-set
- do
- request
- attributes
[
header]
- reply
- attributes
[
header,hwtstamp-provider,tx-types,rx-filters,hwtstamp-flags]
- dump
- request
- attributes
[
header]
- reply
- attributes
[
header,hwtstamp-provider,tx-types,rx-filters,hwtstamp-flags]
tsconfig-set¶
Set hwtstamp config.
- attribute-set
- do
- request
- attributes
[
header,hwtstamp-provider,tx-types,rx-filters,hwtstamp-flags]
- reply
- attributes
[
header,hwtstamp-provider,tx-types,rx-filters,hwtstamp-flags]
Definitions¶
udp-tunnel-type¶
- enum-name
None
- type
enum
- enum-cnt-name
__ethtool-udp-tunnel-type-cnt
- entries
vxlangenevevxlan-gpe
header-flags¶
- type
flags
- name-prefix
ethtool-flag-
- doc
common ethtool header flags
- entries
- compact-bitsets
use compact bitsets in reply
- omit-reply
provide optional reply for SET or ACT requests
- stats
request statistics, if supported by the driver
module-fw-flash-status¶
- type
enum
- doc
plug-in module firmware flashing status
- header
linux/ethtool.h
- entries
- started
The firmware flashing process has started.
- in_progress
The firmware flashing process is in progress.
- completed
The firmware flashing process was completed successfully.
- error
The firmware flashing process was stopped due to an error.
c33-pse-ext-state¶
- doc
groups of PSE extended states functions. IEEE 802.3-2022 33.2.4.4 Variables
- type
enum
- name-prefix
ethtool-c33-pse-ext-state-
- header
linux/ethtool.h
- entries
- none
none
- error-condition
Group of error_condition states
- mr-mps-valid
Group of mr_mps_valid states
- mr-pse-enable
Group of mr_pse_enable states
- option-detect-ted
Group of option_detect_ted states
- option-vport-lim
Group of option_vport_lim states
- ovld-detected
Group of ovld_detected states
- power-not-available
Group of power_not_available states
- short-detected
Group of short_detected states
phy-upstream-type¶
- enum-name
phy-upstream
- header
linux/ethtool.h
- type
enum
- name-prefix
phy-upstream
- entries
macphy
tcp-data-split¶
- type
enum
- entries
unknowndisabledenabled
Attribute sets¶
header¶
unspec (unused)¶
- value
0
dev-index (u32)¶
dev-name (string)¶
flags (u32)¶
- enum
phy-index (u32)¶
bitset¶
unspec (unused)¶
- value
0
nomask (flag)¶
size (u32)¶
bits (nest)¶
- nested-attributes
value (binary)¶
mask (binary)¶
rings¶
unspec (unused)¶
- value
0
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)¶
- enum
cqe-size (u32)¶
tx-push (u8)¶
rx-push (u8)¶
tx-push-buf-len (u32)¶
tx-push-buf-len-max (u32)¶
hds-thresh (u32)¶
hds-thresh-max (u32)¶
mm-stat¶
unspec (unused)¶
- value
0
pad (pad)¶
reassembly-errors (u64)¶
- doc
aMACMergeFrameAssErrorCount
smd-errors (u64)¶
- doc
aMACMergeFrameSmdErrorCount
reassembly-ok (u64)¶
- doc
aMACMergeFrameAssOkCount
rx-frag-count (u64)¶
- doc
aMACMergeFragCountRx
tx-frag-count (u64)¶
- doc
aMACMergeFragCountTx
hold-count (u64)¶
- doc
aMACMergeHoldCount
mm¶
unspec (unused)¶
- value
0
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)¶
linkinfo¶
unspec (unused)¶
- value
0
port (u8)¶
phyaddr (u8)¶
tp-mdix (u8)¶
tp-mdix-ctrl (u8)¶
transceiver (u8)¶
linkmodes¶
unspec (unused)¶
- value
0
autoneg (u8)¶
speed (u32)¶
duplex (u8)¶
master-slave-cfg (u8)¶
master-slave-state (u8)¶
lanes (u32)¶
rate-matching (u8)¶
linkstate¶
unspec (unused)¶
- value
0
link (u8)¶
sqi (u32)¶
sqi-max (u32)¶
ext-state (u8)¶
ext-substate (u8)¶
ext-down-cnt (u32)¶
channels¶
unspec (unused)¶
- value
0
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¶
unspec (unused)¶
- value
0
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¶
unspec (unused)¶
- value
0
autoneg (u8)¶
rx (u8)¶
tx (u8)¶
stats (nest)¶
- nested-attributes
stats-src (u32)¶
ts-stat¶
unspec (unused)¶
- value
0
tx-pkts (uint)¶
tx-lost (uint)¶
tx-err (uint)¶
tx-onestep-pkts-unconfirmed (uint)¶
cable-result¶
unspec (unused)¶
- value
0
pair (u8)¶
- doc
ETHTOOL_A_CABLE_PAIR
code (u8)¶
- doc
ETHTOOL_A_CABLE_RESULT_CODE
src (u32)¶
- doc
ETHTOOL_A_CABLE_INF_SRC
cable-nest¶
unspec (unused)¶
- value
0
result (nest)¶
- nested-attributes
fault-length (nest)¶
- nested-attributes
cable-test-ntf¶
unspec (unused)¶
- value
0
status (u8)¶
- doc
_STARTED/_COMPLETE
nest (nest)¶
- nested-attributes
tunnel-udp-table¶
unspec (unused)¶
- value
0
size (u32)¶
entry (nest)¶
- multi-attr
True
- nested-attributes
fec-stat¶
unspec (unused)¶
- value
0
pad (pad)¶
corrected (binary)¶
- sub-type
u64
uncorr (binary)¶
- sub-type
u64
corr-bits (binary)¶
- sub-type
u64
module-eeprom¶
unspec (unused)¶
- value
0
offset (u32)¶
length (u32)¶
page (u8)¶
bank (u8)¶
i2c-address (u8)¶
data (binary)¶
stats-grp¶
unspec (unused)¶
- value
0
pad (pad)¶
id (u32)¶
ss-id (u32)¶
stat (u64)¶
- type-value
[‘id’]
hist-rx (nest)¶
- nested-attributes
hist-tx (nest)¶
- nested-attributes
hist-bkt-low (u32)¶
hist-bkt-hi (u32)¶
hist-val (u64)¶
pse¶
unspec (unused)¶
- value
0
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-
c33-pse-pw-class (u32)¶
- name-prefix
ethtool-a-
c33-pse-actual-pw (u32)¶
- name-prefix
ethtool-a-
c33-pse-ext-state (u32)¶
- name-prefix
ethtool-a-
- enum
c33-pse-ext-substate (u32)¶
- name-prefix
ethtool-a-
c33-pse-avail-pw-limit (u32)¶
- name-prefix
ethtool-a-
c33-pse-pw-limit-ranges (nest)¶
- name-prefix
ethtool-a-
- multi-attr
True
- nested-attributes
rss¶
unspec (unused)¶
- value
0
context (u32)¶
hfunc (u32)¶
indir (binary)¶
- sub-type
u32
hkey (binary)¶
input_xfrm (u32)¶
start-context (u32)¶
plca¶
unspec (unused)¶
- value
0
version (u16)¶
enabled (u8)¶
status (u8)¶
node-cnt (u32)¶
node-id (u32)¶
to-tmr (u32)¶
burst-cnt (u32)¶
burst-tmr (u32)¶
module-fw-flash¶
unspec (unused)¶
- value
0