doc: update command/ethtool.md
This commit is contained in:
parent
dd0f088676
commit
4eb43ab53b
|
|
@ -53,77 +53,21 @@ Ethtool命令显示的信息来源于网卡驱动层,即TCP/ip协议的链路
|
|||
|
||||
网卡驱动负责实现(部分)这些函数,并将其封装入`ethtool_ops`结构体,为网络核心层提供统一的调用接口。因此,不同的网卡驱动会给应用层返回不同的信息。`Ethtool命令选项`、`struct ethtool_ops成员函数`、`Ethtool命令显示参数的来源`,三者间的对应关系如下表所示:
|
||||
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th style="width: 100px;">命令选项</th>
|
||||
<th>struct ethtool_ops成员函数</th>
|
||||
<th>Ethtool命令显示参数的来源(以网卡驱动BNX2为例)</th></tr>
|
||||
<tr>
|
||||
<td>无 -s</td>
|
||||
<td>get_settingsget_wol get_msglevel get_link set_settings set_wol set_msglevel</td>
|
||||
<td>从网卡寄存器中获得网卡速度等信息,可配置。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-a -A</td>
|
||||
<td>get_pauseparam set_pauseparam</td>
|
||||
<td>从网卡寄存器中获得Autonegotiate/RX/TX模块的状态:on oroff,可配置。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-c -C</td>
|
||||
<td>get_coalesceset_coalesce</td>
|
||||
<td>从网卡寄存器中获得coalescing参数:TX/RX一个数据包后,推迟发生TX/RX中断的时间(us)/数据包个数。—减小该值可以提高网卡的响应时间。 当rx-usecs&rx-frames同时被设为0时,RX中断停止。 当tx-usecs&tx-frames同时被设为0时,TX中断停止。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-g -G</td>
|
||||
<td>get_ringparam set_ringparam</td>
|
||||
<td>除当前TX/RX ring的值(从网卡寄存器中读取得到,可配置)外,其它为网卡bnx2自己固定的信息。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-k -K</td>
|
||||
<td>get_rx_csumget_tx_csum get_sg get_tso set_rx_csum set_tx_csum set_sg set_tso</td>
|
||||
<td>显示信息从保存该状态的变量中读取得到,没有对应的寄存器。因此,TX/RX校验等模块一直处于on状态,实际上是无法修改的。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-i</td>
|
||||
<td>get_drvinfo[self_test_count, get_stats_coun,t get_regs_len, get_eeprom_len]</td>
|
||||
<td>网卡bnx2自己固定的信息,如:
|
||||
——————————————————–
|
||||
driver: bnx2 version: 1.4.30 firmware-version: 1.8.0.5 bus-info: 0000:09:00.0
|
||||
——————————————————–</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-d</td>
|
||||
<td>get_drvinfoget_regs</td>
|
||||
<td>不支持,即bnx2中没有实现函数get_regs。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-e -E</td>
|
||||
<td>get_eepromset_eeprom</td>
|
||||
<td>不支持,即bnx2中没有实现函数get_eeprom。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-r</td>
|
||||
<td>nway_reset</td>
|
||||
<td>配置网卡MII_BMCR寄存器,重启Auto negotiation模块。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-p</td>
|
||||
<td>phys_id</td>
|
||||
<td>配置网卡BNX2_EMAC_LED寄存器,实现LED闪功能。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-t</td>
|
||||
<td>self_test</td>
|
||||
<td>通过配置网卡寄存器,逐一测试网卡的硬件模块:registers,memory,loopback,Link stat,interrupt。</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>-S</td>
|
||||
<td>get_ethtool_stats</td>
|
||||
<td>显示信息来源于网卡驱动中的结构体变量stats_blk。(网卡通过DMA方式,将寄存器BNX2_HC_STATISTICS _ADDR_L和BNX2_HC_STATISTICS_ADDR_H中的数据实时地读取到结构体变量struct statistics_block *stats_blk中。) —显示的数据都是从网卡寄存器中统计得到的,各项的含义需查询网卡(芯片)手册。</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
| 命令选项 | 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命令用于显示/配置网卡硬件(寄存器)。
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue