2012-04-26 7 views

答えて

4

netlink経由でリンクアップ/ダウンイベントを取得できます。 PF_NETLINKソケットを作成し、RTMGRP_LINKグループにバインドし、RTM_NEWLINK/RTM_DELLINKメッセージを待ちます。リンクアップイベントにはIFF_RUNNINGIFF_LOWER_UPが設定されていますが、リンクダウンイベントでは両方のフラグがクリアされています(面倒なことに、両方のイベントに対してRTM_NEWLINKというメッセージが表示されます)。

+0

いくつかの実験(USBイーサネットアダプタのプラグインとプラグアウト)に基づいて、私は 'RTM_DELLINK'がイーサネットのために受信されているのを見ていません。そのイベントが発生したときに何か灯してもらえますか? –

+0

@Vivek: 'RTM_DELLINK'は、リンクが管理上削除されたときに発生します。例えば、' brctl addbr br0; ip link set br0 down; brctl delbr br0'。 – ninjalj

+0

返信いただきありがとうございます。私は 'ioctls'、' netlink'などの初心者です。あなたが "管理上のリンクの削除"と呼ばれているとき、それが何を意味するのか説明してください。私は多くの場所でそれを見ていますが、同じものの意味をつかまえていません。 –

2

このファイル/sys/class/net/eth0/carrierの内容が1の場合、インターフェイスeth0にはキャリアがあります。

+0

実際、イベントベースではないようですが、私は変更について学ぶためにポーリングする必要があります。 – user1255770

関連する問題