Red Hat Training

A Red Hat training course is available for Red Hat Linux

9.2.4. Ethtool

Ethtool は、Network Interface Cards (NICs) 設定の際のユーティリティです。このユーティリティを使うと、多くのネットワークデバイス、特にイーサネットデバイスのスピードやポート、オートネゴシエーション、PCI の場所、チェックサムオフロードといった設定のクエリや変更が可能になります。
以下に、使用頻度の高い Ethtool コマンドとあまり知られていない有用なコマンドを挙げておきます。コマンドの全一覧は、ethtool -h で表示されます。詳細なリストと説明は、man ページ ethtool(8) を参照してください。以下の最初の 2 例は情報クエリで、コマンドの異なるフォーマットの使い方を示しています。
まず、コマンド構文を見ていきます。
ethtool [option...] devname
option はなしかさらなるオプションで、devname は、eth0em1 などの使用中の Network Interface Card (NIC) です。
ethtool
オプションがデバイス名のみの ethtool コマンドは、ネットワークデバイスに NIC やドライバー統計をクエリする際に使用されます。以下の形式になります。
ethtool -S, --statistics devname
where devname は使用中の NIC です。例えば、eth0em1 などです。
値の中には root でコマンドを実行しないと取得できないものもあります。以下は、root でコマンドを実行した際の出力例です。
~]# ethtool em1
Settings for em1:
	Supported ports: [ TP ]
	Supported link modes:   10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Supported pause frame use: No
	Supports auto-negotiation: Yes
	Advertised link modes:  10baseT/Half 10baseT/Full 
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Advertised pause frame use: No
	Advertised auto-negotiation: Yes
	Speed: 1000Mb/s
	Duplex: Full
	Port: Twisted Pair
	PHYAD: 2
	Transceiver: internal
	Auto-negotiation: on
	MDI-X: on
	Supports Wake-on: pumbg
	Wake-on: g
	Current message level: 0x00000007 (7)
			       drv probe link
	Link detected: yes
長短どちらかの形式の引数を使用して以下のコマンドを発行し、特定のネットワークデバイスに関連するドライバー情報をクエリします。
ethtool -i, --driver devname
devname は、eth0em1 などの使用中の Network Interface Card (NIC) です。
以下は出力例です。
~]$ ethtool -i em1
driver: e1000e
version: 2.0.0-k
firmware-version: 0.13-3
bus-info: 0000:00:19.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
ここではデバイスのクエリや識別、リセットに使用するコマンドリストを説明します。形式は通常の - 短いものと -- 長いものになります。
--statistics
--statistics または -S は、特定のネットワークデバイスに NIC やドライバー統計をクエリする際に使用されます。以下の形式になります。
ethtool -S, --statistics devname
devname は NIC です。
--identify
--identify または -p オプションは、オペレーターが目視でアダプターを簡単に特定できるようにする目的のアダプター固有のアクションを開始します。通常これで行われるのは、特定のネットワークポート上で 1 つ以上の LED の点滅です。以下の形式になります。
-p, --identify devname integer
integer アクションを実行する時間の長さです (秒単位) 。
devname は NIC です。
--test
--test または -t オプションは、ネットワークインターフェースカード上でテストを実行する際に使用します。以下の形式になります。
-t, --test word devname
word は以下のいずれかになります。
  • offline — 総合的なテストを実行します。サービスが一時中断されます。
  • online — 短縮されたテストを実行します。サービスは中断されません。
  • external_lb — ループバックケーブルが装着されていると、ループバックテストを含む総合的なテストを実行します。
devname は NIC です。
指定されたネットワークデバイスの一部またはすべての設定を変更するには、-s または --change オプションが必要になります。以下のすべてのオプションは、-s または --change オプションが指定された場合のみ、適用されます。明確にするために、ここでは省略します。
これらの設定を永続的なものとするために、ETHTOOL_OPTS 指示文を使うことができます。ネットワークインターフェースがアクティベートされる際にインターフェース設定ファイルで好みのオプションの設定に使用できます。この指示文の使用方法については、「イーサネットインターフェース」 を参照してください。
--speed
--speed は、スピードを毎秒メガビット単位 (Mb/s) で設定するオプションです。スピード値を省略すると、対応するデバイスのスピードが表示されます。以下の形式になります。
--speed number devname
number 毎秒メガビット (Mb/s) 単位でのスピードです。
devname は NIC です。
--duplex
--duplex オペレーションの送信および受信モードを設定するオプションです。以下の形式になります。
 --duplex word devname
word は以下のいずれかになります。
  • half — 半二重モードを設定します。通常、ハブに接続している際に使用します。
  • full — 全二重モードを設定します。通常、スイッチまたは別のホストに接続している際に使用します。
devname は NIC です。
--port
--port は、デバイスポートを選択する際に使用するオプションです。以下の形式になります。
--port value devname
value は、以下のいずれかです。
  • tp — ツイストペアケーブルを媒介として使用するイーサネットインターフェースです。
  • aui — Attachment Unit Interface (AUI) 。通常はハブで使用します。
  • bnc — BNC コネクターおよび同軸ケーブルを使用するイーサネットインターフェースです。
  • mii — Media Independent Interface (MII) を使用するイーサネットインターフェースです。
  • fibre — 光ファイバーを媒介として使用するイーサネットインターフェースです。
