summaryrefslogtreecommitdiff
path: root/net/rxrpc
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2016-09-30 08:33:27 (GMT)
committerDavid Howells <dhowells@redhat.com>2016-09-30 13:38:59 (GMT)
commit0851115090a3eb9585d6a804a61e47f3d89ac2a8 (patch)
tree53f95140d40b06d99a71f08f30ecbe2e713513f6 /net/rxrpc
parent8782def204e57f6a507ff425e4944df4e010751a (diff)
downloadlinux-0851115090a3eb9585d6a804a61e47f3d89ac2a8.tar.xz
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>
Diffstat (limited to 'net/rxrpc')
-rw-r--r--net/rxrpc/input.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/rxrpc/input.c b/net/rxrpc/input.c
index 21746f0..7993473 100644
--- a/net/rxrpc/input.c
+++ b/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)
rwind = RXRPC_RXTX_BUFF_SIZE - 1;
call->tx_winsize = rwind;
+ if (call->cong_ssthresh > rwind)
+ call->cong_ssthresh = rwind;
mtu = min(ntohl(ackinfo->rxMTU), ntohl(ackinfo->maxMTU));