Hi3516A开发--ethtool安装和使用
一、下載
ethtool-4.6.tar.gz下載
二、安裝
解壓:tar -xvf ethtool-4.6.tar.gz
配置:./configure --host=arm-hisiv300-linux ?
//--host 指定的是交叉編譯工具鏈的前綴
編譯:make
生成:ethtool
查看:file ethtool
ethtool: ELF 32-bit LSB ?executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), not stripped
拷貝:cp ethtool /usr/sbin ? ? ? //拷貝到開發(fā)板
擴(kuò)展: ./configure 的配置和用法
三、測(cè)試
/usr/sbin # ethtool eth0
Settings for eth0:
? ? ? ? Supported ports: [ TP AUI BNC MII FIBRE ]
? ? ? ? Supported link modes: ? 10baseT/Half 10baseT/Full?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100baseT/Half 100baseT/Full?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1000baseT/Half 1000baseT/Full?
? ? ? ? Supported pause frame use: Symmetric
? ? ? ? Supports auto-negotiation: Yes
? ? ? ? Advertised link modes: ?10baseT/Half 10baseT/Full?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 100baseT/Half 100baseT/Full?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1000baseT/Half 1000baseT/Full?
? ? ? ? Advertised pause frame use: Symmetric
? ? ? ? Advertised auto-negotiation: Yes
? ? ? ? Speed: 100Mb/s
? ? ? ? Duplex: Full
? ? ? ? Port: MII
? ? ? ? PHYAD: 1
? ? ? ? Transceiver: external
? ? ? ? Auto-negotiation: on
? ? ? ? Link detected: yes
也可以如下查看網(wǎng)卡速率:
#cat /sys/class/net/eth0/speed
100
分析:
可以看到支持10M、100M、1000M,而實(shí)際網(wǎng)卡速率為Speed: 100Mb/s。
那么問題來了,是不是千兆網(wǎng)卡Speed一定是1000M呢?
結(jié)果是不一定,網(wǎng)卡速率和網(wǎng)線,交換機(jī)端口速率都有關(guān)系,看到Auto-negotiation字段了吧,on表示開啟自動(dòng)協(xié)商,插上網(wǎng)線后會(huì)兩端會(huì)自動(dòng)協(xié)商一個(gè)都支持的速率。
Link detected 表示插好網(wǎng)線,激活網(wǎng)卡(ifup ethx, 其實(shí)是二層up)才會(huì)yes。
具體到我這個(gè)板卡為何支持1000兆網(wǎng),網(wǎng)卡速度卻是100Mb/s呢?
四、使用
輸入./ethtool --help 命令可看到詳細(xì)的幫助信息。
或可參看:Linux命令之Ethtool用法詳解
下面主要講一下ethtool 配置接口。
用戶可以通過標(biāo)準(zhǔn) ethtool 工具接口進(jìn)行流控功能的使能。
ethtool –a eth0 命令查看 eth0 口流控功能狀態(tài);打印如下:
# ./ethtool -a eth0
Pause parameters for eth0:
Autonegotiate: on
RX: on
TX: on
其中, RX 流控是打開的, TX 流控是打開的;
用戶可以通過以下命令打開或關(guān)閉流控:
# ./ethtool -A eth0 rx off(關(guān)閉 RX 流控)
# ./ethtool -A eth0 rx on(打開 RX 流控)
# ./ethtool -A eth0 tx off(關(guān)閉 TX 流控)
# ./ethtool -A eth0 tx on(打開 TX 流控)
GMAC 模塊支持 TSO 功能且默認(rèn)是打開的,如果用戶希望關(guān)閉 TSO 功能,可通過工具 ethtool 將其關(guān)閉。開關(guān) TSO 功能的方法如下:
關(guān)閉 TSO: ./ethtool –K eth0 tx off
打開 TSO: ./ethtool –K eth0 tx on
TSO( TCP Segment Offload)功能簡(jiǎn)介:
TSO (TCP Segmentation Offload)是一種利用網(wǎng)卡分割大數(shù)據(jù)包,減小 CPU 負(fù)荷的一種技術(shù),也被叫做 LSO (Large segment offload),如果數(shù)據(jù)包的類型只能是TCP,則被稱之為 TSO,如果硬件支持 TSO 功能的話,也需要同時(shí)支持硬件的TCP 校驗(yàn)計(jì)算和分散-聚集 (Scatter Gather) 功能。 TSO 的實(shí)現(xiàn),其實(shí)是由軟件和硬件結(jié)合起來完成的,具體說來,硬件能夠?qū)Υ蟮臄?shù)據(jù)包進(jìn)行分片,并對(duì)每個(gè)分片附著相關(guān)的頭部。
Hi3516A 芯片使用 TSO 時(shí),會(huì)把一部分由 CPU 處理的工作轉(zhuǎn)移到由網(wǎng)卡來處理,減輕 CPU 的壓力,提高性能。
總結(jié)
以上是生活随笔為你收集整理的Hi3516A开发--ethtool安装和使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WIN10下怎么找到MYSQL5.7数据
- 下一篇: Java线程中断机制-如何中断线程