Linux* 基础驱动程序支持 2.6.x 内核 , 并且包括对任何受 Linux 支持系统 , 包括 Itanium ® 2 、 x86_64 、 i686, 和 PPC
这些驱动程序仅作为可加载模块支持。 英特尔不对内核源提供进行驱动程序静态链接的补丁程序。 驱动程序的一个版本 , 通过您的分发和 / 或 kernel.org 内核可能已经包含。 有关硬件要求的问题 , 参阅英特尔适配器的随附文档。 所有列出的硬件要求均适用于 Linux 。
以下功能现在两种支持的内核中可用 ::
- 本地 VLAN
- 通道结合 ( 分组 )
- SNMP
- 通用接收分载
- 数据中心桥接
通道结合文档可以在 Linux 内核源码中找到 :/Documentation/networking/bonding.txt
驱动程序信息以前显示在 /proc 文件系统中 , 在该版本中不支持。 此外 , 您可以使用 ethtool( 版本 1.6 或以后版本 ) 、 lspci 和 ifconfig 获取相同的信息。 有关更新 ethtool 的说明可以在 " 节中找到的其他配置本说明文件后面的 " 。
在本发行版中的驱动程序兼容基于 82598 和 82599 的英特尔 (R) 网络连接。
有关识别适配器的更多信息 , 请转到网络适配器及驱动程序识别指南 , 位于 :
http://support.intel.com/support/go/network/adapter/proidguide.htm
有关最新的用于 Linux 的英特尔网络驱动程序 , 请参考以下网站 : 选择该适配器的链接。
http://support.intel.com/support/go/network/adapter/home.htm
带有可插拔光纤的 SFP+ 设备
基于 82599 的适配器
|
|
下表列出已进行过一些测试的第 3 方 SFP+ 模块和直接挂接缆线。 并非所有模块均适用于所有的设备。
|
基于 82599 的适配器支持所有的被动和主动限制直接连接至符合 SFF-8431v4.1 和 SFF-8472v10.4 规格的电缆。
激光打印机的关闭的 SFP+ 当 ifconfig 下
"ifconfigdown" 关闭激光对基于 82599 的 SFP+ 光纤适配器。 "ifconfigup" 即可打开激光。
基于 82598 的适配器
|
下表列出已进行过一些测试的 SFP+ 模块和直接挂接缆线。 并非所有模块均适用于所有的设备。
|
基于 82598 的适配器支持所有符合 SFF-8431v4.1 和 SFF-8472v10.4 规格的被动直接挂接缆。 不支持主动直接挂接缆线。
对上文提及第三方光纤模块和缆线仅列出了为高亮显示第三方技术指标和潜在的兼容性 , 并不推荐或认可或赞助的目的的任何第三方的产品由英特尔。 英特尔不保证或推销任何第 3 方产品 , 而提供第 3 方参考仅仅为了分享有关符合以上规范的某些光纤模块和缆线的信息。 其他生产商或供应商也可能生产或供应符合或类似这些规范或与这些规范类似的光纤模块和缆线。 客户选购第 3 方的光纤模块和缆线时 , 必须自行研判。 判定产品和 / 或设备的适用性以及选定购买任何产品的供应商 , 完全是客户的责任。 英特尔对上文提及的光纤模块和缆线不提供担保或支持。 英特尔不承担任何责任 , 英特尔声明对于客户销售和 / 或使用此类第 3 方产品或者选择供应商没有任何明确或隐含的保证。
构建该驱动程序的二进制 RPM* 包 , 运行 ?rpmbuild-tbixgbe.tar.gz) 。
|
要手动构建该驱动程序 :
-
将基础驱动程序 tar 文件移到您所选的目录中。 例如 , 使用“ /home/username/ixgbe ”或“ /usr/local/src/ixgbe" 。
-
解压缩该档案文件 :
tarzxfixgbe-x.x.x.x.x.tar.gz
-
切换到驱动程序 src 目录下 :
cdixgbe-x.x.x/src/
-
编译驱动程序模块 :
makeinstall
二进制文件将安装为 :
/lib/modules/[KERNEL_VERSION]/kernel/drivers/net/ixgbe/ixgbe.[k]o
以上列出的安装位置是默认位置。 这可能因不同的 Linux 发行版本而异。
-
加载模块 :
对内核 2.6.x, 请使用 modprobe 命令 -
modprobeixgbe< 参数 >=< 值 >
注意 , 在 2.6 内核中 , 如果指定了驱动程序模块的完整路径 , 可以使用 insmod 命令。 例如 :
insmod/lib/modules/<>/kernel/drivers/net/ixgbe/ixgbe.ko 内核版本
带有 2.6 的内核 , 同时也要确保较旧的 ixgbe 驱动程序是从内核中去除 , 然后再加载新模块 :
rmmodixgbe;modprobeixgbe
-
用下列命令指派 IP 地址至接口卡 , 其中 ,x 是接口卡号 :
ifconfigethxIP 地址 ><netmask< 子网掩码 >
-
验证接口工作正常。 输入以下命令。其中 <IP 地址 > 是与被测的接口在同一子网上的另一台计算机的 IP 地址 :
Ping<IP 地址 >
用 DCA 编译 ixgbe 驱动程序
如果内核支持 DCA, 驱动程序的构建默认启用 DCA 。
如果驱动程序作为模块构建 , 可以使用以下可选参数 , 按该语法在命令行中输入与 modprobe 命令配合使用 :
modprobeixgbe[<option>=<val1>,<val2>,...]
例如 :
modprobeixgbeInterruptThrottleRate=16000,16000
除非特别说明 , 否则每个参数的默认值通常都是推荐设置。
|
在不同发行版本上配置驱动程序
将网络驱动程序配置为系统启动时正确加载因发布版本而异。 通常情况下 , 配置过程涉及到一行 alias( 别名 ) 行添加到 /etc/modules.conf 或 etc/modprobe.conf, 以及编辑其它系统启动脚本和 / 或配置文件。 很多流行 Linux 发行版本提供工具帮您执行这一更改。 要了解为系统配置网络设备的正确方式 , 请参见发行版本文档。 如果在此过程中被询问驱动程序或模块的名称 , 的 RedHatLinux 基础驱动程序的名称为的 10 千兆位系列适配器是 ixgbe 。
查看链接消息
如果发布版本限制系统消息 , 则链接信息不会显示在控制台上。 为了在控制台上查看网络驱动程序链接消息 , 可以输入以下内容将 dmesg 设置为 8:
dmesg-n8
|
该驱动程序支持的所有适配器的巨帧。 启用巨帧的方法是将 MTU 的值设为大于默认的 1500 。 MTU 最大值为 16110 。 使用 ifconfig 命令来增加 MTU 的大小。 例如 , 输入以下命令 , 其中 <x> 是接口卡号 :
ifconfigethxMTU9000 份
巨帧的最大 MTU 设置为 16110 。 该值与最大巨型帧尺寸值 16128 相符。 此驱动程序将试图以
使用多个页面大小的缓冲区接收各个大型信息包。 这将有助于避免分配接收信息包时发生缓冲区枯竭的问题。
Ethtool
驱动程序使用 ethtool 界面进行驱动程序配置和诊断 , 以及显示统计信息。 这一功能要求最新版本的 Ethtool 。
Ethtool 最新的发行说明可以在以下位置找到 :http://ftp.kernel.org/pub/software/network/ethtool/ 。
NAPI
NAPI(Rx 轮流检测模式 ) 受 ixgbe 驱动程序的支持。 NAPI 基于内核的配置进行启用或禁用。 要覆盖默认值 , 请使用以下编译时的标记。
您可以告诉如果在驱动程序中启用 NAPI, 通过查找驱动程序的版本号。 它将包含字符串 -NAPI 如果启用了 NAPI 。
要启用 NAPI, 编译驱动程序模块 , 位于配置选项中 :
makeCFLAGS_EXTRA=-dixgbe_napi 安装
|
要禁用 NAPI, 编译驱动程序模块 , 位于配置选项中 :
makeCFLAGS_EXTRA=-dixgbe_no_napi 安装
LRO
大量接收分载 (LRO) 是通过降低 CPU 开销来提高来自宽带网络连接的向内吞吐量的一项技巧。 这一方法将来自单一信息流的多个信息包聚合为一个较大的缓冲 , 然后将它们传输到网络堆栈的更高层 , 从而减少需要处理的信息包数量。 LRO 在堆栈中将多个以太帧合并为一个接收 , 因此有降低针对接收的 CPU 使用量。
IXGBE_NO_LRO 是编译时间标志。 用户可以在编译期间将其启用 , 以移除来自驱动程序的 LRO 支持。 则会用通过添加标志 ,
makeCFLAGS_EXTRA="-DIXGBE_NO_LRO" 到 make 文件 , 它在编译时。
makeCFLAGS_EXTRA="-DIXGBE_NO_LRO" 安装
可以通过在 Ethtool 中查看这些计算器确认驱动程序在使用 LRO:
lro_flushed- 使用 LRO 时的接收总计。lro_aggregated- 合并的以太信息包总量进行计数。
|
HWRSC
基于 82599 的适配器支持 HW 的接收端聚集 (ReceiveSideCoalescing,RSC), 它可以从相同的 IPv4TCP/IP 流的多个帧合并到单一结构 , 可以跨一个或多个描述符。 它的工作方式与 SW 大量接收分载技术类似。 HWRSC 默认是启用的 , 除非禁用 HWRSCSWLRO 不能用于基于 82599 的适配器。
IXGBE_NO_HW_RSC 是编译时间标志。 用户可以在编译期间将其启用要去除支持 HWRSC 从驱动程序。 标志用 CFLAGS_EXTRA="-DIXGBE_NO_HW_RSC" 添加到 make 文件时 , 它在编译。
makeCFLAGS_EXTRA="-DIXGBE_NO_HW_RSC" 安装
通过查看 Ethtool 中的计算器可验证该驱动程序是否使用 HWRSC:
hw_rsc_count- 对被合并的以太信息包总量进行计数。
rx_dropped_backlog
在处于非 Napi( 或中断 ) 模式中时 , 此计数器会表示堆栈正在丢弃信息包。 堆栈中有一个可调节的参数可允许您调整 backlog 的数量。 建议在计数上升的时候增加 netdev_max_backlog 。
#sysctl-a|grep 时候增加 netdev_max_backlognet.core.netdev_max_backlog=1000#sysctl-enet.core.netdev_max_backlog=10000net.core.netdev_max_backlog=10000
流控制
流量控制为默认启用。 如果要禁用具备流量控制功能的链接伙伴 , 使用 ethtool:
ethtool-aeth? autonegoffrxoffTX 关闭
MAC 和 VLAN 反欺骗功能
当恶意驱动程序尝试发送欺骗数据包时 , 硬件将阻止其传输。 系统将向 PF 驱动程序发送中断 , 告知其这一欺骗尝试行为。
已检测到欺骗数据包时 ,PF 驱动程序将以下信息发送到系统日志 ( 通过 "dmesg" 命令显示 ):
ixgbeethx:ixgbe_spoof_check:N 欺骗的数据包检测到其中 x=PF 接口编号 ,N= 尝试进行欺骗的 VF