devname は NIC です。
--autoneg
--autoneg は、ネットワークスピードとオペレーションモード (全二重もしくは半二重モード) のオートネゴシエーションを制御するオプションです。オートネゴシエーションが有効な場合、-r, --negotiate オプションを使ってネットワークスピードとオペレーションモードの再ネゴシエーションを開始できます。--a, --show-pause オプションを使うとオートネゴシエーションのステータスを表示できます。
以下の形式になります。
--autoneg value devname
value は、以下のいずれかです。
  • yes — ネットワークスピードとオペレーションモードのネゴシエーションを許可します。
  • no — ネットワークスピードとオペレーションモードのネゴシエーションを許可しません。
devname は NIC です。
--advertise
--advertise は、オートネゴシエーションに通知されるスピードとオペレーションモード (二重モード) を設定するオプションです。引数は、表9.1「Ethtool 通知オプション: スピードおよびオペレーションモード」 からの 1 つ以上の十六進法の値になります。
以下の形式になります。
--advertise HEX-VALUE devname
HEX-VALUE は、以下の表からの 1 つ以上の十六進法の値で、devname は NIC です。

表9.1 Ethtool 通知オプション: スピードおよびオペレーションモード

十六進法の値 スピード 二重モード IEEE 基準?
0x001 10
はい
0x002 10
はい
0x004 100
はい
0x008 100
はい
0x010 1000 いいえ
0x020 1000
はい
0x8000 2500 はい
0x1000 10000 はい
0x20000 20000MLD2 いいえ
0x20000 20000MLD2 いいえ
0x40000 20000KR2 いいえ
--phyad
--phyad は、物理アドレスを変更するオプションです。MAC もしくはハードウェアアドレスと呼ばれることが多くありますが、ここでは物理アドレスと呼びます。
以下の形式になります。
--phyad HEX-VALUE devname
HEX-VALUE は十六進法形式での物理アドレスで、devname は、NIC です。
--xcvr
--xcvr は、トランシーバーのタイプを選択するオプションです。現在は、内部 および 外部 のみが指定できます。今後は他のタイプが追加される可能性があります。
以下の形式になります。
--xcvr word devname
word は以下のいずれかになります。
  • internal — 内部トランシーバーを使用。
  • external — 外部トランシーバーを使用。
devname は NIC です。
--wol
--wol は、Wake-on-LAN オプションを設定するオプションです。すべてのデバイスが対応しているわけではありません。このオプションの引数は、どのオプションを有効にするかを指定する文字列です。
以下の形式になります。
--wol value devname
value は、以下の 1 つまたは 複数のものです。
  • p — PHY アクティビティーでウェイク
  • u — ユニキャストメッセージでウェイク
  • m — マルチキャストメッセージでウェイク
  • b — ブロードキャストメッセージでウェイク
  • g — Wake-on-Lan; "magic packet" の受信でウェイク。
  • s — Wake-on-Lan のパスワードを使用してセキュリティ機能を有効にします。
  • d — Wake-on-Lan を無効にし、すべての設定をクリアにします。
devname は NIC です。
--sopass
--sopass は、SecureOn パスワードを設定するオプションです。このオプションの引数は、イーサネット MAC 十六進法形式 (xx:yy:zz:aa:bb:cc) の 6 バイトである必要があります。
以下の形式になります。
--sopass xx:yy:zz:aa:bb:cc devname
xx:yy:zz:aa:bb:cc は MAC アドレスと同一形式のパスワードで、devname は NIC です。
--msglvl
--msglvl は、ドライバーのメッセージタイプフラグを名前もしくは番号で設定するオプションです。これらのタイプフラグの正確な意味は、ドライバーによって異なります。
以下の形式になります。
--msglvl value devname
value は以下のいずれかです。
  • HEX-VALUE — メッセージタイプを示す十六進法の値です。
  • message-type — プレーンテキストのメッセージタイプ名です。
devname は NIC です。
定義済みのメッセージタイプ名および番号は、以下の表に示すとおりです。

表9.2 ドライバーメッセージタイプ

メッセージタイプ 十六進法の値 詳細
drv 0x0001
一般的なドライバーステータス
probe 0x0002
ハードウェアのプローブ
link 0x0004
リンクのステータス
timer 0x0008
定期的なステータスチェック
ifdown 0x0010 非アクティベートにしているインターフェース
ifup 0x0020
アクティベートにしているインターフェース
rx_err 0x0040 エラーを受信
tx_err 0x0080 エラー送信
intr 0x0200 割り込み処理
tx_done 0x0400 送信完了
rx_status 0x0800 受信完了
pktdata 0x1000 パケットコンテンツ
hw 0x2000 ハードウェアのステータス
wol 0x4000 Wake-on-LAN ステータス