linux学习笔记--ethtool命令

获取以太网卡的配置信息,或者修改这些配置。

语法:

ethtool [ -a | -c | -g | -i | -d | -k | -r | -S |] ethX 
ethtool [-A] ethX [autoneg on|off] [rx on|off] [tx on|off] 
ethtool [-C] ethX [adaptive-rx on|off] [adaptive-tx on|off] [rx-usecs N] [rx-frames N] [rx-usecs-irq N] [rx-frames-irq N] [tx-usecs N] [tx-frames N] [tx-usecs-irq N] [tx-frames-irq N] [stats-block-usecs N][pkt-rate-low N][rx-usecs-low N] [rx-frames-low N] [tx-usecs-low N] [tx-frames-lowN] [pkt-rate-high N] [rx-usecs-high N] [rx-frames-high N] [tx-usecs-high N] [tx-frames-high N] [sample-interval N] 
ethtool [-G] ethX [rx N] [rx-mini N] [rx-jumbo N] [tx N] 
ethtool [-e] ethX [raw on|off] [offset N] [length N] 
ethtool [-E] ethX [magic N] [offset N] [value N] 
ethtool [-K] ethX [rx on|off] [tx on|off] [sg on|off] [tso on|off] 
ethtool [-p] ethX [N] 
ethtool [-t] ethX [offline|online] 
ethtool [-s] ethX [speed 10|100|1000] [duplex half|full] [autoneg on|off] [port tp|aui|bnc|mii] [phyad N] [xcvr internal|external] [wol p|u|m|b|a|g|s|d...] [sopass xx:yy:zz:aa:bb:cc] [msglvl N]
选项:

-a 查看网卡中 接收模块RX、发送模块TX和Autonegotiate模块的状态:启动on 或 停用off。 
-A 修改网卡中 接收模块RX、发送模块TX和Autonegotiate模块的状态:启动on 或 停用off。 
-c display the Coalesce information of the specified ethernet card。 
-C Change the Coalesce setting of the specified ethernet card。 
-g Display the rx/tx ring parameter information of the specified ethernet card。 
-G change the rx/tx ring setting of the specified ethernet card。 
-i 显示网卡驱动的信息,如驱动的名称、版本等。 
-d 显示register dump信息, 部分网卡驱动不支持该选项。 
-e 显示EEPROM dump信息,部分网卡驱动不支持该选项。 
-E 修改网卡EEPROM byte。 
-k 显示网卡Offload参数的状态:on 或 off,包括rx-checksumming、tx-checksumming等。 
-K 修改网卡Offload参数的状态。 
-p 用于区别不同ethX对应网卡的物理位置,常用的方法是使网卡port上的led不断的闪;N指示了网卡闪的持续时间,以秒为单位。 
-r 如果auto-negotiation模块的状态为on,则restarts auto-negotiation。 
-S 显示NIC- and driver-specific 的统计参数,如网卡接收/发送的字节数、接收/发送的广播包个数等。 
-t 让网卡执行自我检测,有两种模式:offline or online。 
-s 修改网卡的部分配置,包括网卡速度、单工/全双工模式、mac地址等。
数据来源:

ethtool命令显示的信息来源于网卡驱动层,即TCP/IP协议的链路层。该命令在linux内核中实现的逻辑层次为:

最重要的结构体struct ethtool_ops,该结构体成员为用于显示或修改以太网卡配置的一系列函数指针,见下

表的第二列。网卡驱动负责实现(部分)这些函数,并将其封装入ethtool_ops结构体,为网络核心层提供统

一的调用接口。因此,不同的网卡会给应用层返回不同的信息。Ethtool命令选项,struct ethtool_ops成员函数,

Ethtool命令显示参数的来源,三者对应关系如下表:

linux学习笔记--ethtool命令_第1张图片linux学习笔记--ethtool命令_第2张图片linux学习笔记--ethtool命令_第3张图片

实例:

查看机器上网卡的速度:百兆还是千兆

ethtool eth0
停止网卡的发送模块TX

ethtool -A tx off eth0
查看tx模块是否被停止

ethtool -a eth0
查看网卡eth0采用何种驱动

ethtool -i eth0
关闭网卡对收到的数据包的校验功能

ethtool -K eth0 rx off
查看校验功能是否停止

ethtool -k eth0
如果机器上安装了两个网卡,查看eth0对应的哪块网卡

ethtool -p eth0 10
操作完成后查看哪块led灯闪,eth0就对应哪块网卡

查看网卡,在接收/发送数据时,有没有出错

ethtool -S eth0
将千兆网卡的速度降为百兆

ethtool -s eth0 speed 100

来自:  http://man.linuxde.net/ethtool

你可能感兴趣的:(linux)