
イーサネットをオフにすると、実際に何が起こるのか疑問に思います。オペレーティングシステムはネットワーク層で何をしますか?ルーティングテーブルやそのようなものをフラッシュしますか?
答え1
Linuxカーネルはstruct net_device
(ファブリックネットワーク機器)。それぞれにデバイスドライバによって実装されるべきstruct net_device
セットがあります。struct net_device_ops
その中で最も重要なのは次のとおりです。
ndo_open()
。イーサネットアダプタをON()に設定するとip link set up dev <eth_dev>
呼び出されます。ndo_start_xmit()
。インターフェイスを介してデータ転送を開始すると呼び出されます。ndo_stop()
。イーサネットアダプタをOFF()に設定するとip link set down dev <eth_dev>
呼び出されます。
もしそうなら、あなたのデバイスがダウンした場合、正確にどうなりますか?
ほとんどのドライバは一連のルーチンを実装します。
- 特定のデバイスに関連するすべてのキューを停止します。
- 特定のデバイスに関連するARPテーブルエントリを消去します。
- インターフェイスの状態を
DOWN
(ip link show dev <eth_dev>
)で表示します。 - デバイス固有の機能:いくつかの構造、バッファクリア、イーサネットコントローラチップを省電力モードに移行...