Linux系统之ethtool详解

ethtool 是用于查询和控制网络设备驱动程序及硬件设置的工具,尤其适用于有线以太网设备。它支持查看和修改网络接口的链路参数、校验和卸载、中断合并、环形缓冲区等配置。

基本语法

ethtool [选项] 设备名

选项

基础选项

选项描述
-h, --help显示帮助信息并退出。
--version显示版本信息并退出。
设备名无选项时,显示设备当前配置(如速度、双工模式、校验和卸载状态等)。

链路与基础配置

选项描述
-a, --show-pause显示设备的暂停(pause)参数(如自动协商、接收/发送暂停)。
-A, --pause修改暂停参数:
autoneg on/off(自动协商)
rx on/off(接收暂停)
tx on/off(发送暂停)。
-r, --negotiate重新启动设备的自动协商(需 autoneg on)。
-s, --change修改设备参数:
speed N(设置速率,如 1000
duplex half/full(双工模式)
autoneg on/off 等。

中断合并与环形缓冲区

选项描述
-c, --show-coalesce显示中断合并(coalescing)参数(如延迟时间、帧数等)。
-C, --coalesce修改中断合并参数(如 adaptive-rx on/offrx-usecs N 等)。
-g, --show-ring显示设备的环形缓冲区(ring)参数(如 RX/TX 环大小)。
-G, --set-ring修改环形缓冲区大小:
rx N(RX 环大小)
tx N(TX 环大小)。

驱动与硬件信息

选项描述
-i, --driver显示设备驱动信息(如驱动名称、版本、firmware 版本等)。
-d, --register-dump获取并打印设备寄存器的转储信息(raw on/off 控制原始数据输出)。
-e, --eeprom-dump获取并打印设备 EEPROM 内容(offsetlength 指定区域)。
-E, --change-eeprom修改 EEPROM 内容(需指定 magic 密钥和 offset/value)。

校验和卸载与特性控制

选项描述
-k, --show-features显示协议卸载(offload)和其他特性状态(如 TCP 分段、RX 校验和等)。
-K, --features修改卸载特性:
rx on/off(RX 校验和卸载)
tx on/off(TX 校验和卸载)
tso on/off(TCP 分段卸载)
gro on/off(通用接收聚合)等。

统计与测试

选项描述
-S, --statistics显示设备的统计信息(如包数、错误数、中断次数等)。
--phy-statistics显示物理层(PHY)的统计信息。
-t, --test执行设备自检:
offline(完整测试)
online(在线测试)
external_lb(外置环回测试)。

其他功能

选项描述
-p, --identify通过 LED 等方式标识设备(N 指定持续时间,单位秒)。
-P, --show-permaddr显示设备的永久 MAC 地址。
-f, --flash通过固件文件更新设备固件。
-l, --show-channels显示多队列通道配置(如 RX/TX 通道数)。
-L, --set-channels修改多队列通道数量(如 rx Ntx N)。

示例

基本用法

  • 查看设备基本信息:

    ethtool 网络设备名
    
  • 显示帮助信息:

    ethtool -h
    ethtool --help
    
  • 显示版本信息:

    ethtool --version
    

常用功能选项

暂停帧控制

  • 查看暂停帧设置:

    ethtool -a 网络设备名
    ethtool --show-pause 网络设备名
    
  • 修改暂停帧设置:

    ethtool -A 网络设备名 [autoneg on|off] [rx on|off] [tx on|off]
    

中断合并(Coalescing)设置

  • 查看当前设置:

    ethtool -c 网络设备名
    
  • 修改设置:

    ethtool -C 网络设备名 [参数...]
    

环形缓冲区(Ring Buffer)设置

  • 查看当前环形缓冲区大小:

    ethtool -g 网络设备名
    
  • 修改环形缓冲区大小:

    ethtool -G 网络设备名 [rx N] [rx-mini N] [rx-jumbo N] [tx N]
    

驱动信息

ethtool -i 网络设备名

寄存器转储

ethtool -d 网络设备名 [raw on|off] [hex on|off] [file 文件名]

EEPROM操作

  • 查看EEPROM内容:

    ethtool -e 网络设备名 [raw on|off] [offset N] [length N]
    
  • 修改EEPROM内容:

    ethtool -E 网络设备名 [magic N] [offset N] [length N] [value N]
    

卸载(Offload)功能

  • 查看当前卸载设置:

    ethtool -k 网络设备名
    
  • 修改卸载设置:

    ethtool -K 网络设备名 功能名 on|off [...]
    

物理标识

ethtool -p 网络设备名 [持续时间()]

永久MAC地址

ethtool -P 网络设备名

重新协商

ethtool -r 网络设备名

统计信息

ethtool -S 网络设备名

测试功能

ethtool -t 网络设备名 [offline|online|external_lb]

速度/双工设置

ethtool -s 网络设备名 [speed N] [duplex half|full] [autoneg on|off] [...]

网络流分类

  • 查看流分类规则:

    ethtool -n 网络设备名 [rx-flow-hash 类型]
    
  • 配置流分类规则:

    ethtool -N 网络设备名 [配置参数...]
    

固件操作

  • 获取固件转储:

    ethtool -w 网络设备名 [data 文件名]
    
  • 设置固件转储标志:

    ethtool -W 网络设备名 N
    

时间戳功能

ethtool -T 网络设备名

RSS(接收端扩展)设置

  • 查看当前RSS设置:

    ethtool -x 网络设备名
    
  • 配置RSS:

    ethtool -X 网络设备名 [配置参数...]
    

固件更新

ethtool -f 网络设备名 固件文件 [区域号]

通道设置

  • 查看当前通道配置:

    ethtool -l 网络设备名
    
  • 修改通道配置:

    ethtool -L 网络设备名 [rx N] [tx N] [other N] [combined N]
    

模块信息

ethtool -m 网络设备名 [raw on|off] [hex on|off] [offset N] [length N]

私有标志

  • 查看私有标志:

    ethtool --show-priv-flags 网络设备名
    
  • 设置私有标志:

    ethtool --set-priv-flags 网络设备名 标志名 on|off [...]
    

节能以太网(EEE)设置

  • 查看EEE设置:

    ethtool --show-eee 网络设备名
    
  • 修改EEE设置:

    ethtool --set-eee 网络设备名 [eee on|off] [tx-lpi on|off] [...]
    

前向纠错(FEC)设置

  • 查看FEC设置:

    ethtool --show-fec 网络设备名
    
  • 修改FEC设置:

    ethtool --set-fec 网络设备名 [encoding auto|off|rs|baser]
    

相关文件

  • /proc/net/dev - 网络设备统计信息
  • /sys/class/net/ - 网络设备信息目录
  • /etc/ethtool/ - 某些发行版中的ethtool配置文件目录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值