It may happen that we need to acknowledge a control frame with a ZLB while some packets are waiting in the transmit queue. In such a case, the ZLB sequence number Ns is incorrect because it is given the value of the last queued Ns, and not the Ns that the peer is waiting for. The peer than considers the ZLB packet as out-of-order at best, drops the packet at worst.
This patch fixes this behaviour by giving the ZLB a valid Ns.
Log in to post a comment.