|
Linux*基础驱动程序,适用于英特尔®PRO/1000家族适配器
概述 如何辨别您的适配器 编译和安装 命令行参数 速度和双工配置 额外配置
概述
本文件描述Linux基础驱动程序,用于英特尔PRO/1000系列的适配器。 该驱动程序支持2.4.x和2.6.x内核。 该驱动程序包括支持针对基于安腾®2的系统的测试。
该驱动程序仅受支持为可加载模块。 英特尔不会针对内核源码供应补丁程序来允许驱动程序的静态联结。 有关硬件要求的问题,请参考随附的文档英特尔PRO/1000适配器。 列出的所有硬件要求适用于Linux。
此发行版包括支持英特尔®I/O加速技术、英特尔®I/OAT。 这是系统上受支持使用英特尔®5000系列芯片组集成设备-1 a38。
更多有关英特尔I/OAT 英特尔®I/O加速技术
以下功能现在有支持的内核:
通道捆绑文档都可以找到Linux内核的来源:/documentation/networking/bonding.txt
驱动程序信息先前显示在/proc文件系统在本版本中不受支持。 或者,您可以使用ethtool(版本1.6或更高版本)、lspci和ifconfig获取相同的信息。 说明上更新ethtool位于第一部分额外配置本文档后文。
备注:"英特尔®82562V10 /100网络连接只提供10 /100支持。
如何辨别您的适配器
要获得更多有关如何识别您的适配器,请转到"适配器及驱动程序识别指南,位于:
网络适配器及驱动程序识别指南
针对最新的英特尔网络驱动程序,用于Linux转到 下载中心
编译和安装
要编译本驱动程序的二进制RPM*包,运行'rpmbuild-tb'<filename.tar.gz>。 更换<filename.tar.gz>用特定的驱动程序文件名。
注:要使编译版本正确运行,当前运行的内核必须安装的内核源的版本和配置相符。 如果刚重新编译了内核,请立即重新启动系统。
RPM功能只有经测试在Red Hat分发版。
- 将基本驱动程序的tar文件移往您选择的目录。 例如,使用'/home/username/e1000'或'/usr/local/src/e1000'。
- 解压缩该档案文件,其中<x.x.x>是驱动程序压缩文件的版本号文件:
tar zxf e1000-<x.x.x>.tar.gz
- 切换到驱动程序src目录下,其中<x.x.x>是驱动程序压缩文件的版本号:
CD e1000-<x.x.x>/src/
- 编译驱动程序模块:
make install 二进制文件将安装为: /lib/modules/ <kernel版>/kernel/drivers/net/e1000/e1000。[K]O 安装位置以上所列的默认位置。 这可能各有不同各种Linux分发版。
- 加载该模块使用insmod或modprobe命令:
modprobe e1000 insmod e1000
注意,对于2.6内核insmod命令可用于如果的完整的路径驱动程序模块目录。 例如:insmod /lib/modules/ <kernel版>/kernel/drivers/net/e1000/e1000.ko
采用基于2.6内核还可以确保旧e1000驱动程序被移除从内核,然后加载新模块:rmmod e1000;modprobe e1000
- 用下列命令指派IP地址至接口卡,其中<X>是接口卡号:
ifconfig eth<x> <ip_address>
- 验证接口卡正常工作。 输入以下命令。其中,<ip_address>的另一台计算机的IP地址与被测接口卡位于同一子网:
Ping <ip_address>
命令行参数
驱动程序是否构建为一个模块,以下可选参数在使用时,将其输入在命令行modprobe命令使用此语法:
modprobe e1000[<option>=<val1>、<val2>、....EXE]
例如,有两个PRO/1000PCI适配器,输入:
modprobe e1000 txdescriptors=80,128
加载e1000驱动程序80TX描述符为第一个适配器和128TX描述符为第二个适配器。
默认值为每个参数是一般建议设置,除非另有说明。
注:要获得更多关于AutoNeg、Duplex和Speed参数的更多信息,请参阅速度和双工配置节本文档中。
了解更多有关任务interruptthrottlerate、RxIntDelay、txintdelay、rxabsintdelay和txabsintdelay参数,请参阅应用注意事项:中断节制"使用英特尔千兆位以太网控制器应用注意事项(AP-450)。
一个描述符说明了一个数据缓冲区和属性相关的数据缓冲区。 此信息可通过硬件。
|
参数名称 |
有效范围/"设置 |
默认 |
说明 |
|
Autoneg(自动协商) |
0 x01-0 x0f、0 x20-0 x2f |
x2f 0 |
此参数是一位的掩码,指定网卡所广告的速度和双工设置。 使用该参数时,不得指定Speed和Duplex参数。
此参数是仅支持适配器上使用铜触点。
注:请参阅速度和双工这一节的自述文件,了解有关AutoNeg参数。 |
|
双工模式 |
0-2(0=自动协商,1=半双工,2=全) |
0 |
定义数据允许的流向。 可为单向或双向。 如果Duplex与链接伙伴均设为自动协商,则网卡将自动检测正确的双工模式。 如果链接伙伴被强制设置(全双工或半双工),Duplex默认设置为半双工。
此参数是仅支持适配器上使用铜触点。 |
|
flowcontrol |
0-3(0=无,1=仅Rx,2=仅Tx,3=Rx和Tx) |
从EEPROM读入流量控制设置 |
此参数控制自动生成(Tx)和响应(RX)对以太网PAUSE帧。 |
|
interruptthrottlerate |
(不受英特尔(R)82542、82543或82544的适配器) 有效范围:0、1、3,100-100000(0=关,=dynamic1,3=dynamic保守)
|
3 |
该驱动程序可能限制数量的每秒中断,适配器将生成的进入数据包。 它并通过制定一个值的适配器,它是基于最大数量的中断,适配器将生成每秒。
设置interruptthrottlerate了一个值大于或等于100 将计划的适配器发送最大的许多每秒中断,即使更多数据包都来。 这将减少中断系统加载并可降低CPU利用器重负荷,但将增加等待时间为信息包不处理迅速。
默认行为的驱动程序以前假定为静态interruptthrottlerate值8000,提供了很好的后退值所有通信类型,但缺乏小包性能和延迟。 硬件可以处理有更多小型信息包每秒然而,为此"适应性中断节制"算法实现了。
由于7.3.x时,驱动程序有两个适应性模式(设置1或3),动态调整interruptthrottlerate值根据流量,它接收。 在确定类型的输入流量在过去时间范围内,它将调整interruptthrottlerate到一个相应的值为该通信量。
算法进行归类的输入流量每个间隔插入 类。 一旦此类是确定,interruptthrottlerate值为调整,以适应该通信量类型最佳。 有三类定义:"批量流量",对大量的数据包的正常大小;"低延迟",如果是小型大量的通信量和/或一个显著的百分比小型信息包;以及"最低等待时间",在几乎完全小型信息包或很少通信量。
在动态保守模式下,interruptthrottlerate设置值为4000的访问量在类"批量流量"。 如果流量低于在"低延迟"或"最低等待时间"类中,interruptthrottlerate增加到循序渐进20000。 此默认模式适合于大多数应用程序。
的情形低延迟是关键如群集或网格计算,算法可减少等待时间更上一层楼当 interruptthrottlerate设置为模式1。 在这种模式下,而且操作性 相同模式3,interruptthrottlerate将会增加循序渐进到70000的交通类"最低等待时间"。
设置interruptthrottlerate到0关闭任何中断节制" 并且可能会提高小型信息包等待时间,但通常不适合于 对于批量吞吐量流量
注意:interruptthrottlerate高于txabsintdelay和rxabsintdelay参数。 换句话说,尽量减少接收和/或传输绝对延迟不强制控制器来产生更多中断比中断会钳制速率允许。
注意:如果您使用的是英特尔(R)PRO/1000CT网络连接(控制器82547)、interruptthrottlerate设置了一个值大于75,000,可能挂起(停止传输)适配器 在某些网络条件下。 如果发生这种情况一个netdev 监视程序消息会记录在系统事件日志中。 在 此外,控制器会自动重置,恢复网络连接。 要避免发生挂起,确保interruptthrottlerate设置不高于75,000并未设为0。
注意:当e1000是加载默认设置和多个适配器在使用同时,CPU利用率会增加非线性增大。 为了限制CPU利用率,而丝毫不会影响 整体吞吐量,我们建议您加载驱动程序 如下所示:
modprobe e1000 interruptthrottlerate=3000、3000,300 0
这设定interruptthrottlerate到3000中断数/秒第一、第二、和第三实例驱动程序。 的范围为2000 3000每秒中断工作在大多数系统和是一个良好的起点,但最佳值将平台特定。 如果CPU利用率没有一个主要问题,使用rx_polling(纳皮峰)和默认驱动程序设置。 |
|
rxdescriptors |
80-256的82542和82543的适配器
80-4096对其他所有适配器支持 |
256 |
此值指定接收缓冲区描述符分配的驱动程序。 增大此数值将允许驱动程序把更多的进入包放入缓冲区,在支出的增加系统内存利用率。
每一描述符为16字节。 还配有一个接收缓冲区分配为每个描述符,可以是2048、4096、8192或16384字节,取决于MTU设置。 MTU最大16110。
注意:MTU代表帧大小。 它仅需要设置为"巨帧"。 取决于可用系统资源,如果要求较高的处理器编号的接收描述符可能被拒绝。 在这种情况下,使用较低编号。 |
|
RxIntDelay |
0-65535(0=关) |
0 |
此值延迟接收中断的生成1.024毫秒为单位。 减少接收中断可提高CPU效率如果针对特定的网络交通量调整。 增大该值会为帧接收添加额外的等待时间,可能导致TCP交通吞吐量降低。 如果系统报告接收信息包被丢弃,该值可能设置得太高,导致驱动程序用尽了可用的接收描述符。
注意:在设置RxIntDelay到一个值不是0、适配器可能挂起(停止传输)在某些网络条件下。 如果发生这种情况一个netdev监视程序消息会记录在系统事件日志中。 此外,控制器会自动重置,恢复网络连接。 要避免发生挂起确保RxIntDelay设为零。 |
|
rxabsintdelay |
0-65535(0=关) |
128 |
此值,单位:1.024毫秒,限制了延迟中一个接收中断时,产生。 有用只有RxIntDelay非零,此值确保中断是生成在初始数据包接收到该组组内的时间。 正确调整,连同RxIntDelay,可能改善交通吞吐量在特定网络条件。
此参数是仅支持基于82540、82545和更高版本适配器。 |
|
速度 |
0、10、100、1000 |
0 |
Speed强制线路速度为指定的值,以每秒兆位为单位(Mbps)。 如果此参数未指定或设为0与链接伙伴设为自动协商,则网卡将自动检测正确的速度。 Duplex也必须设置当速度设为10或100。
此参数是仅支持适配器上使用铜触点。 |
|
txdescriptors |
80-256的82542和82543的适配器
80-4096对其他所有适配器支持 |
256 |
此数值是驱动程序所分配的传输描述符的数量。 增大此数值将允许驱动程序把更多的传输包排入队列。 每一描述符为16字节。 |
|
txintdelay |
0-65535(0=关) |
64 |
此值延迟一代的传输中断单位:1.024毫秒为单位。 传输中断缩减可提高CPU效率如果针对特定的网络交通量调整。 如果系统报告传输丢弃,该值可能设置得太高导致驱动程序用尽了可用传输描述符。 |
|
txabsintdelay |
0-65535(0=关) |
64 |
此值,单位:1.024毫秒,限制了延迟中一个传输中断生成。 有用只有txintdelay非零,此值确保中断是生成在初始数据包发送线路上到该组组内的时间。 正确调整,连同txintdelay,可能改善交通吞吐量在特定网络条件。
此参数是仅支持基于82540、82545和更高版本适配器。 |
|
XSUMRX |
0-1 |
1 |
若值为'1'表示驱动程序应启用IP校验和分载为接收的信息包(UDP和TCP二者)至适配器硬件。
此参数是不支持在82542的适配器。 |
|
copybreak |
0-XXXXXXX(0=关) |
256 |
用法:insmod e1000.ko copybreak=128
驱动程序复制所有数据包或下面equaling此大小初次Rx缓冲区之前转交给其设置堆栈。
此参数是不同于其它参数,因为它是一款单(而不是1,1,1等)参数适用于所有驱动程序实例,它也可在运行时在/sys/module/e1000/parameters/copybreak | |
速度和双工配置
使用三个关键字来控制速度和双工模式配置。 这些关键字是速度、双工模式、和AutoNeg(自动协商)。
如果主板使用光纤接口,这些关键字将被忽略,光纤接口主板仅链接以1000Mbps全双工。
对铜质网卡,关键字互相配合如下:
默认操作为自动协商。 网卡广告所有支持的速度和双工组合,并且它以最快的共同速度和双工模式进行链如果链接伙伴设为自动协商。
如果Speed=1000,仅启用有限的自动协商,且只1000Mbps广告(1000BaseT规格要求自动协商)。
如果Speed=10或100,那么速度和双工应该设置。 自动协商被禁用,AutoNeg参数被忽略。 合作伙伴也应强制。
使用Autoneg参数在需要更多控制时通过自动协商进程。 它时应使用你想控制何种速度和双工组合广告在自动协商过程。 该参数可指定为一个十进制或十六进制值由位图。
|
位位置 |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
十进制值 |
128 |
64 |
32 |
16 |
8 |
4 |
2 |
1 |
|
十六进制值 |
80 |
40 |
20 |
10 |
8 |
4 |
2 |
1 |
|
Speed(Mbps): |
N/A |
N/A |
1000 |
N/A |
100 |
100 |
10 |
10 |
|
双工: |
|
|
全 |
|
全 |
半 |
全 |
半 | |
一些实例使用Autoneg(自动协商):
- modprobe e1000 autoneg=0x01(限制自动协商至10半双工)
- modprobe e1000 autoneg=1(如以上所示)
- modprobe e1000 autoneg=0x02(限制自动协商至10全)
- modprobe e1000 autoneg=0x03(限制自动协商至10半双工或10全)
- modprobe e1000 autoneg=0x04(限制自动协商至100半双工)
- modprobe e1000 autoneg=0x05(限制自动协商至10半双工或100半双工)
- modprobe e1000 autoneg=0x020(限制自动协商至1000全)
- modprobe e1000 autoneg=32(如以上所示)
请注意,使用该参数时,不得指定Speed和Duplex。
如果链接伙伴被强制设置为特定的速度和双工设置,则此参数应不使用。 相反,使用的速度和双工参数前述强制适配器相同的速度和双工模式。
额外配置
配置完驱动程序在不同分发版
配置网络驱动程序使之在系统启动时正确载入随分发版本而异。 典型情况是配置进程增加一行alias(别名)行/etc/modules.conf或/etc/modprobe.conf,以及编辑其它系统启动脚本和(或)配置文件。 许多流行的Linux分发版附带工具,使这些更改。 要了解为您的系统配置网络设备的正确方法,参阅您的分发版本的文档。 如果在此过程中被询问驱动程序或模块的名称,其名称为"Linux基础驱动程序,用于英特尔®PRO/1000家族适配器是e1000。
例如,如果您安装了e1000驱动程序为两个PRO/1000适配器(eth0和eth1)和设定速度和双工10全双工和100半双工,添加以下内容modules.conf或/etc/modprobe.conf:
alias eth0 e1000 alias eth1 e1000 选项e1000 speed=10,100 duplex=2、1
查看链接消息
链接消息将不显示至控制台如果该分发版限制系统消息。 能在控制台看到链接消息,设置输入以下命令将dmesg设为8:
dmesg-N8
巨帧
启用巨帧的方法是将最大传输单位(MTU)的值改为大于默认值为1500。 使用ifconfig命令来增大MTU大小。 例如:
ifconfig eth<x> MTU高达9000
这一设置并不跨引导保存。 设置更改可永久,需添加mtu=9000到文件:/etc/sysconfig/network-scripts/ifcfg-eth<X>(Red Hat分发版)。 其他分发版可能存储中的此设置一个不同的位置。
|
注:
要启用巨帧,增大MTU的界面超过1500。
MTU最大设置巨帧是16110。 此值装卸码头,最大巨帧大小的16128。
一些英特尔千兆位适配器支持巨帧有一个帧大小限制为9238字节,相应的MTU大小限制为9216字节。 该适配器与此限制基于英特尔®82571EB、82572EI、82573L和es2lan 80003控制器。 这些对应于以下产品名称:
- 英特尔®PRO/1000 PT服务器适配器
- 英特尔®PRO/1000 PT台式机适配器
- 英特尔®PRO/1000PT网络连接
- 英特尔®PRO/1000 PT双端口服务器适配器
- 英特尔®PRO/1000pt双端口网络连接
- 英特尔®PRO/1000 PF服务器适配器
- 英特尔®PRO/1000PF网络连接
- 英特尔®PRO/1000 PF双端口服务器适配器
- 英特尔®PRO/1000pb服务器连接
- 英特尔®PRO/1000PL网络连接
- 英特尔®PRO/1000EB网络连接与I/O加速
- 英特尔®PRO/1000EB背板连接采用I/O加速
- 英特尔®PRO/1000 PT四端口服务器适配器
- 英特尔®PRO/1000 PF四端口服务器适配器
使用巨帧,10或100Mbps可能导致性能较差或丢失链接。
适配器基于英特尔®82542和82573V/E控制器不支持巨帧。 这些对应于以下产品名称:
- 英特尔®PRO/1000千兆位服务器适配器
- 英特尔®PRO/1000PM网络连接
以下适配器不支持巨帧:
- 英特尔®82562V10 /100网络连接
- 英特尔®82566DM千兆位网卡
- 英特尔®82566DC千兆网卡
- 英特尔®82566MM千兆网络连接
- 英特尔®82566MC千兆网卡
- 英特尔®82562GT10 /100网络连接
- 英特尔®82562G10 /100网络连接
|
ethtool
该驱动程序利用ethtool界面进行驱动程序配置和诊断,以及显示统计信息。 Ethtool版本1.6或更高版本此功能要求。
最新版本的ethtool可在下面的网址找到:http://sourceforge.net/projects/gkernel*。
|
注意:ethtool1.6仅支持有限的ethtool选项。 支持一个更完整ethtool功能集可以启用升级至最新版本。 |
启用Wake on LAN*(局域网唤醒,WOL)
wol配置通过Ethtool*实用程序。 之后的所有Red Hat版本都包括Ethtool Red Hat7.2。 对其他Linux分发版,请下载并安装Ethtool从下列网站获得:http://sourceforge.net/projects/gkernel*。
有关用Ethtool启用WoL的指导,参阅上列网站。
WoL将启用在下次关机或重新引导。 对本版驱动程序,要启用WoL,e1000驱动程序必须加载之前关闭或中止系统。
|
注意:LAN上的唤醒功能是唯一支持的端口A用于以下设备:
- 英特尔PRO/1000pt双端口网络连接
- 英特尔PRO/1000pt双端口服务器连接
- 英特尔PRO/1000pt双端口服务器适配器
- 英特尔PRO/1000PF双端口服务器适配器
- 英特尔PRO/1000PT四端口服务器适配器
|
纳皮峰
纳皮峰(RX轮询模式)支持e1000驱动程序。 纳皮峰是启用还是禁用基于配置的内核。 要覆盖此默认值,请使用以下编译时间标志。
要启用纳皮峰、编译驱动程序模块,传递配置选项:
确保cflags_extra=-de1000_napi安装
要禁用纳皮峰、编译驱动程序模块,传递配置选项:
确保cflags_extra=-de1000_no_napi安装
请参阅http://www.cyberus.ca/~hadi/usenix-paper.tgz*以获取更多信息纳皮峰上。
操作系统:
本文适用于:
|