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

数据来源

Ethtool命令显示的信息来源于网卡驱动层,即TCP/

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

网卡驱动负责实现(部分)这些函数,并将其封装入ethtool_ops结构体,为网络核心层提供统一的调用接口。因此,不同的网卡驱动会给应用层返回不同的信息。Ethtool命令选项、struct ethtool_ops成员函数、Ethtool命令显示参数的来源,三者间的对应关系如下表所示:命令选项struct ethtool_ops成员函数Ethtool命令显示参数的来源(以网卡驱动BNX2为例)

无 -sget_settingsget_wol get_msglevel get_link set_settings set_wol set_msglevel从网卡寄存器中获得网卡速度等信息,可配置。

-a -Aget_pauseparam set_pauseparam从网卡寄存器中获得Autonegotiate/RX/TX模块的状态:on oroff,可配置。

-c -Cget_coalesceset_coalesce从网卡寄存器中获得coalescing参数:TX/RX一个数据包后,推迟发生TX/RX中断的时间(us)/数据包个数。—减小该值可以提高网卡的响应时间。 当rx-usecs&rx-frames同时被设为0时,RX中断停止。 当tx-usecs&tx-frames同时被设为0时,TX中断停止。

-g -Gget_ringparam set_ringparam除当前TX/RX ring的值(从网卡寄存器中读取得到,可配置)外,其它为网卡bnx2自己固定的信息。

-k -Kget_rx_csumget_tx_csum get_sg get_tso set_rx_csum set_tx_csum set_sg set_tso显示信息从保存该状态的变量中读取得到,没有对应的寄存器。因此,TX/RX校验等模块一直处于on状态,实际上是无法修改的。

-iget_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-

-dget_drvinfoget_regs不支持,即bnx2中没有实现函数get_regs。

-e -Eget_eepromset_eeprom不支持,即bnx2中没有实现函数get_eeprom。

-rnway_reset配置网卡MII_BMCR寄存器,重启Auto negotiation模块。

-pphys_id配置网卡BNX2_EMAC_LED寄存器,实现LED闪功能。

-tself_test通过配置网卡寄存器,逐一测试网卡的硬件模块:registers,memory,loopback,Link

-Sget_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

linux修改mac ethtool,ethtool命令相关推荐

  1. Linux 修改mac 地址方法记录

    Linux 修改MAC 记录: sudo ifconfig eth0 hw ether 70B3D5106F90 转载于:https://www.cnblogs.com/chenfulin5/p/67 ...

  2. linux命令优先级设置,linux renice命令参数及用法详解(linux修改程序运行优先级命令)...

    linux renice命令参数及用法详解(linux修改程序运行优先级命令) 发布时间:2012-07-21 12:45:32   作者:佚名   我要评论 renice指令可重新调整程序执行的优先 ...

  3. linux 修改文件名_Linux常用命令

    Linux下一切皆文件 查看型 ls 查看当前文件夹内容 选项 -a 查看隐藏文件 -l 查看文件详细信息 pwd 查看当前所在路径 su 切换用户 cat /etc/passwd 查看当前系统的用户 ...

  4. linux修改用户描述的命令,Linux修改用户信息(usermod)

    Linux修改用户信息(usermod)教程 Linux usermod命令详解 功能 修改用户账户. 语法 usermod [options] username 参数 参数 描述 options u ...

  5. linux修改mac地址

    mac地址在网卡里面,按道理是不能修改的,需擦除或者重新烧进去,操作系统获取mac物理地址之后直接存到操作系统的配置文件或者注册表里面(这里为什么不每次直接读取mac物理地址,估计是考虑到性能问题): ...

  6. linux电脑mac地址修改,linux修改MAC地址/localeLinux -电脑资料

    1. linux中修改mac地址: 1.1 redhat:a. $ cd /etc/sysconfig .net work-scripts b. Edit file ifcfg-eth0, chang ...

  7. Linux修改文件内容【命令】

    在/opt/hello/world.txt文件中增加一行  hello linux world ! 方法一: 命令是:vi,vim vi 编辑器,相当于记事本,有编辑功能,但较弱 vim 复杂的编辑器 ...

  8. linux 修改IP, DNS 命令

     linux下修改IP.DNS.路由命令行设置 ubuntu 版本命令行设置IP cat /etc/network/interfaces # This file describes the net ...

  9. linux修改文件权限的命令_Linux基础文件权限管理

    图片来源:pexels.com 你好,我是goldsunC 让我们一起进步吧! Linux文件属性 文件权限在Linux基础中是一个很重要的概念,一个系统管理员应该熟练掌握文件权限的概念.OK,现在我 ...

最新文章

  1. 剑指offer:面试题13. 机器人的运动范围
  2. 如何使用mklink命令DIY自己的Windows Live Writer——安装、保存博文到D盘
  3. SQL Server 与 SQL Express 的异同
  4. Oracle导入ixf文件,Shell读取文本批量导出\导入DB2数据
  5. python的os模块使用_Python之os模块的常见用法
  6. instagram图片大小_一个开源的Instagram桌面照片上传器
  7. 拼多多宣布周涛出任“明星推荐官” 618直播带货1999元iPhone 11
  8. .NET 4.0中的泛型协变和反变
  9. 版本差异_终极版!三星Note20系列在真机再曝光,不同版本差异在这几点
  10. Linux安装gcc和运行代码教程
  11. vi vim 查找和替换字符串 命令
  12. Cisco路由器配置dhcp服务器
  13. python银行系统-python实现简单银行管理系统
  14. ets交易软件测试简历,ETS工具使用指南
  15. [交流] 新手常见(五国)(-v图)错误解决(原版,破解kernel,补丁kext下载)
  16. 浅析阿里云API网关的产品架构和常见应用场景
  17. 【2021版】吐血整理_专升本计算机文化基础—Excel2010
  18. 我跟Python的孽缘
  19. APP性能测试——基于手机的专项测试
  20. 围绕边框宽度的html,设置围绕表格的边框宽度的HTML代码是?

热门文章

  1. C语言哆啦a梦用printf输出,【2013.1.20】故事的最后,哆啦A梦终于又回到了大雄身边。从此两个人过上了…——ProtoType...
  2. 模拟手机浏览器_干货系列,让浏览器自己动起来,解放双手
  3. springmvc面试题2021
  4. python中的string模块_有没有可能模仿Python中的string模块?
  5. php.ini mysql扩展_PHP安装mysql.so扩展及相关PHP.ini 配置参数说明
  6. jsp中两个字符串格式的日期可以相减吗_举个栗子!Tableau 技巧(126):学几个常用的日期函数...
  7. spring boot : Invalid Keystore format Error 解决方法
  8. Spring cloud整合zookeeper
  9. android cursor 实例化,为什么Cursor放到带参数带返回值方法里就报错?
  10. sql的加减乘除运算_实现四则运算的一条sql语句