Ethtool
Ethtool 是一个标准的 Linux 实用程序,用于控制网络驱动程序和硬件,特别是用于有线以太网设备。它可以用于
获取识别和诊断信息
获取扩展设备统计信息
控制以太网设备的速度、双工、自动协商和流控制
控制校验和卸载和其他硬件卸载功能
控制 DMA 环大小和中断节制
使用 .mfa2 镜像刷新设备固件
Ethtool 支持的选项
选项 | 描述 | ||||||||||||||||||||||
ethtool --set-priv-flags eth<x> <私有标志> <on/off> | 启用/禁用与给定私有标志匹配的驱动程序功能。 | ||||||||||||||||||||||
ethtool --show-priv-flags eth<x> | 显示驱动程序私有标志及其状态(ON/OFF)。 | ||||||||||||||||||||||
ethtool -a eth<x> | 查询暂停帧设置。 | ||||||||||||||||||||||
ethtool -A eth<x> [rx on|off] [tx on|off] | 设置暂停帧设置。 | ||||||||||||||||||||||
ethtool -c eth<x> | 查询中断合并设置。 | ||||||||||||||||||||||
ethtool -C eth<x> [pkt-rate-low N] [pkt-rate-high N] [rx-usecs-low N] [rx-usecs-high N] | 设置数据包速率限制以及节制时间高值和低值。 | ||||||||||||||||||||||
ethtool -C eth<x> [rx-usecs N] [rx-frames N] | 设置中断合并设置。 rx-frames 将立即强制执行,rx-usecs 仅在禁用自适应节制时强制执行。 注意:usec 设置对应于触发中断前在*最后*数据包发送/接收后等待的时间。 | ||||||||||||||||||||||
ethtool -C eth<x> adaptive-rx on|off | 启用/禁用自适应中断节制。 默认情况下,驱动程序对接收路径使用自适应中断节制,这会根据流量模式调整节制时间。 | ||||||||||||||||||||||
ethtool -C eth<x> adaptive-tx on|off | 注意:ConnectX-4 及更高版本适配器卡支持 mlx5e。 启用/禁用自适应中断节制。 默认情况下,驱动程序对发送路径使用自适应中断节制,这会根据流量模式调整节制参数(时间/帧)。 | ||||||||||||||||||||||
ethtool -g eth<x> | 查询环大小值。 | ||||||||||||||||||||||
ethtool -G eth<x> [rx <N>] [tx <N>] | 修改环大小。 | ||||||||||||||||||||||
ethtool -i eth<x> | 检查驱动程序和设备信息。 例如 driver: mlx5_core version: 5.1-0.4.0 firmware-version: 4.6.4046 (MT_QEMU000000) expansion-rom-version: bus-info: 0000:07:00.0 supports-statistics: yes supports-test: yes supports-eeprom-access: no supports-register-dump: no supports-priv-flags: yes | ||||||||||||||||||||||
ethtool -k eth<x> | 查询无状态卸载状态。 | ||||||||||||||||||||||
ethtool -K eth<x> [rx on|off] [tx on|off] [sg on|off] [tso on|off] [lro on|off] [gro on|off] [gso on|off] [rxvlan on|off] [txvlan on|off] [ntuple on/off] [rxhash on/off] [rx-all on/off] [rx-fcs on/off] | 设置无状态卸载状态。 TCP 分段卸载 (TSO)、通用分段卸载 (GSO):通过减少 CPU 开销来提高出站吞吐量。它的工作原理是排队大型缓冲区,并让网卡将其拆分为单独的数据包。 大型接收卸载 (LRO):通过减少 CPU 开销来提高高带宽网络连接的入站吞吐量。它的工作原理是在将来自单个流的多个传入数据包聚合到更大的缓冲区中,然后再将它们传递到更高的网络堆栈,从而减少必须处理的数据包数量。LRO 在内核版本 < 3.1 中可用于未标记的流量。 硬件 VLAN 插入卸载 (txvlan):启用后,发送的 VLAN 标签将由硬件插入到数据包中。 注意:LRO 将在尽可能的情况下完成。否则将完成 GRO。通用接收卸载 (GRO) 在所有内核中均可用。 硬件 VLAN 剥离卸载 (rxvlan):启用后,接收到的 VLAN 流量将由硬件从 VLAN 标签中剥离。 RX FCS (rx-fcs):在接收到的数据包中保留 FCS 字段。设置无状态卸载状态。 RX FCS 验证 (rx-all):忽略接收数据包上的 FCS 验证。 | ||||||||||||||||||||||
ethtool -l eth<x> | 显示通道数。 | ||||||||||||||||||||||
ethtool -L eth<x> [rx <N>] [tx <N>] | 设置通道数。 注释:
| ||||||||||||||||||||||
ethtool -m|--dump-module-eeprom eth<x> [ raw on|off ] [ hex on|off ] [ offset N ] [ length N ] | 查询/解码电缆模块 eeprom 信息。 | ||||||||||||||||||||||
ethtool -p|--identify DEVNAME | 通过 LED 闪烁 [TIME-IN-SECONDS] 启用端口的可视化识别。 | ||||||||||||||||||||||
ethtool -p|--identify eth<x> <LED 持续时间> | 允许用户通过将端口 LED 打开若干秒来识别接口的物理端口。 注意:LED 持续时间的限制为 65535 秒。 | ||||||||||||||||||||||
ethtool -S eth<x> | 获取其他设备统计信息。 | ||||||||||||||||||||||
ethtool -s eth<x> advertise <N> autoneg on | 将广播链路模式更改为请求的链路模式 <N> 要检查链路模式的十六进制值,请运行 为了广播新的链路模式,请确保配置整个位图,如下所示
注释:
| ||||||||||||||||||||||
ethtool -s eth<x> msglvl [N] | 更改当前驱动程序消息级别。 | ||||||||||||||||||||||
ethtool -s eth<x> speed <SPEED> autoneg off | 将链路速度更改为请求的 <SPEED>。要检查支持的速度,请运行 注意: | ||||||||||||||||||||||
ethtool -t eth<x> | 执行自我诊断测试。 | ||||||||||||||||||||||
ethtool -T eth<x> | 显示时间戳功能 | ||||||||||||||||||||||
ethtool -x eth<x> | 检索接收流哈希间接表。 | ||||||||||||||||||||||
ethtool -X eth<x> equal a b c... | 设置接收流哈希间接表。 注意:每当通道数被修改时(使用 ethtool -L 命令),RSS 表配置都会被重置。 | ||||||||||||||||||||||
ethtool --show-fec eth<x> | 如果支持 FEC,则查询当前前向纠错 (FEC) 编码。 注意:“baser”的输出意味着 Firecode 编码。 | ||||||||||||||||||||||
ethtool --set-fec eth<x> encoding auto|off|rs|baser | 配置前向纠错 (FEC)。 注意:“baser”编码适用于 Firecode 编码,“auto”表示 HCA 的默认值。 | ||||||||||||||||||||||
ethtool -f|--flash <devname> FILE [N] | 使用指定的 .mfa2 文件 (FILE) 刷新设备上的固件镜像。默认情况下,该命令会刷新设备上的所有区域,除非指定了区域编号 (N)。 |