適用於 Intel(R) 乙太網網路連線的 Linux 驅動程式¶
Intel 千兆 Linux 驅動程式。版權所有(c) 2008-2018 Intel Corporation。
目錄¶
識別您的介面卡
命令列引數
附加配置
支援
識別您的介面卡¶
有關如何識別您的介面卡以及獲取最新 Intel 網路驅動程式的資訊,請訪問 Intel 支援網站:https://www.intel.com/support
命令列引數¶
如果驅動程式構建為模組,可以透過在命令列上使用 modprobe 命令並採用以下語法來使用以下可選引數
modprobe e1000e [<option>=<VAL1>,<VAL2>,...]
系統中的每個網路埠(此驅動程式支援的)都需要一個 <VAL#>。這些值將按功能順序應用於每個例項。例如
modprobe e1000e InterruptThrottleRate=16000,16000
在這種情況下,系統中 e1000e 支援兩個網路埠。除非另有說明,每個引數的預設值通常是推薦設定。
注意:描述符描述了一個數據緩衝區以及與該資料緩衝區相關的屬性。此資訊由硬體訪問。
InterruptThrottleRate(中斷節流率)¶
- 有效範圍:
0,1,3,4,100-100000
- 預設值:
3
中斷節流率控制每個中斷向量每秒可以生成的中斷數量。提高 ITR 會降低延遲,但會增加 CPU 利用率,儘管在某些情況下它可能有助於提高吞吐量。
將 InterruptThrottleRate 設定為大於或等於 100 的值將使介面卡每秒最多傳送指定數量的中斷,即使有更多的報文到達。這可以減少系統上的中斷負載,並在高負載下降低 CPU 利用率,但由於報文處理速度變慢,會增加延遲。
驅動程式之前的預設行為假定 InterruptThrottleRate 的靜態值為 8000,這為所有流量型別提供了良好的回退值,但在小報文效能和延遲方面有所欠缺。然而,硬體每秒可以處理更多的小報文,因此實現了自適應中斷調節演算法。
該驅動程式有兩種自適應模式(設定 1 或 3),其中它根據接收到的流量動態調整 InterruptThrottleRate 值。在確定了上一個時間段內的傳入流量型別後,它會將 InterruptThrottleRate 調整到適合該流量的適當值。
該演算法每隔一段時間將傳入流量分類。一旦確定了類別,就會調整 InterruptThrottleRate 值以最適合該流量型別。定義了三個類別:“大量流量”,適用於大量正常大小的報文;“低延遲”,適用於少量流量和/或相當比例的小報文;以及“最低延遲”,適用於幾乎完全是小報文或極少量流量。
- 0:關閉
關閉所有中斷調節,可能會改善小報文延遲。然而,由於較高中斷率會增加 CPU 利用率,這通常不適用於大量吞吐量流量。
- 1:動態模式
此模式嘗試對每個向量的中斷進行調節,同時保持極低的延遲。這有時可能會導致額外的 CPU 利用率。如果計劃在延遲敏感環境中部署 e1000e,應考慮此引數。
- 3:動態保守模式(預設)
在動態保守模式下,對於屬於“大量流量”類別的流量,InterruptThrottleRate 值設定為 4000。如果流量屬於“低延遲”或“最低延遲”類別,InterruptThrottleRate 將逐步增加到 20000。此預設模式適用於大多數應用程式。
- 4:簡化平衡模式
在簡化模式下,中斷率基於 TX 和 RX 流量的比率。如果每秒位元組數大致相等,中斷率將低至每秒 2000 箇中斷。如果流量主要是傳送或主要是接收,中斷率可能會高達 8000。
- 100-100000:
將 InterruptThrottleRate 設定為大於或等於 100 的值將使介面卡每秒最多傳送指定數量的中斷,即使有更多的報文到達。這可以減少系統上的中斷負載,並在高負載下降低 CPU 利用率,但由於報文處理速度變慢,會增加延遲。
注意:InterruptThrottleRate 優先於 TxAbsIntDelay 和 RxAbsIntDelay 引數。換句話說,最小化接收和/或傳送絕對延遲不會強制控制器生成超過中斷節流率允許的中斷數量。
RxIntDelay(接收中斷延遲)¶
- 有效範圍:
0-65535 (0=關閉)
- 預設值:
0
此值以 1.024 微秒為單位延遲接收中斷的生成。如果針對特定網路流量進行適當調整,接收中斷減少可以提高 CPU 效率。增加此值會增加幀接收的額外延遲,並可能最終降低 TCP 流量的吞吐量。如果系統報告接收丟失,此值可能設定過高,導致驅動程式耗盡可用的接收描述符。
注意:當將 RxIntDelay 設定為非 0 值時,在某些網路條件下,介面卡可能會掛起(停止傳輸)。如果發生這種情況,系統事件日誌中會記錄 NETDEV WATCHDOG 訊息。此外,控制器會自動重置,恢復網路連線。為消除掛起(停止傳輸)的可能性,請確保將 RxIntDelay 設定為 0。
RxAbsIntDelay(接收絕對中斷延遲)¶
- 有效範圍:
0-65535 (0=關閉)
- 預設值:
8
此值以 1.024 微秒為單位,限制了生成接收中斷的延遲。此值確保在設定的時間內接收到初始報文後生成中斷,僅當 RxIntDelay 非零時才有用。與 RxIntDelay 一起進行適當調整,可能會在特定網路條件下提高流量吞吐量。
TxIntDelay(傳送中斷延遲)¶
- 有效範圍:
0-65535 (0=關閉)
- 預設值:
8
此值以 1.024 微秒為單位延遲傳送中斷的生成。如果針對特定網路流量進行適當調整,傳送中斷減少可以提高 CPU 效率。如果系統報告發送丟失,此值可能設定過高,導致驅動程式耗盡可用的傳送描述符。
TxAbsIntDelay(傳送絕對中斷延遲)¶
- 有效範圍:
0-65535 (0=關閉)
- 預設值:
32
此值以 1.024 微秒為單位,限制了生成傳送中斷的延遲。僅當 TxIntDelay 非零時才有用。它確保在初始報文線上路上傳送後在設定的時間內生成中斷。與 TxIntDelay 一起進行適當調整,可能會在特定網路條件下提高流量吞吐量。
copybreak¶
- 有效範圍:
0-xxxxxxx (0=關閉)
- 預設值:
256
驅動程式會將所有小於或等於此大小的報文複製到新的接收緩衝區,然後將其傳遞到堆疊。此引數與其他引數不同,因為它是一個應用於所有驅動程式例項的單個引數(不是 1,1,1 等),並且在執行時也可透過 /sys/module/e1000e/parameters/copybreak 訪問。
要使用 copybreak,請鍵入
modprobe e1000e.ko copybreak=128
SmartPowerDownEnable(智慧關機啟用)¶
- 有效範圍:
0,1
- 預設值:
0(停用)
允許 PHY 在低功耗狀態下關閉。使用者可以在支援的晶片組中關閉此引數。
KumeranLockLoss(Kumeran 鎖定丟失)¶
- 有效範圍:
0,1
- 預設值:
1(啟用)
此變通方法在 ICH8 系統的初始矽版本關機時跳過重置 PHY。
IntMode(中斷模式)¶
- 有效範圍:
0-2
- 預設值:
0
值
中斷模式
0
傳統
1
MSI
2
MSI-X
IntMode 允許在載入時控制驅動程式註冊的中斷型別。多佇列支援需要 MSI-X,並且某些核心和核心 .config 選項的組合將強制使用較低級別中斷支援。
此命令將顯示每種中斷型別的不同值
cat /proc/interrupts
CrcStripping(CRC 剝離)¶
- 有效範圍:
0,1
- 預設值:
1(啟用)
在將接收到的報文傳送到網路堆疊之前,從報文中剝離 CRC。如果您的機器啟用了 BMC,但在載入或啟用驅動程式後無法接收 IPMI 流量,請嘗試停用此功能。
WriteProtectNVM(NVM 寫入保護)¶
- 有效範圍:
0,1
- 預設值:
1(啟用)
如果設定為 1,則配置硬體以忽略對 ICHx NVM 中 GbE 區域的所有寫入/擦除週期(以防止 NVM 意外損壞)。透過在初始驅動程式載入期間將引數設定為 0,可以停用此功能。
注意:當透過將引數設定為零來啟用 NVM 寫入時,機器必須斷電重啟(完全關機/開機)。一旦 NVM 被鎖定(透過驅動程式載入時引數設定為 1),除了斷電重啟外無法解鎖。
Debug(除錯)¶
- 有效範圍:
0-16 (0=無,...,16=全部)
- 預設值:
0
此引數調整在系統日誌中顯示的除錯訊息級別。
附加功能和配置¶
巨型幀¶
透過將最大傳輸單元 (MTU) 更改為大於預設值 1500 的值來啟用巨型幀支援。
使用 ifconfig 命令增加 MTU 大小。例如,輸入以下內容,其中 <x> 是介面編號
ifconfig eth<x> mtu 9000 up
或者,您可以使用 ip 命令如下
ip link set mtu 9000 dev eth<x>
ip link set up dev eth<x>
此設定不會在重啟後儲存。可以透過將 ‘MTU=9000’ 新增到檔案來使設定更改永久生效
對於 RHEL:/etc/sysconfig/network-scripts/ifcfg-eth<x>
對於 SLES:/etc/sysconfig/network/<config_file>
注意:巨型幀的最大 MTU 設定為 8996。此值與巨型幀的最大大小 9018 位元組一致。
注意:不支援在 10 或 100 Mbps 下使用巨型幀,這可能導致效能不佳或鏈路丟失。
注意:以下介面卡將巨型幀大小的報文限制為最大 4088 位元組
Intel(R) 82578DM 千兆網路連線
Intel(R) 82577LM 千兆網路連線
以下介面卡不支援巨型幀
Intel(R) PRO/1000 千兆伺服器介面卡
Intel(R) PRO/1000 PM 網路連線
Intel(R) 82562G 10/100 網路連線
Intel(R) 82562G-2 10/100 網路連線
Intel(R) 82562GT 10/100 網路連線
Intel(R) 82562GT-2 10/100 網路連線
Intel(R) 82562V 10/100 網路連線
Intel(R) 82562V-2 10/100 網路連線
Intel(R) 82566DC 千兆網路連線
Intel(R) 82566DC-2 千兆網路連線
Intel(R) 82566DM 千兆網路連線
Intel(R) 82566MC 千兆網路連線
Intel(R) 82566MM 千兆網路連線
Intel(R) 82567V-3 千兆網路連線
Intel(R) 82577LC 千兆網路連線
Intel(R) 82578DC 千兆網路連線
注意:如果系統上啟用了 MACSec,則無法在基於 82579 的網路裝置上配置巨型幀。
ethtool¶
驅動程式利用 ethtool 介面進行驅動程式配置、診斷以及顯示統計資訊。此功能需要最新版本的 ethtool。請從以下網址下載:
https://kernel.linux.club.tw/pub/software/network/ethtool/
注意:在某些部件(例如 82578)上驗證啟用/停用測試時,使用 ethtool 時需要在測試之間增加幾秒鐘的間隔。
速度和雙工配置¶
在處理速度和雙工配置問題時,您需要區分基於銅纜的介面卡和基於光纖的介面卡。
在預設模式下,使用銅纜連線的 Intel(R) 乙太網網路介面卡將嘗試與其鏈路夥伴進行自動協商以確定最佳設定。如果介面卡無法使用自動協商與鏈路夥伴建立鏈路,您可能需要手動將介面卡和鏈路夥伴配置為相同的設定以建立鏈路並傳遞報文。這僅在嘗試與不支援自動協商的舊交換機或已被強制設定為特定速度或雙工模式的交換機建立鏈路時才需要。您的鏈路夥伴必須與您選擇的設定匹配。無法強制設定為 1 Gbps 及更高的速度。請使用自動協商播報設定手動設定 1 Gbps 及更高速度的裝置。
速度、雙工和自動協商播報透過 ethtool 工具進行配置。
注意:只有經驗豐富的網路管理員才應手動強制設定速度和雙工或更改自動協商播報。交換機上的設定必須始終與介面卡設定匹配。如果您將介面卡配置與交換機不同,介面卡效能可能會受到影響或您的介面卡可能無法工作。
然而,使用光纖連線的 Intel(R) 乙太網網路介面卡不會嘗試與其鏈路夥伴進行自動協商,因為這些介面卡僅在全雙工模式下以其原生速度執行。
啟用遠端喚醒 (WoL)¶
WoL 透過 ethtool 工具進行配置。
WoL 將在下次關機或重啟期間在系統上啟用。對於此驅動程式版本,為了啟用 WoL,必須在關機或暫停系統之前載入 e1000e 驅動程式。
注意:遠端喚醒僅在以下裝置的 A 埠上受支援:- Intel(R) PRO/1000 PT 雙埠網路連線 - Intel(R) PRO/1000 PT 雙埠伺服器連線 - Intel(R) PRO/1000 PT 雙埠伺服器介面卡 - Intel(R) PRO/1000 PF 雙埠伺服器介面卡 - Intel(R) PRO/1000 PT 四埠伺服器介面卡 - Intel(R) 千兆 PT 四埠伺服器 ExpressModule
支援¶
如需一般資訊,請訪問 Intel 支援網站:https://www.intel.com/support/
如果在支援的核心和支援的介面卡上釋出的原始碼中發現問題,請將與該問題相關的具體資訊傳送電子郵件至 intel-wired-lan@lists.osuosl.org。