Oracle® Solaris 11.2 デバイスドライバの記述

印刷ビューの終了

更新: 2014 年 9 月
 
 

GLDv3 の状態変更通知

ドライバは次の関数を呼び出して、ドライバの状態が変化したことをネットワークスタックに通知できます。

void mac_tx_update(mac_handle_t mh);
void mac_tx_ring_update(mac_handle_t mh, mac_ring_handle_t rh)

mac_tx_update(9F)または mac_tx_ring(9F) 関数は、より多くの TX 記述子が使用可能になったことをフレームワークに通知します。空でないパケットチェーンを mc_tx() または mri_tx() が返した場合、ドライバはリソースが利用可能になったらただちに mac_tx_update() または mac_tx_ring_update() を呼び出して、未送信として返送されたパケットの再送を試みるよう MAC 層に通知する必要があります。mc_tx() および mri_tx() エントリポイントの詳細は、Transmit Data Pathを参照してください。

void mac_link_update(mac_handle_t mh, link_state_t new_state);

mac_link_update(9F) 関数は、メディアリンクの状態が変化したことを MAC 層に通知します。new_state 引数は次のいずれかの値である必要があります。

LINK_STATE_UP

メディアリンクは稼働しています。

LINK_STATE_DOWN

メディアリンクはダウンしています。

LINK_STATE_UNKNOWN

メディアリンクの状態は不明です。