Title: ip_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, ip_cancel() cancels the operation by clearing the appropriate flag (e.g., IFF_READ_IP) and then sending the file system a message indicating that the operation has been interrupted.

ip_cancel() is called only to cancel an operation if an ip device file (e.g., /dev/ip) has been directly opened. ip_cancel() will not be called if a higher-layer device file (e.g., /dev/udp) has been opened.