1ETHTOOL(8) System Manager's Manual ETHTOOL(8)
2
3
4
6 ethtool - query or control network driver and hardware settings
7
9 ethtool devname
10
11 ethtool -h|--help
12
13 ethtool --version
14
15 ethtool [--debug N] args
16
17 ethtool [--json] args
18
19 ethtool [-I | --include-statistics] args
20
21 ethtool --monitor [ command ] [ devname ]
22
23 ethtool -a|--show-pause devname
24
25 ethtool -A|--pause devname [autoneg on|off] [rx on|off] [tx on|off]
26
27 ethtool -c|--show-coalesce devname
28
29 ethtool -C|--coalesce devname [adaptive-rx on|off] [adaptive-tx on|off]
30 [rx-usecs N] [rx-frames N] [rx-usecs-irq N] [rx-frames-irq N]
31 [tx-usecs N] [tx-frames N] [tx-usecs-irq N] [tx-frames-irq N]
32 [stats-block-usecs N] [pkt-rate-low N] [rx-usecs-low N]
33 [rx-frames-low N] [tx-usecs-low N] [tx-frames-low N]
34 [pkt-rate-high N] [rx-usecs-high N] [rx-frames-high N]
35 [tx-usecs-high N] [tx-frames-high N] [sample-interval N]
36 [cqe-mode-rx on|off] [cqe-mode-tx on|off]
37
38 ethtool -g|--show-ring devname
39
40 ethtool -G|--set-ring devname [rx N] [rx-mini N] [rx-jumbo N] [tx N]
41 [rx-buf-len N] [cqe-size N] [tx-push N]
42
43 ethtool -i|--driver devname
44
45 ethtool -d|--register-dump devname [raw on|off] [hex on|off] [file
46 name]
47
48 ethtool -e|--eeprom-dump devname [raw on|off] [offset N] [length N]
49
50 ethtool -E|--change-eeprom devname [magic N] [offset N] [length N]
51 [value N]
52
53 ethtool -k|--show-features|--show-offload devname
54
55 ethtool -K|--features|--offload devname feature on|off ...
56
57 ethtool -p|--identify devname [N]
58
59 ethtool -P|--show-permaddr devname
60
61 ethtool -r|--negotiate devname
62
63 ethtool -S|--statistics devname [--all-groups|--groups [eth-phy]
64 [eth-mac] [eth-ctrl] [rmon] ]
65
66 ethtool --phy-statistics devname
67
68 ethtool -t|--test devname [offline|online|external_lb]
69
70 ethtool -s devname [speed N] [lanes N] [duplex half|full]
71 [port tp|aui|bnc|mii] [mdix auto|on|off] [autoneg on|off]
72 [advertise N[/M] | advertise mode on|off ...] [phyad N]
73 [xcvr internal|external] [wol N[/M] | wol p|u|m|b|a|g|s|f|d...]
74 [sopass xx:yy:zz:aa:bb:cc] [master-slave preferred-
75 master|preferred-slave|forced-master|forced-slave] [msglvl
76 N[/M] | msglvl type on|off ...]
77
78 ethtool -n|-u|--show-nfc|--show-ntuple devname
79 [ rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|tcp6|udp6|ah6|esp6|sctp6 |
80 rule N ]
81
82 ethtool -N|-U|--config-nfc|--config-ntuple devname
83 rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|tcp6|udp6|ah6|esp6|sctp6
84 m|v|t|s|d|f|n|r... |
85 flow-type
86 ether|ip4|tcp4|udp4|sctp4|ah4|esp4|ip6|tcp6|udp6|ah6|esp6|sctp6
87 [src xx:yy:zz:aa:bb:cc [m xx:yy:zz:aa:bb:cc]]
88 [dst xx:yy:zz:aa:bb:cc [m xx:yy:zz:aa:bb:cc]] [proto N [m N]]
89 [src-ip ip-address [m ip-address]] [dst-ip ip-address [m ip-
90 address]] [tos N [m N]] [tclass N [m N]] [l4proto N [m N]]
91 [src-port N [m N]] [dst-port N [m N]] [spi N [m N]]
92 [l4data N [m N]] [vlan-etype N [m N]] [vlan N [m N]]
93 [user-def N [m N]] [dst-
94 mac xx:yy:zz:aa:bb:cc [m xx:yy:zz:aa:bb:cc]] [action N]
95 [context N] [loc N] |
96 delete N
97
98 ethtool -w|--get-dump devname [data filename]
99
100 ethtool -W|--set-dump devname N
101
102 ethtool -T|--show-time-stamping devname
103
104 ethtool -x|--show-rxfh-indir|--show-rxfh devname
105
106 ethtool -X|--set-rxfh-indir|--rxfh devname [hkey xx:yy:zz:aa:bb:cc:...]
107 [start N] [ equal N | weight W0 W1 ... | default ] [hfunc FUNC]
108 [context CTX | new] [delete]
109
110 ethtool -f|--flash devname file [N]
111
112 ethtool -l|--show-channels devname
113
114 ethtool -L|--set-channels devname [rx N] [tx N] [other N] [combined N]
115
116 ethtool -m|--dump-module-eeprom|--module-info devname [raw on|off]
117 [hex on|off] [offset N] [length N] [page N] [bank N] [i2c N]
118
119 ethtool --show-priv-flags devname
120
121 ethtool --set-priv-flags devname flag on|off ...
122
123 ethtool --show-eee devname
124
125 ethtool --set-eee devname [eee on|off] [tx-lpi on|off] [tx-timer N]
126 [advertise N]
127
128 ethtool --set-phy-tunable devname [ downshift on|off [count N] ] [
129 fast-link-down on|off [msecs N] ] [ energy-detect-power-down
130 on|off [msecs N] ]
131
132 ethtool --get-phy-tunable devname [downshift] [fast-link-down] [energy-
133 detect-power-down]
134
135 ethtool --get-tunable devname [rx-copybreak] [tx-copybreak] [tx-buf-
136 size] [pfc-prevention-tout]
137
138 ethtool --set-tunable devname [rx-copybreak N] [tx-copybreak N]
139 [tx-buf-size N] [pfc-prevention-tout N]
140
141 ethtool --reset devname [flags N] [mgmt] [mgmt-shared] [irq] [irq-
142 shared] [dma] [dma-shared] [filter] [filter-shared] [offload]
143 [offload-shared] [mac] [mac-shared] [phy] [phy-shared] [ram]
144 [ram-shared] [ap] [ap-shared] [dedicated] [all]
145
146 ethtool --show-fec devname
147
148 ethtool --set-fec devname encoding auto|off|rs|baser|llrs [...]
149
150 ethtool -Q|--per-queue devname [queue_mask %x] sub_command ...
151 .
152
153 ethtool --cable-test devname
154
155 ethtool --cable-test-tdr devname [first N] [last N] [step N] [pair N]
156
157 ethtool --show-tunnels devname
158
159 ethtool --show-module devname
160
161 ethtool --set-module devname [power-mode-policy high|auto]
162
163
165 ethtool is used to query and control network device driver and hardware
166 settings, particularly for wired Ethernet devices.
167
168 devname is the name of the network device on which ethtool should oper‐
169 ate.
170
171
173 ethtool with a single argument specifying the device name prints cur‐
174 rent settings of the specified device.
175
176 -h --help
177 Shows a short help message.
178
179 --version
180 Shows the ethtool version number.
181
182 --debug N
183 Turns on debugging messages. Argument is interpreted as a mask:
184
185 0x01 Parser information
186
187 --json Output results in JavaScript Object Notation (JSON). Only a sub‐
188 set of options support this. Those which do not will continue to
189 output plain text in the presence of this option.
190
191 -I --include-statistics
192 Include command-related statistics in the output. This option
193 allows displaying relevant device statistics for selected get
194 commands.
195
196 -a --show-pause
197 Queries the specified Ethernet device for pause parameter infor‐
198 mation.
199
200 -A --pause
201 Changes the pause parameters of the specified Ethernet device.
202
203 autoneg on|off
204 Specifies whether pause autonegotiation should be enabled.
205
206 rx on|off
207 Specifies whether RX pause should be enabled.
208
209 tx on|off
210 Specifies whether TX pause should be enabled.
211
212 -c --show-coalesce
213 Queries the specified network device for coalescing information.
214
215 -C --coalesce
216 Changes the coalescing settings of the specified network device.
217
218 -g --show-ring
219 Queries the specified network device for rx/tx ring parameter
220 information.
221
222 -G --set-ring
223 Changes the rx/tx ring parameters of the specified network de‐
224 vice.
225
226 rx N Changes the number of ring entries for the Rx ring.
227
228 rx-mini N
229 Changes the number of ring entries for the Rx Mini ring.
230
231 rx-jumbo N
232 Changes the number of ring entries for the Rx Jumbo ring.
233
234 tx N Changes the number of ring entries for the Tx ring.
235
236 rx-buf-len N
237 Changes the size of a buffer in the Rx ring.
238
239 cqe-size N
240 Changes the size of completion queue event.
241
242 tx-push on|off
243 Specifies whether TX push should be enabled.
244
245 -i --driver
246 Queries the specified network device for associated driver in‐
247 formation.
248
249 -d --register-dump
250 Retrieves and prints a register dump for the specified network
251 device. The register format for some devices is known and de‐
252 coded others are printed in hex. When raw is enabled, then eth‐
253 tool dumps the raw register data to stdout. If file is speci‐
254 fied, then use contents of previous raw register dump, rather
255 than reading from the device.
256
257 -e --eeprom-dump
258 Retrieves and prints an EEPROM dump for the specified network
259 device. When raw is enabled, then it dumps the raw EEPROM data
260 to stdout. The length and offset parameters allow dumping cer‐
261 tain portions of the EEPROM. Default is to dump the entire EEP‐
262 ROM.
263
264 raw on|off
265
266 offset N
267
268 length N
269
270 -E --change-eeprom
271 If value is specified, changes EEPROM byte for the specified
272 network device. offset and value specify which byte and it's
273 new value. If value is not specified, stdin is read and written
274 to the EEPROM. The length and offset parameters allow writing to
275 certain portions of the EEPROM. Because of the persistent na‐
276 ture of writing to the EEPROM, a device-specific magic key must
277 be specified to prevent the accidental writing to the EEPROM.
278
279 -k --show-features --show-offload
280 Queries the specified network device for the state of protocol
281 offload and other features.
282
283 -K --features --offload
284 Changes the offload parameters and other features of the speci‐
285 fied network device. The following feature names are built-in
286 and others may be defined by the kernel.
287
288 rx on|off
289 Specifies whether RX checksumming should be enabled.
290
291 tx on|off
292 Specifies whether TX checksumming should be enabled.
293
294 sg on|off
295 Specifies whether scatter-gather should be enabled.
296
297 tso on|off
298 Specifies whether TCP segmentation offload should be en‐
299 abled.
300
301 ufo on|off
302 Specifies whether UDP fragmentation offload should be en‐
303 abled
304
305 gso on|off
306 Specifies whether generic segmentation offload should be en‐
307 abled
308
309 gro on|off
310 Specifies whether generic receive offload should be enabled
311
312 lro on|off
313 Specifies whether large receive offload should be enabled
314
315 rxvlan on|off
316 Specifies whether RX VLAN acceleration should be enabled
317
318 txvlan on|off
319 Specifies whether TX VLAN acceleration should be enabled
320
321 ntuple on|off
322 Specifies whether Rx ntuple filters and actions should be
323 enabled
324
325 rxhash on|off
326 Specifies whether receive hashing offload should be enabled
327
328 -p --identify
329 Initiates adapter-specific action intended to enable an operator
330 to easily identify the adapter by sight. Typically this in‐
331 volves blinking one or more LEDs on the specific network port.
332
333 [ N] Length of time to perform phys-id, in seconds.
334
335 -P --show-permaddr
336 Queries the specified network device for permanent hardware ad‐
337 dress.
338
339 -r --negotiate
340 Restarts auto-negotiation on the specified Ethernet device, if
341 auto-negotiation is enabled.
342
343 -S --statistics
344 Queries the specified network device for standard (IEEE, IETF,
345 etc.), or NIC- and driver-specific statistics. NIC- and driver-
346 specific statistics are requested when no group of statistics is
347 specified.
348
349 NIC- and driver-specific statistics and standard statistics are
350 independent, devices may implement either, both or none. There
351 is little commonality between naming of NIC- and driver-specific
352 statistics across vendors.
353
354 --all-groups
355
356 --groups [eth-phy] [eth-mac] [eth-ctrl] [rmon]
357 Request groups of standard device statistics.
358
359 --phy-statistics
360 Queries the specified network device for PHY specific statis‐
361 tics.
362
363 -t --test
364 Executes adapter selftest on the specified network device. Pos‐
365 sible test modes are:
366
367 offline
368 Perform full set of tests, possibly interrupting normal op‐
369 eration during the tests,
370
371 online Perform limited set of tests, not interrupting normal opera‐
372 tion,
373
374 external_lb
375 Perform full set of tests, as for offline, and additionally
376 an external-loopback test.
377
378 -s --change
379 Allows changing some or all settings of the specified network
380 device. All following options only apply if -s was specified.
381
382 speed N
383 Set speed in Mb/s. ethtool with just the device name as an
384 argument will show you the supported device speeds.
385
386 lanes N
387 Set number of lanes.
388
389 duplex half|full
390 Sets full or half duplex mode.
391
392 port tp|aui|bnc|mii
393 Selects device port.
394
395 master-slave preferred-master|preferred-slave|forced-master|forced-
396 slave
397 Configure MASTER/SLAVE role of the PHY. When the PHY is con‐
398 figured as MASTER, the PMA Transmit function shall source
399 TX_TCLK from a local clock source. When configured as SLAVE,
400 the PMA Transmit function shall source TX_TCLK from the
401 clock recovered from data stream provided by MASTER. Not all
402 devices support this.
403
404 preferred-master Prefer MASTER role on autonegotiation
405 preferred-slave Prefer SLAVE role on autonegotiation
406 forced-master Force the PHY in MASTER role. Can be used without autonegotiation
407 forced-slave Force the PHY in SLAVE role. Can be used without autonegotiation
408
409 mdix auto|on|off
410 Selects MDI-X mode for port. May be used to override the au‐
411 tomatic detection feature of most adapters. An argument of
412 auto means automatic detection of MDI status, on forces MDI-
413 X (crossover) mode, while off means MDI (straight through)
414 mode. The driver should guarantee that this command takes
415 effect immediately, and if necessary may reset the link to
416 cause the change to take effect.
417
418 autoneg on|off
419 Specifies whether autonegotiation should be enabled. Autone‐
420 gotiation is enabled by default, but in some network devices
421 may have trouble with it, so you can disable it if really
422 necessary.
423
424 advertise N
425 Sets the speed and duplex advertised by autonegotiation.
426 The argument is a hexadecimal value using one or a combina‐
427 tion of the following values:
428
429 0x001 10baseT Half
430 0x002 10baseT Full
431 0x100000000000000000000000 10baseT1L Full
432 0x004 100baseT Half
433 0x008 100baseT Full
434 0x80000000000000000 100baseT1 Full
435 0x40000000000000000000000 100baseFX Half
436 0x80000000000000000000000 100baseFX Full
437 0x010 1000baseT Half (not supported by IEEE standards)
438 0x020 1000baseT Full
439 0x20000 1000baseKX Full
440 0x20000000000 1000baseX Full
441 0x100000000000000000 1000baseT1 Full
442 0x8000 2500baseX Full (not supported by IEEE standards)
443 0x800000000000 2500baseT Full
444 0x1000000000000 5000baseT Full
445 0x1000 10000baseT Full
446 0x40000 10000baseKX4 Full
447 0x80000 10000baseKR Full
448 0x100000 10000baseR_FEC
449 0x40000000000 10000baseCR Full
450 0x80000000000 10000baseSR Full
451 0x100000000000 10000baseLR Full
452 0x200000000000 10000baseLRM Full
453 0x400000000000 10000baseER Full
454 0x200000 20000baseMLD2 Full (not supported by IEEE standards)
455 0x400000 20000baseKR2 Full (not supported by IEEE standards)
456 0x80000000 25000baseCR Full
457 0x100000000 25000baseKR Full
458 0x200000000 25000baseSR Full
459 0x800000 40000baseKR4 Full
460 0x1000000 40000baseCR4 Full
461 0x2000000 40000baseSR4 Full
462 0x4000000 40000baseLR4 Full
463 0x400000000 50000baseCR2 Full
464 0x800000000 50000baseKR2 Full
465 0x10000000000 50000baseSR2 Full
466 0x10000000000000 50000baseKR Full
467 0x20000000000000 50000baseSR Full
468 0x40000000000000 50000baseCR Full
469 0x80000000000000 50000baseLR_ER_FR Full
470 0x100000000000000 50000baseDR Full
471 0x8000000 56000baseKR4 Full
472 0x10000000 56000baseCR4 Full
473 0x20000000 56000baseSR4 Full
474 0x40000000 56000baseLR4 Full
475 0x1000000000 100000baseKR4 Full
476 0x2000000000 100000baseSR4 Full
477 0x4000000000 100000baseCR4 Full
478 0x8000000000 100000baseLR4_ER4 Full
479 0x200000000000000 100000baseKR2 Full
480 0x400000000000000 100000baseSR2 Full
481 0x800000000000000 100000baseCR2 Full
482 0x1000000000000000 100000baseLR2_ER2_FR2 Full
483 0x2000000000000000 100000baseDR2 Full
484 0x8000000000000000000 100000baseKR Full
485 0x10000000000000000000 100000baseSR Full
486 0x20000000000000000000 100000baseLR_ER_FR Full
487 0x40000000000000000000 100000baseCR Full
488 0x80000000000000000000 100000baseDR Full
489 0x4000000000000000 200000baseKR4 Full
490 0x8000000000000000 200000baseSR4 Full
491 0x10000000000000000 200000baseLR4_ER4_FR4 Full
492 0x20000000000000000 200000baseDR4 Full
493 0x40000000000000000 200000baseCR4 Full
494 0x100000000000000000000 200000baseKR2 Full
495 0x200000000000000000000 200000baseSR2 Full
496 0x400000000000000000000 200000baseLR2_ER2_FR2 Full
497 0x800000000000000000000 200000baseDR2 Full
498 0x1000000000000000000000 200000baseCR2 Full
499 0x200000000000000000 400000baseKR8 Full
500 0x400000000000000000 400000baseSR8 Full
501 0x800000000000000000 400000baseLR8_ER8_FR8 Full
502 0x1000000000000000000 400000baseDR8 Full
503 0x2000000000000000000 400000baseCR8 Full
504 0x2000000000000000000000 400000baseKR4 Full
505 0x4000000000000000000000 400000baseSR4 Full
506 0x8000000000000000000000 400000baseLR4_ER4_FR4 Full
507 0x10000000000000000000000 400000baseDR4 Full
508 0x20000000000000000000000 400000baseCR4 Full
509
510 phyad N
511 PHY address.
512
513 xcvr internal|external
514 Selects transceiver type. Currently only internal and exter‐
515 nal can be specified, in the future further types might be
516 added.
517
518 wol p|u|m|b|a|g|s|f|d...
519 Sets Wake-on-LAN options. Not all devices support this.
520 The argument to this option is a string of characters speci‐
521 fying which options to enable.
522
523 p Wake on PHY activity
524 u Wake on unicast messages
525 m Wake on multicast messages
526 b Wake on broadcast messages
527 a Wake on ARP
528 g Wake on MagicPacket™
529 s Enable SecureOn™ password for MagicPacket™
530 f Wake on filter(s)
531 d Disable (wake on nothing). This option
532 clears all previous options.
533
534 sopass xx:yy:zz:aa:bb:cc
535 Sets the SecureOn™ password. The argument to this option
536 must be 6 bytes in Ethernet MAC hex format
537 (xx:yy:zz:aa:bb:cc).
538
539 msglvl N
540 msglvl type on|off ...
541 Sets the driver message type flags by name or number. type
542 names the type of message to enable or disable; N specifies
543 the new flags numerically. The defined type names and num‐
544 bers are:
545
546 drv 0x0001 General driver status
547 probe 0x0002 Hardware probing
548 link 0x0004 Link state
549 timer 0x0008 Periodic status check
550 ifdown 0x0010 Interface being brought down
551 ifup 0x0020 Interface being brought up
552 rx_err 0x0040 Receive error
553 tx_err 0x0080 Transmit error
554 tx_queued 0x0100 Transmit queueing
555 intr 0x0200 Interrupt handling
556 tx_done 0x0400 Transmit completion
557 rx_status 0x0800 Receive completion
558 pktdata 0x1000 Packet contents
559 hw 0x2000 Hardware status
560 wol 0x4000 Wake-on-LAN status
561
562 The precise meanings of these type flags differ between
563 drivers.
564
565 -n -u --show-nfc --show-ntuple
566 Retrieves receive network flow classification options or rules.
567
568 rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|tcp6|udp6|ah6|esp6|sctp6
569 Retrieves the hash options for the specified flow type.
570
571 tcp4 TCP over IPv4
572 udp4 UDP over IPv4
573 ah4 IPSEC AH over IPv4
574 esp4 IPSEC ESP over IPv4
575 sctp4 SCTP over IPv4
576 tcp6 TCP over IPv6
577 udp6 UDP over IPv6
578 ah6 IPSEC AH over IPv6
579 esp6 IPSEC ESP over IPv6
580 sctp6 SCTP over IPv6
581
582 rule N Retrieves the RX classification rule with the given ID.
583
584 -N -U --config-nfc --config-ntuple
585 Configures receive network flow classification options or rules.
586
587 rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|tcp6|udp6|ah6|esp6|sctp6
588 m|v|t|s|d|f|n|r...
589 Configures the hash options for the specified flow type.
590
591 m Hash on the Layer 2 destination address of the rx packet.
592 v Hash on the VLAN tag of the rx packet.
593 t Hash on the Layer 3 protocol field of the rx packet.
594 s Hash on the IP source address of the rx packet.
595 d Hash on the IP destination address of the rx packet.
596 f Hash on bytes 0 and 1 of the Layer 4 header of the rx packet.
597 n Hash on bytes 2 and 3 of the Layer 4 header of the rx packet.
598 r Discard all packets of this flow type. When this option is
599 set, all other options are ignored.
600
601 flow-type
602 ether|ip4|tcp4|udp4|sctp4|ah4|esp4|ip6|tcp6|udp6|ah6|esp6|sctp6
603 Inserts or updates a classification rule for the specified
604 flow type.
605
606 ether Ethernet
607 ip4 Raw IPv4
608 tcp4 TCP over IPv4
609 udp4 UDP over IPv4
610 sctp4 SCTP over IPv4
611 ah4 IPSEC AH over IPv4
612 esp4 IPSEC ESP over IPv4
613 ip6 Raw IPv6
614 tcp6 TCP over IPv6
615 udp6 UDP over IPv6
616 sctp6 SCTP over IPv6
617 ah6 IPSEC AH over IPv6
618 esp6 IPSEC ESP over IPv6
619
620 For all fields that allow both a value and a mask to be specified,
621 the mask may be specified immediately after the value using the m
622 keyword, or separately using the field name keyword with -mask ap‐
623 pended, e.g. src-mask.
624
625 src xx:yy:zz:aa:bb:cc [m xx:yy:zz:aa:bb:cc]
626 Includes the source MAC address, specified as 6 bytes in
627 hexadecimal separated by colons, along with an optional
628 mask. Valid only for flow-type ether.
629
630 dst xx:yy:zz:aa:bb:cc [m xx:yy:zz:aa:bb:cc]
631 Includes the destination MAC address, specified as 6 bytes
632 in hexadecimal separated by colons, along with an optional
633 mask. Valid only for flow-type ether.
634
635 proto N [m N]
636 Includes the Ethernet protocol number (ethertype) and an op‐
637 tional mask. Valid only for flow-type ether.
638
639 src-ip ip-address [m ip-address]
640 Specify the source IP address of the incoming packet to
641 match along with an optional mask. Valid for all IP based
642 flow-types.
643
644 dst-ip ip-address [m ip-address]
645 Specify the destination IP address of the incoming packet to
646 match along with an optional mask. Valid for all IP based
647 flow-types.
648
649 tos N [m N]
650 Specify the value of the Type of Service field in the incom‐
651 ing packet to match along with an optional mask. Applies to
652 all IPv4 based flow-types.
653
654 tclass N [m N]
655 Specify the value of the Traffic Class field in the incoming
656 packet to match along with an optional mask. Applies to all
657 IPv6 based flow-types.
658
659 l4proto N [m N]
660 Includes the layer 4 protocol number and optional mask.
661 Valid only for flow-types ip4 and ip6.
662
663 src-port N [m N]
664 Specify the value of the source port field (applicable to
665 TCP/UDP packets) in the incoming packet to match along with
666 an optional mask. Valid for flow-types ip4, tcp4, udp4, and
667 sctp4 and their IPv6 equivalents.
668
669 dst-port N [m N]
670 Specify the value of the destination port field (applicable
671 to TCP/UDP packets)in the incoming packet to match along
672 with an optional mask. Valid for flow-types ip4, tcp4,
673 udp4, and sctp4 and their IPv6 equivalents.
674
675 spi N [m N]
676 Specify the value of the security parameter index field (ap‐
677 plicable to AH/ESP packets)in the incoming packet to match
678 along with an optional mask. Valid for flow-types ip4, ah4,
679 and esp4 and their IPv6 equivalents.
680
681 l4data N [m N]
682 Specify the value of the first 4 Bytes of Layer 4 in the in‐
683 coming packet to match along with an optional mask. Valid
684 for ip4 and ip6 flow-types.
685
686 vlan-etype N [m N]
687 Includes the VLAN tag Ethertype and an optional mask.
688
689 vlan N [m N]
690 Includes the VLAN tag and an optional mask.
691
692 user-def N [m N]
693 Includes 64-bits of user-specific data and an optional mask.
694
695 dst-mac xx:yy:zz:aa:bb:cc [m xx:yy:zz:aa:bb:cc]
696 Includes the destination MAC address, specified as 6 bytes
697 in hexadecimal separated by colons, along with an optional
698 mask. Valid for all IP based flow-types.
699
700 action N
701 Specifies the Rx queue to send packets to, or some other ac‐
702 tion.
703
704 -1 Drop the matched flow
705 -2 Use the matched flow as a Wake-on-LAN filter
706 0 or higher Rx queue to route the flow
707
708 context N
709 Specifies the RSS context to spread packets over multiple
710 queues; either 0 for the default RSS context, or a value re‐
711 turned by ethtool -X ... context new.
712
713 vf N Specifies the Virtual Function the filter applies to. Not
714 compatible with action.
715
716 queue N
717 Specifies the Rx queue to send packets to. Not compatible
718 with action.
719
720 loc N Specify the location/ID to insert the rule. This will over‐
721 write any rule present in that location and will not go
722 through any of the rule ordering process.
723
724 delete N
725 Deletes the RX classification rule with the given ID.
726
727 -w --get-dump
728 Retrieves and prints firmware dump for the specified network de‐
729 vice. By default, it prints out the dump flag, version and
730 length of the dump data. When data is indicated, then ethtool
731 fetches the dump data and directs it to a file.
732
733 -W --set-dump
734 Sets the dump flag for the device.
735
736 -T --show-time-stamping
737 Show the device's time stamping capabilities and associated PTP
738 hardware clock.
739
740 -x --show-rxfh-indir --show-rxfh
741 Retrieves the receive flow hash indirection table and/or RSS
742 hash key.
743
744 -X --set-rxfh-indir --rxfh
745 Configures the receive flow hash indirection table and/or RSS
746 hash key.
747
748 hkey Sets RSS hash key of the specified network device. RSS hash
749 key should be of device supported length. Hash key format
750 must be in xx:yy:zz:aa:bb:cc format meaning both the nibbles
751 of a byte should be mentioned even if a nibble is zero.
752
753 hfunc Sets RSS hash function of the specified network device.
754 List of RSS hash functions which kernel supports is shown as
755 a part of the --show-rxfh command output.
756
757 start N
758 For the equal and weight options, sets the starting receive
759 queue for spreading flows to N.
760
761 equal N
762 Sets the receive flow hash indirection table to spread flows
763 evenly between the first N receive queues.
764
765 weight W0 W1 ...
766 Sets the receive flow hash indirection table to spread flows
767 between receive queues according to the given weights. The
768 sum of the weights must be non-zero and must not exceed the
769 size of the indirection table.
770
771 default
772 Sets the receive flow hash indirection table to its default
773 value.
774
775 context CTX | new
776 Specifies an RSS context to act on; either new to allocate a
777 new RSS context, or CTX, a value returned by a previous
778 ... context new.
779
780 delete Delete the specified RSS context. May only be used in con‐
781 junction with context and a non-zero CTX value.
782
783 -f --flash
784 Write a firmware image to flash or other non-volatile memory on
785 the device.
786
787 file Specifies the filename of the firmware image. The firmware
788 must first be installed in one of the directories where the
789 kernel firmware loader or firmware agent will look, such as
790 /lib/firmware.
791
792 N If the device stores multiple firmware images in separate
793 regions of non-volatile memory, this parameter may be used
794 to specify which region is to be written. The default is 0,
795 requesting that all regions are written. All other values
796 are driver-dependent.
797
798 -l --show-channels
799 Queries the specified network device for the numbers of channels
800 it has. A channel is an IRQ and the set of queues that can
801 trigger that IRQ.
802
803 -L --set-channels
804 Changes the numbers of channels of the specified network device.
805
806 rx N Changes the number of channels with only receive queues.
807
808 tx N Changes the number of channels with only transmit queues.
809
810 other N
811 Changes the number of channels used only for other purposes
812 e.g. link interrupts or SR-IOV co-ordination.
813
814 combined N
815 Changes the number of multi-purpose channels.
816
817 -m --dump-module-eeprom --module-info
818 Retrieves and if possible decodes the EEPROM from plugin mod‐
819 ules, e.g SFP+, QSFP. If the driver and module support it, the
820 optical diagnostic information is also read and decoded. When
821 either one of page, bank or i2c parameters is specified, dumps
822 only of a single page or its portion is allowed. In such a case
823 offset and length parameters are treated relatively to EEPROM
824 page boundaries.
825
826 --show-priv-flags
827 Queries the specified network device for its private flags. The
828 names and meanings of private flags (if any) are defined by each
829 network device driver.
830
831 --set-priv-flags
832 Sets the device's private flags as specified.
833
834 flag on|off Sets the state of the named private flag.
835
836 --show-eee
837 Queries the specified network device for its support of Energy-
838 Efficient Ethernet (according to the IEEE 802.3az specifica‐
839 tions)
840
841 --set-eee
842 Sets the device EEE behaviour.
843
844 eee on|off
845 Enables/disables the device support of EEE.
846
847 tx-lpi on|off
848 Determines whether the device should assert its Tx LPI.
849
850 advertise N
851 Sets the speeds for which the device should advertise EEE
852 capabilities. Values are as for --change advertise
853
854 tx-timer N
855 Sets the amount of time the device should stay in idle mode
856 prior to asserting its Tx LPI (in microseconds). This has
857 meaning only when Tx LPI is enabled.
858
859 --set-phy-tunable
860 Sets the PHY tunable parameters.
861
862 downshift on|off
863 Specifies whether downshift should be enabled.
864
865 count N
866 Sets the PHY downshift re-tries count.
867
868 fast-link-down on|off
869 Specifies whether Fast Link Down should be enabled and time
870 until link down (if supported).
871
872 msecs N
873 Sets the period after which the link is reported as down. Note that the PHY may choose
874 the closest supported value. Only on reading back the tunable do you get the actual value.
875
876 energy-detect-power-down on|off
877 Specifies whether Energy Detect Power Down (EDPD) should be
878 enabled (if supported). This will put the RX and TX circuit
879 blocks into a low power mode, and the PHY will wake up peri‐
880 odically to send link pulses to avoid any lock-up situation
881 with a peer PHY that may also have EDPD enabled. By default,
882 this setting will also enable the periodic transmission of
883 TX pulses.
884
885 msecs N
886 Some PHYs support configuration of the wake-up interval to send TX pulses.
887 This setting allows the control of this interval, and 0 disables TX pulses
888 if the PHY supports this. Disabling TX pulses can create a lock-up situation
889 where neither of the PHYs wakes the other one. If unspecified the default
890 value (in milliseconds) will be used by the PHY.
891
892
893 --get-phy-tunable
894 Gets the PHY tunable parameters.
895
896 downshift
897 For operation in cabling environments that are incompatible
898 with 1000BASE-T, PHY device provides an automatic link speed
899 downshift operation. Link speed downshift after N failed
900 1000BASE-T auto-negotiation attempts. Downshift is useful
901 where cable does not have the 4 pairs instance.
902
903 Gets the PHY downshift count/status.
904
905 fast-link-down
906 Depending on the mode it may take 0.5s - 1s until a broken
907 link is reported as down. In certain use cases a link-down
908 event needs to be reported as soon as possible. Some PHYs
909 support a Fast Link Down Feature and may allow configuration
910 of the delay before a broken link is reported as being down.
911
912 Gets the PHY Fast Link Down status / period.
913
914 energy-detect-power-down
915 Gets the current configured setting for Energy Detect Power
916 Down (if supported).
917
918
919 --get-tunable
920 Get the tunable parameters.
921
922 rx-copybreak
923 Get the current rx copybreak value in bytes.
924
925 tx-copybreak
926 Get the current tx copybreak value in bytes.
927
928 tx-buf-size
929 Get the current tx copybreak buffer size in bytes.
930
931 pfc-prevention-tout
932 Get the current pfc prevention timeout value in msecs.
933
934 --set-tunable
935 Set driver's tunable parameters.
936
937 rx-copybreak N
938 Set the rx copybreak value in bytes.
939
940 tx-copybreak N
941 Set the tx copybreak value in bytes.
942
943 tx-buf-size N
944 Set the tx copybreak buffer size in bytes.
945
946 pfc-prevention-tout N
947 Set pfc prevention timeout in msecs. Value of 0 means dis‐
948 able and 65535 means auto.
949
950 --reset
951 Reset hardware components specified by flags and components
952 listed below
953
954 flags N
955 Resets the components based on direct flags mask
956
957 mgmt Management processor
958
959 irq Interrupt requester
960
961 dma DMA engine
962
963 filter Filtering/flow direction
964
965 offload
966 Protocol offload
967
968 mac Media access controller
969
970 phy Transceiver/PHY
971
972 ram RAM shared between multiple components ap Application Pro‐
973 cessor
974
975 dedicated
976 All components dedicated to this interface
977
978 all All components used by this interface, even if shared
979
980 --show-fec
981 Queries the specified network device for its support of Forward
982 Error Correction.
983
984 --set-fec
985 Configures Forward Error Correction for the specified network
986 device.
987
988 Forward Error Correction modes selected by a user are expected
989 to be persisted after any hotplug events. If a module is swapped
990 that does not support the current FEC mode, the driver or
991 firmware must take the link down administratively and report the
992 problem in the system logs for users to correct.
993
994 encoding auto|off|rs|baser|llrs [...]
995
996 Sets the FEC encoding for the device. Combinations of op‐
997 tions are specified as e.g. encoding auto rs ; the seman‐
998 tics of such combinations vary between drivers.
999
1000 auto Use the driver's default encoding
1001 off Turn off FEC
1002 RS Force RS-FEC encoding
1003 BaseR Force BaseR encoding
1004 LLRS Force LLRS-FEC encoding
1005
1006 -Q|--per-queue
1007 Applies provided sub command to specific queues.
1008
1009 queue_mask %x
1010 Sets the specific queues which the sub command is applied
1011 to. If queue_mask is not set, the sub command will be ap‐
1012 plied to all queues.
1013
1014 sub_command
1015 Sub command to apply. The supported sub commands include
1016 --show-coalesce and --coalesce.
1017
1018 --cable-test
1019 Perform a cable test and report the results. What results are
1020 returned depends on the capabilities of the network interface.
1021 Typically open pairs and shorted pairs can be reported, along
1022 with pairs being O.K. When a fault is detected the approximate
1023 distance to the fault may be reported.
1024
1025 --cable-test-tdr
1026 Perform a cable test and report the raw Time Domain Reflectome‐
1027 ter data. A pulse is sent down a cable pair and the amplitude
1028 of the reflection, for a given distance, is reported. A break in
1029 the cable returns a big reflection. Minor damage to the cable
1030 returns a small reflection. If the cable is shorted, the ampli‐
1031 tude of the reflection can be negative. By default, data is re‐
1032 turned for lengths between 0 and 150m at 1m steps, for all
1033 pairs. However parameters can be passed to restrict the collec‐
1034 tion of data. It should be noted, that the interface will round
1035 the distances to whatever granularity is actually implemented.
1036 This is often 0.8 of a meter. The results should include the ac‐
1037 tual rounded first and last distance and step size.
1038
1039 first N
1040 Distance along the cable, in meters, where the first mea‐
1041 surement should be made.
1042
1043 last N
1044 Distance along the cable, in meters, where the last measure‐
1045 ment should be made.
1046
1047 step N
1048 Distance, in meters, between each measurement.
1049
1050 pair N
1051 Which pair should be measured. Typically a cable has 4
1052 pairs. 0 = Pair A, 1 = Pair B, ...
1053
1054 --monitor
1055 Listens to netlink notification and displays them.
1056
1057 command
1058 If argument matching a command is used, ethtool only shows
1059 notifications of this type. Without such argument or with
1060 --all, all notification types are shown.
1061
1062 devname
1063 If a device name is used as argument, only notification for
1064 this device are shown. Default is to show notifications for
1065 all devices.
1066
1067 --show-tunnels
1068 Show tunnel-related device capabilities and state. List UDP
1069 ports kernel has programmed the device to parse as VxLAN, or
1070 GENEVE tunnels.
1071
1072 --show-module
1073 Show the transceiver module's parameters.
1074
1075 --set-module
1076 Set the transceiver module's parameters.
1077
1078 power-mode-policy high|auto
1079 Set the power mode policy for the module. When set to high,
1080 the module always operates at high power mode. When set to
1081 auto, the module is transitioned by the host to high power
1082 mode when the first port using it is put administratively up
1083 and to low power mode when the last port using it is put ad‐
1084 ministratively down. The power mode policy can be set before
1085 a module is plugged-in.
1086
1088 Not supported (in part or whole) on all network drivers.
1089
1091 ethtool was written by David Miller.
1092
1093 Modifications by Jeff Garzik, Tim Hockin, Jakub Jelinek, Andre Majorel,
1094 Eli Kupermann, Scott Feldman, Andi Kleen, Alexander Duyck, Sucheta
1095 Chakraborty, Jesse Brandeburg, Ben Hutchings, Scott Branden.
1096
1098 ethtool is available from
1099 ⟨http://www.kernel.org/pub/software/network/ethtool/⟩
1100
1101
1102
1103Ethtool version 6.1 December 2022 ETHTOOL(8)