BNX2ドライバがパケットを破棄する - UDPベースのアプリケーションの誤動作とTCP遅延
This document (7002506) is provided subject to the disclaimer at the end of this document.
環境
SUSE Linux Enterprise Server 10サポートパック1
SUSE Linux Enterprise Server 10サポートパック2
BNX2カーネルモジュール
問題の状況
パケット損失率が高いため、次の問題が発生しています。
- UDPベースの通信が不安定、または誤動作する
- OCFS2クラスタが不安定、誤動作、クラスタエラー
- LinuxHAクラスタが不安定、誤動作、クラスタエラー
- NFSの遅延、低信頼度またはエラー
- Xen DomUベースのアプリケーションが遅い
- ランダムにTCPが遅くなる
ifconfigとnetstat -i コマンドに、多数の破棄されたパケット数が表示されます。パケット損失は40%にも上ります。
解決策
SLES 10に付属のBNX2カーネルモジュールには大きなバグがあり、パケットの破棄率が高いことがわかっています。OCF32やクラスタリングソフトウェアなど、UDPベースのアプリケーションでは、破棄されたパケットによりアプリケーションでエラーを発生させることがあります。TCPアプリケーションには影響はありませんが、動作が遅くなる期間があります。
この問題はカーネル2.6.16.60-0.37へのメンテナンスアップデートと以降のメンテナンスカーネルで修正されています。これによりモジュールバージョンは1.7.6bになります。
上記のような現象が起きるシステムは、最新のメンテナンスカーネルにアップデートする必要があります。
追加情報
ifconfiの場合、次の内容が表示されます。
inet addr:192.168.39.170 Bcast:192.168.39.255 Mask:255.255.255.0
inet6 addr: fe80::21c:c4ff:fe96:deea/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5307978 errors:0 dropped:3841189 overruns:0 frame:0
TX packets:1522673 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1775345955 (1693.1 Mb) TX bytes:967976568 (923.1 Mb)
Interrupt:169 Memory:dc000000-dc012100
モジュールバージョンを確認するには、"modinfo bnx2"など、modinfoコマンドを使用します。次は、パッチの適用が必要なBNX2ドライバの例です。
filename: /lib/modules/2.6.16.60-0.33-xenpae/kernel/drivers/net/bnx2.ko
version: 1.6.7c
license: GPL
description: Broadcom NetXtreme II BCM5706/5708 Driver
author: Michael Chan <mchan@broadcom.com>
srcversion: D41ADC8BC49443A4DAE505E
alias: pci:v000014E4d0000163Asv*sd*bc*sc*i*
alias: pci:v000014E4d00001639sv*sd*bc*sc*i*
alias: pci:v000014E4d000016ACsv*sd*bc*sc*i*
alias: pci:v000014E4d000016AAsv*sd*bc*sc*i*
alias: pci:v000014E4d000016AAsv0000103Csd00003102bc*sc*i*
alias: pci:v000014E4d0000164Csv*sd*bc*sc*i*
alias: pci:v000014E4d0000164Asv*sd*bc*sc*i*
alias: pci:v000014E4d0000164Asv0000103Csd00003106bc*sc*i*
alias: pci:v000014E4d0000164Asv0000103Csd00003101bc*sc*i*
depends:
supported: yes
vermagic: 2.6.16.60-0.33-xenpae SMP Xen 686 REGPARM gcc-4.1
parm: disable_msi:Disable Message Signaled Interrupt (MSI) (int)
Disclaimer
この情報は、米国Novell, Inc.およびノベル株式会社の内外から発生したものです。本文書の内容または本文書を使用した結果について、いかなる保証、表明または約束も行っていません。また、本文書の商品性、および特定目的への適合性について、いかなる黙示の保証も否認し、排除します。
本文書に記載されている会社名、製品名はそれぞれ各社の商品、商標または登録商標です。
- ドキュメントID: 7002506
- 作成年月日: 30-JAN-2009
- 修正年月日: 02-JUN-2009
- ドキュメントリビジョン:
- 分類:
- 対象NOVELL製品およびバージョン: SUSE Linux Enterprise Server
- カテゴリ: