From: Derrick Brashear Date: Fri, 1 Oct 2010 03:57:11 +0000 (-0400) Subject: exempt instant timeouts from mtu discovery X-Git-Tag: openafs-devel-1_5_78~98 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=22cae170a5babe36d56aa3a5a5503d15d28c297d;p=packages%2Fo%2Fopenafs.git exempt instant timeouts from mtu discovery if we set lastReceiveTime to 0 to hint that no net, honor that here as "just time out" Reviewed-on: http://gerrit.openafs.org/2875 Reviewed-by: Jeffrey Altman Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 0ecc90f3cd3f5a7c96b3689ab0c5f6a42edc3ed0) Change-Id: Ic85f7ea234a50935c5fad9804d459b6198902e4c Reviewed-on: http://gerrit.openafs.org/3038 Tested-by: Derrick Brashear --- diff --git a/src/rx/rx.c b/src/rx/rx.c index e3e50032a..68bbb284b 100644 --- a/src/rx/rx.c +++ b/src/rx/rx.c @@ -5975,11 +5975,12 @@ rxi_CheckCall(struct rx_call *call) } return 0; mtuout: - if (conn->msgsizeRetryErr && cerror != RX_CALL_TIMEOUT) { + if (conn->msgsizeRetryErr && cerror != RX_CALL_TIMEOUT + && call->lastReceiveTime) { int oldMTU = conn->peer->ifMTU; /* if we thought we could send more, perhaps things got worse */ - if (call->conn->peer->maxPacketSize > conn->lastPacketSize) + if (conn->peer->maxPacketSize > conn->lastPacketSize) /* maxpacketsize will be cleared in rxi_SetPeerMtu */ newmtu = MAX(conn->peer->maxPacketSize-RX_IPUDP_SIZE, conn->lastPacketSize-(128+RX_IPUDP_SIZE));