ethtool

ethtool命令

网络配置

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 信息, 部分网卡驱动不支持该选项。
-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命令显示参数的来源,三者间的对应关系如下表所示:

命令选项 struct ethtool_ops成员函数 Ethtool命令显示参数的来源(以网卡驱动BNX2为例)
无 -s get_settingsget_wol get_msglevel get_link set_settings set_wol set_msglevel 从网卡寄存器中获得网卡速度等信息,可配置。
-a -A get_pauseparam set_pauseparam 从网卡寄存器中获得Autonegotiate/RX/TX模块的状态:on oroff,可配置。
-c -C get_coalesceset_coalesce 从网卡寄存器中获得coalescing参数:TX/RX一个数据包后,推迟发生TX/RX中断的时间(us)/数据包个数。—减小该值可以提高网卡的响应时间。 当rx-usecs&rx-frames同时被设为0时,RX中断停止。 当tx-usecs&tx-frames同时被设为0时,TX中断停止。
-g -G get_ringparam set_ringparam 除当前TX/RX ring的值(从网卡寄存器中读取得到,可配置)外,其它为网卡bnx2自己固定的信息。
-k -K get_rx_csumget_tx_csum get_sg get_tso set_rx_csum set_tx_csum set_sg set_tso 显示信息从保存该状态的变量中读取得到,没有对应的寄存器。因此,TX/RX校验等模块一直处于on状态,实际上是无法修改的。
-i get_drvinfo[self_test_count, get_stats_coun,t get_regs_len, get_eeprom_len] 网卡bnx2自己固定的信息,如:
——————————————————–
driver: bnx2 version: 1.4.30 firmware-version: 1.8.0.5 bus-info: 0000:09:00.0
——————————————————–
-d get_drvinfoget_regs 不支持,即bnx2中没有实现函数get_regs。
-e -E get_eepromset_eeprom 不支持,即bnx2中没有实现函数get_eeprom。
-r nway_reset 配置网卡MII_BMCR寄存器,重启Auto negotiation模块。
-p phys_id 配置网卡BNX2_EMAC_LED寄存器,实现LED闪功能。
-t self_test 通过配置网卡寄存器,逐一测试网卡的硬件模块:registers,memory,loopback,Link stat,interrupt。
-S get_ethtool_stats 显示信息来源于网卡驱动中的结构体变量stats_blk。(网卡通过DMA方式,将寄存器BNX2_HC_STATISTICS _ADDR_L和BNX2_HC_STATISTICS_ADDR_H中的数据实时地读取到结构体变量struct statistics_block *stats_blk中。) —显示的数据都是从网卡寄存器中统计得到的,各项的含义需查询网卡(芯片)手册。

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

实例

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

ethool eth0

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

ethtool -A tx off eth0

操作完毕后,可输入ethtool -a eth0,查看tx模块是否已被停止。查看网卡eth0采用了何种驱动,请输入:

ethtool -i eth0

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

ethtool -K eth0 rx off

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

ethtool -p eth0 10

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

ethtool –S eth0

将千兆网卡的速度降为百兆,请输入:

ethtool -s eth0 speed 100   
时间: 2024-10-24 22:20:03

ethtool的相关文章

linux下用mii-tool和ethtool 查看网线是否正确连接到网卡

输入mii-tool可以查看网线是否连接到网卡#mii-tool eth0: negotiated 100baseTx-FD, link ok 有时驱动可能不支持会出错下列错误#mii-tool SIOCGMIIPHY on 'eth0' failed: Operation not supported no MII interfaces found 可以使用ethtool查看#ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supp

ethtool 命令详解

命令描述: ethtool 是用于查询及设置网卡参数的命令. 使用概要:ethtool ethx       //查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0.eth1等等 转自:http://blog.csdn.net/zhangxinrun/article/details/7207205

Linux下多网卡时,如何快速辨别网卡ID与物理网卡的对应关系(即ethtool命令)

一般购买的服务器都有4个网卡,这个时候在安装好服务器后,配置IP的时候就郁闷了 如是一个浪潮8560M2服务器安装Redhat后的网卡显示: [[email protected] ~]# ifconfig -a eth0      Link encap:Ethernet  HWaddr 00:E0:ED:2D:0F:58 inet addr:192.168.4.10  Bcast:192.168.4.255  Mask:255.255.255.0 UP BROADCAST RUNNING MUL

《 转》Linux 网卡驱动程序对 ethtool 的支持和实现

Linux 的一个显著特点就是其强大的网络功能,Linux 几乎支持所有的网络协议,并在这些协议基础上提供了丰富的应用.对 Linux 网络管理的重要性不言而喻,这些管理依赖于网络工具,比如最常用的 ifconfig,route,ip,ethtool 等,其中 ethtool 提供了强大的网卡及网卡驱动管理能力,其具体的实现框架和网络驱动程序及网络硬件关系紧密,容易修改和扩展,能够为 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-frame

linux 下mii-tool ethtool 命令简单的使用

################################################################ 通过命令查看linux网卡的物理信息,状态: [[email protected] ~]# mii-tool  eth0 eth0: negotiated 100baseTx-FD, link ok -V 显示版本信息: -v 显示网络接口的信息: -R 重设MII到开启状态: -r 重启自动协商模式: -w 查看网络接口连接的状态变化: -l 写入事件到系统日志:

使用ethtool工具来查看网卡是否工作

描述: Ethtool是用于查询及设置网卡参数的命令. 概要: ethtool ethX      //查询ethX网口基本设置 ethtool –h        //显示ethtool的命令帮助(help) ethtool –i ethX    //查询ethX网口的相关信息  ethtool –d ethX    //查询ethX网口注册性信息 ethtool –r ethX    //重置ethX网口到自适应模式 ethtool –S ethX    //查询ethX网口收发包统计 et

Linux ethtool命令

一.简介 ethtool 是用于查询及设置网卡参数的命令. 二.常用选项 ethtool ethx //查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0.eth1等等 ethtool –h //显示ethtool的命令帮助(help) ethtool –i ethX //查询ethX网口的相关信息 ethtool –d ethX //查询ethX网口注册性信息 ethtool –r ethX //重置ethX网口到自适应模式 ethtool –S ethX //查询ethX网口收

用ethtool确定多网卡Linux服务器网口位置

在配置有多个网络接口的设备时我们会犯难,eth0.eth1.--到底是那个接口? 今天为大家介绍一个小工具,ethtool,他可以帮助你解决这个问题. 我使用的机器是Fedora Linux 系统,打开终端,输入ethtool --help 显示帮助信息,下面我就简要介绍一下最常用的两个功能. 功能1 ethtool DEVNAME   查看相应设备名称对应的设备信息 使用方法如下:ethtool eth3 回车后显示如下图所示的信息. 显示了eth3 的接口类型,连接模式,速率等等信息,方便你

OK335xS ethtool 移植

/******************************************************************* * OK335xS ethtool 移植 * 声明: * 由于刘涛需要使用该工具对网卡进行相关的操作,故需要对ethtool * 进行移植. * * 2016-1-6 深圳 南山平山村 曾剑锋 ******************************************************************/ 一.参考文档: 1. 编译arm