ethtool

    ethtool命令用于获取以太网卡的配置信息,或者修改这些配置。这个命令比较复杂,功能特别多。

    1. -A 修改网卡中 接收模块RX、发送模块TXAutonegotiate模块的状态:启动on 停用off
    2. -c display the Coalesce information of the specified ethernet card
    3. -g Display the rx/tx ring parameter information of the specified ethernet card
    4. -G change the rx/tx ring setting of the specified ethernet card
    5. -i 显示网卡驱动的信息,如驱动的名称、版本等。
    6. -d 显示register dump信息, 部分网卡驱动不支持该选项。
    7. -e 显示EEPROM dump信息,部分网卡驱动不支持该选项。
    8. -E 修改网卡EEPROM byte
    9. -K 修改网卡Offload参数的状态。
    10. -r 如果auto-negotiation模块的状态为on,则restarts auto-negotiation
    11. -S 显示NIC- and driver-specific 的统计参数,如网卡接收/发送的字节数、接收/发送的广播包个数等。
    12. -t 让网卡执行自我检测,有两种模式:offline or online
    13. -s 修改网卡的部分配置,包括网卡速度、单工/全双工模式、mac地址等。

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

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









































































































































    由上可见,ethtool命令用于显示/配置网卡硬件(寄存器)。

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

    1. ethool eth0

    操作完毕后,输出信息中Speed:这一项就指示了网卡的速度。停止网卡的发送模块TX,请输入:

    1. ethtool -i eth0

    操作完毕后,显示 driver: bnx2;version: 1.4.30 等信息。关闭网卡对收到的数据包的校验功能,请输入:

    1. ethtool -K eth0 rx off

    操作完毕后,可输入ethtool –k eth0,查看校验功能是否已被停止。如果机器上安装了两块网卡,那么eth0对应着哪块网卡呢?输入:

    操作完毕后,看哪块网卡的led灯在闪,eth0就对应着哪块网卡。查看网卡,在接收/发送数据时,有没有出错?请输入:

    1. ethtool S eth0