A network interface device comprising: an interface configured to receive data packets for a host processing device; and an engine supporting a network interface device component of an application, said application being provided on said host processing device, said engine configured, in response to receiving of one or more data packets for said application: to cause at least some of said one or more data packets to be available, for processing, to said network interface device component of said application, to generate a first acknowledgement message for output by the interface, said first acknowledgement message comprising an acknowledgment associated with said one or more data packets and second control information stored in a cache of the network interface device, to cause said at least some of said received one or more data packets to be delivered to a protocol stack of said host processing device, to receive from said protocol stack of the host processing device first control information associated said with said one or more data packets, to determine whether there is a discrepancy between the second control information stored in the cache and the first control information associated with said one or more data packets received from the protocol stack, wherein if it is determined that there is a discrepancy, updating said second control information in the cache, wherein if the engine determines that there is a discrepancy between the second control information stored in the memory and the first control information received from the protocol stack for said one or more data packets, determine if a second acknowledgement message is to be output by the interface. an interface configured to receive data packets for a host processing device; and an engine supporting a network interface device component of an application, said application being provided on said host processing device, said engine configured, in response to receiving of one or more data packets for said application: to cause at least some of said one or more data packets to be available, for processing, to said network interface device component of said application, to generate a first acknowledgement message for output by the interface, said first acknowledgement message comprising an acknowledgment associated with said one or more data packets and second control information stored in a cache of the network interface device, to cause said at least some of said received one or more data packets to be delivered to a protocol stack of said host processing device, to receive from said protocol stack of the host processing device first control information associated said with said one or more data packets, to determine whether there is a discrepancy between the second control information stored in the cache and the first control information associated with said one or more data packets received from the protocol stack, wherein if it is determined that there is a discrepancy, updating said second control information in the cache, wherein if the engine determines that there is a discrepancy between the second control information stored in the memory and the first control information received from the protocol stack for said one or more data packets, determine if a second acknowledgement message is to be output by the interface. to cause at least some of said one or more data packets to be available, for processing, to said network interface device component of said application, to generate a first acknowledgement message for output by the interface, said first acknowledgement message comprising an acknowledgment associated with said one or more data packets and second control information stored in a cache of the network interface device, to cause said at least some of said received one or more data packets to be delivered to a protocol stack of said host processing device, to receive from said protocol stack of the host processing device first control information associated said with said one or more data packets, to determine whether there is a discrepancy between the second control information stored in the cache and the first control information associated with said one or more data packets received from the protocol stack, wherein if it is determined that there is a discrepancy, updating said second control information in the cache, wherein if the engine determines that there is a discrepancy between the second control information stored in the memory and the first control information received from the protocol stack for said one or more data packets, determine if a second acknowledgement message is to be output by the interface.