Kaynağa Gözat

rxrpc: Reduce ssthresh to peer's receive window

When we receive an ACK from the peer that tells us what the peer's receive
window (rwind) is, we should reduce ssthresh to rwind if rwind is smaller
than ssthresh.

Signed-off-by: David Howells <dhowells@redhat.com>
David Howells 9 yıl önce
ebeveyn
işleme
0851115090
1 değiştirilmiş dosya ile 2 ekleme ve 0 silme
  1. 2 0
      net/rxrpc/input.c

+ 2 - 0
net/rxrpc/input.c

@@ -658,6 +658,8 @@ static void rxrpc_input_ackinfo(struct rxrpc_call *call, struct sk_buff *skb,
 	if (rwind > RXRPC_RXTX_BUFF_SIZE - 1)
 	if (rwind > RXRPC_RXTX_BUFF_SIZE - 1)
 		rwind = RXRPC_RXTX_BUFF_SIZE - 1;
 		rwind = RXRPC_RXTX_BUFF_SIZE - 1;
 	call->tx_winsize = rwind;
 	call->tx_winsize = rwind;
+	if (call->cong_ssthresh > rwind)
+		call->cong_ssthresh = rwind;
 
 
 	mtu = min(ntohl(ackinfo->rxMTU), ntohl(ackinfo->maxMTU));
 	mtu = min(ntohl(ackinfo->rxMTU), ntohl(ackinfo->maxMTU));