驱动程序可以调用以下函数来通知网络栈驱动程序的状态已更改。
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 参数必须为以下值之一:
介质链路为启动状态。
介质链路为关闭状态。
介质链路为未知状态。