
Title: eth_cancel()
If an operation has already been completed and the reply message to the file system is waiting in repl_queue, sr_rec() takes care of the cancellation. However, if the operation has not been completed, eth_cancel() cancels the operation by clearing the appropriate flag (e.g., EFF_READ_IP) and then sending the file system a message indicating that the operation has been interrupted.
eth_cancel() is called only to cancel an operation if an ethernet device file (e.g., /dev/eth) has been directly opened. eth_cancel() will not be called if a higher-layer device file (e.g., /dev/udp) has been opened.