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,hwtstamp-source,hwtstamp-phyindex]
- dump
- request
- attributes
[
header,hwtstamp-provider]
- reply
- attributes
[
header,timestamping,tx-types,rx-filters,phc-index,stats,hwtstamp-provider,hwtstamp-source,hwtstamp-phyindex]
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,offset,length,page,bank,i2c-address]
- reply
- attributes
[
header,data]
- dump
- request
- attributes
[
header,offset,length,page,bank,i2c-address]
- reply
- attributes
[
header,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
None
- type
enum
- entries
macphy
tcp-data-split¶
- type
enum
- entries
unknowndisabledenabled
hwtstamp-source¶
- doc
Source of the hardware timestamp
- enum-name
hwtstamp-source
- name-prefix
hwtstamp-source-
- type
enum
- entries
- netdev
Hardware timestamp comes from a MAC or a device which has MAC and PHY integrated
- phylib
Hardware timestamp comes from one PHY device of the network topology
input-xfrm¶
- doc
RSS hash function transformations.
- type
flags
- enum-name
None
- name-prefix
rxh-xfrm-
- header
linux/ethtool.h
- entries
- sym-xor
XOR the corresponding source and destination fields of each specified protocol. Both copies of the XOR’ed fields are fed into the RSS and RXHASH calculation. Note that this XORing reduces the input set entropy and could be exploited to reduce the RSS queue spread.
- sym-or-xor
Similar to SYM_XOR, except that one copy of the XOR’ed fields is replaced by an OR of the same fields.
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)¶
tsinfo¶
unspec (unused)¶
- value
0
phc-index (u32)¶
hwtstamp-provider (nest)¶
- nested-attributes
hwtstamp-source (u32)¶
- enum
hwtstamp-phyindex (u32)¶
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)¶
- enum
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