set an error code so idle dead time is enforced on sending. needed
in order that MTU pings be activated.
Change-Id: I8cf1ca81e6519b440fc679e85f327f338400c29a
Reviewed-on: http://gerrit.openafs.org/2116
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
}
} /* if (hm_retry_int ... */
else {
- areq->networkError = 1;
+ if (acode == RX_MSGSIZE)
+ shouldRetry = 1;
+ else
+ areq->networkError = 1;
}
}
return shouldRetry;
acode = 455;
#endif /* AFS_64BIT_CLIENT */
if ((acode < 0) && (acode != VRESTARTING)) {
+ if (acode == RX_MSGSIZE) {
+ shouldRetry = 1;
+ goto out;
+ }
if (acode == RX_CALL_TIMEOUT) {
serversleft = afs_BlackListOnce(areq, afid, tsp);
if (afid)
if (service == 52) {
rx_SetConnHardDeadTime(tc->id, afs_rx_harddead);
}
+ /* set to a RX_CALL_TIMEOUT error to allow MTU retry to trigger */
+ rx_SetServerConnIdleDeadErr(tc->id, RX_CALL_DEAD);
rx_SetConnIdleDeadTime(tc->id, afs_rx_idledead);
+ rx_SetMsgsizeRetryErr(tc->id, RX_MSGSIZE);
/*
* Only do this for the base connection, not per-user.