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 –s ethX [speed 10|100|1000] [duplex half|full]  [autoneg on|off]        //设置网口速率10/100/1000M、设置网口半/全双工、设置网口是否自协商

使用举例:

1)查询eth0网口基本设置(网卡速率是百兆还是千兆等):

# ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Supported pause frame use: No               //是否支持热插拔
        Supports auto-negotiation: Yes               //是否支持自动协商
        Advertised link modes:  10baseT/Half 10baseT/Full 
                                100baseT/Half 100baseT/Full 
                                1000baseT/Full 
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s                     //速率
        Duplex: Full                               //全双工
        Port: Twisted Pair                      //电口
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: Unknown
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes     //网线连接状态

2)查看网卡的驱动信息:

# ethtool -i eth0                //查看网卡的驱动版本
driver: e1000
version: 7.3.21-k8-NAPI
firmware-version: 
bus-info: 0000:02:01.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

3)查看网卡的输入流量,输出流量,输入包,输出包,输入的广播,输出的广播,输入的网络错包,输出的网络错包等:

# ethtool -S eth1          
   NIC statistics:
     rx_packets: 58068300
     tx_packets: 87124083
     rx_bytes: 1589713008
     tx_bytes: 2165825901
     rx_errors: 0
     tx_errors: 0
     rx_dropped: 0
     tx_dropped: 0
     multicast: 0
     collisions: 0
     rx_length_errors: 0
     rx_over_errors: 0
     rx_crc_errors: 0
     rx_frame_errors: 0
     rx_fifo_errors: 0
     rx_missed_errors: 0
     tx_aborted_errors: 0
     tx_carrier_errors: 0
     tx_fifo_errors: 0
     tx_heartbeat_errors: 0
     tx_window_errors: 0

解决相关问题:

最近碰到的一个问题: 将eth1挂到ovs dpdk网桥上,将网桥删除以后,再使用 ifconfig -a ,发现eth3不见了。

解决过程:

首先使用如下两条命令,可以找出eth1的bus-info: 0000:03:00.1

# lspci|grep Eth    // 列出机器中的PCI设备信息,如声卡,显卡,Modem,网卡等信息
02:00.1 Ethernet controller: Advanced Micro Devices, Inc. [AMD] 79c970 [PCnet32 LANCE] (rev 10)
03:00.1 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rev 91)

# ethtool -i eth0                //查看网卡的驱动版本
driver: ixgbe
version: 7.3.21-k8-NAPI
firmware-version: 
bus-info: 0000:02:00.1           // 对应bus-info
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

接下来做两件事:

# 解绑设备驱动
echo "0000:03:00.1" > /sys/bus/pci/devices/0000\:03:00.1/driver/unbind

# 重新绑定驱动
echo "0000:03:00.1" > /sys/bus/pci/driver/ixgbe/bind

OK! ifconfig -a 又可以看见eth1了!

相关知识点:

/sys/bus/pci/devices/目录下列出了系统中所有pci设备的名称(不管有没有安装对应的驱动程序),pci设备的名称就是相应的pci地址(即“域:pci总线号:槽位号:功能号”)。

/sys/bus/pci/drivers目录下则列出了所有pci设备的驱动。

相关目录下会有一些别的文件,像bind用来指定某个pci设备由此驱动接管,unbind则起相反的作用。通常,一个驱动都有自己支持的设备型号的列表。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值