From bdc8aa160b8eff397c2dcd7fa6760d0cae59d0fc Mon Sep 17 00:00:00 2001 From: Simon Wilkinson Date: Mon, 11 Oct 2010 14:08:00 -0400 Subject: [PATCH] rx: Don't count unknown packets as missing Just because a packet is in the transmit queue, don't assume that the other side has instantly seen it! Currently, if we receive an ACK packet which doesn't include the entire transmit queue, then we will end backing off, even if we haven't sent the packets. Restrict this behaviour to packets which are implicitly acked (or otherwise) by the sender. Change-Id: I2d63cd27d6d748007f87ff303f3fd64549a6208d Reviewed-on: http://gerrit.openafs.org/2959 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: Jeffrey Altman --- src/rx/rx.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/rx/rx.c b/src/rx/rx.c index 082c2b8..8a4bd33 100644 --- a/src/rx/rx.c +++ b/src/rx/rx.c @@ -4171,8 +4171,10 @@ rxi_ReceiveAckPacket(struct rx_call *call, struct rx_packet *np, missing = 1; } } else { - tp->flags &= ~RX_PKTFLAG_ACKED; - missing = 1; + if (tp->flags & RX_PKTFLAG_ACKED) { + tp->flags &= ~RX_PKTFLAG_ACKED; + missing = 1; + } } /* -- 1.9.4