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-low N] [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]
描述
Ethtool命令用于获取以太网卡的配置信息,或者修改这些配置。
ethX是以太网卡的名称,Linux系统将检测到的第一块以太网卡命名为eth0, 第二块为eth1,…….。
标志
| -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地址等 |
示例
- 查看机器上网卡的速度:百兆还是千兆,请输入:
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
数据来源
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 or off,可配置 |
| -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命令用于显示/配置网卡硬件(寄存器)。
ethtool命令的更多相关文章
- 用ethtool 命令解决Linux 网卡丢包【转】
转自:https://blog.csdn.net/chengxuyuanyonghu/article/details/73739516 生产中有一台Linux设备并发比较大,droped包比较多,尤其 ...
- Linux ethtool命令
一.简介 ethtool 是用于查询及设置网卡参数的命令. 二.常用选项 ethtool ethx //查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0.eth1等等 ethtool ...
- ethtool 命令详解
命令描述: ethtool 是用于查询及设置网卡参数的命令. 使用概要:ethtool ethx //查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0.eth1等等 转自: ...
- 【linux命令与工具】ethtool命令
ethtool是用于查询及设置网卡参数的命令. 如果command not found可以用apt-get/yum添加. 主要参数: ethtool ethX//查看ethX设备属性 ethtool ...
- 【转】ethtool 命令详解
命令描述: ethtool 是用于查询及设置网卡参数的命令. 使用概要:ethtool ethx //查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0.eth1等等etht ...
- Linux ethtool 命令
ethtool 是用于查询及设置网卡参数的命令,常见用法如下: 注意:该命令只是临时设置,如果网卡重启就失效了,如果想要永久保存应该配置 /etc/sysconfig/network-scripts/ ...
- ethtool命令详解
命令描述: ethtool 是用于查询及设置网卡参数的命令. 使用概要:ethtool ethx //查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0.eth1等等etht ...
- ethtool命令使用
[root@localhost ~]# ethtool -s eth0 speed 100 duplex full #设置网口的speed和duplex # ethtool eth0Settings ...
- ethtool - 命令
ethtool 导览: 1. 如何查看 Linux 中可用的网卡接口 2. 如何查看 Linux 中网卡信息 3. 如何查看网卡驱动版本以及硬件版本 4. 如何查看网络 ...
随机推荐
- Struts2 中action之间的跳转(分享)
例如从你的login.action到register.action 有两种实现方式 1. 设置type="redirect" <package name="st ...
- perl5 第一章 概述
第一章 概述 by flamephoenix 一.Perl是什么?二.Perl在哪里?三.运行四.注释 一.Perl是什么? Perl是Practical Extraction and Re ...
- Libev学习笔记3
设置完需要监听的事件之后,就开始event loop了.在Libev中,该工作由ev_run函数完成.它的大致流程如下: int ev_run (EV_P_ int flags) { do { /* ...
- android项目 之 记事本(6)----- 加入手写
想必大家都用过QQ的白板功能,里面主要有两项,一个是涂鸦功能,事实上类似于上节的画板功能,而还有一个就是手写,那记事本怎么能没有这个功能呢,今天就来为我们的记事本加入手写功能. 先上图,看看效果: 看 ...
- CSS中 清除浮动解决“包含问题”
今天看到大神对浮动定位作了个详细的分析 刚好就分析了当时任务三遇到的问题 在一个div中定义了三个div,让横向排列,结果父元素div的背景色显示不出来了 ,这是个经典问题----包含浮动 < ...
- .html与.htm为网页后缀的区别
有些人在做网页的时候会有疑问,到底是应该用.html还是.htm做网页后缀呢?.html和.htm有什么区别吗?在做网页时到底用哪一个好呢? 现在,我说一下我对这两个文件后缀的看法: 首先,要想使用后 ...
- Oracle Hint用法总结
1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_I ...
- JDBC_批量处理语句提高处理速度
•当需要成批插入或者更新记录时.可以采用Java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处理.通常情况下比单独提交处理更有效率 •JDBC的批量处理语句包括下面两个方法: –addB ...
- poj 1850/poj 1496
http://poj.org/problem?id=1850 -----------------http://poj.org/problem?id=1496 两题解法类似..本题为组合数学的题,要求所 ...
- QStringLiteral(源代码里有一个通过构造函数产生的从const char*到QString的隐式转换,QStringLiteral字符串可以放在代码的任何地方,编译期直接生成utf16字符串,速度很快,体积变大)
原作者: Olivier Goffart 点击打开链接http://woboq.com/blog/qstringliteral.html 译者: zzjin 点击打开链接http://www.tuic ...