//------------------------------------------------------------------------------ static int veth_close(struct net_device* pNetDevice_p) { DEBUG_LVL_VETH_TRACE("veth_close\n"); dllk_deregAsyncHandler(veth_receiveFrame); netif_stop_queue(pNetDevice_p); //stop the interface queue for the network subsystem return 0; }
//------------------------------------------------------------------------------ tOplkError veth_delInstance(void) { tOplkError ret = kErrorOk; // Unregister the receive callback function ret = dllk_deregAsyncHandler(receiveFrameCb); return ret; }
//------------------------------------------------------------------------------ static int vethStop(struct net_device* pNetDevice_p) { DEBUG_LVL_VETH_TRACE("%s()\n", __func__); dllk_deregAsyncHandler(receiveFrameCb); netif_stop_queue(pNetDevice_p); //stop the interface queue for the network subsystem return 0; }
//------------------------------------------------------------------------------ tOplkError veth_exit(void) { tOplkError ret; // Unregister the receive callback function ret = dllk_deregAsyncHandler(receiveFrameCb); // stop receive thread by setting its stop flag vethInstance_l.fStop = TRUE; pthread_join(vethInstance_l.threadHandle, NULL); close(vethInstance_l.fd); return ret; }