]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Windows: Make Rx PMTU discovery configurable; disable by default
authorJeffrey Altman <jaltman@your-file-system.com>
Sat, 23 Oct 2010 19:45:36 +0000 (15:45 -0400)
committerDerrick Brashear <shadow@dementia.org>
Tue, 26 Oct 2010 03:02:04 +0000 (20:02 -0700)
Disable PMTU discovery by default.  Permit it to be enabled
with the RxPMTUDiscovery TransarcAFSDaemon\Parameter value.

LICENSE MIT

Reviewed-on: http://gerrit.openafs.org/3032
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.org>
(cherry picked from commit 2c12b80a4fdb8323ff3fdd194ff1994ad0a0b8e1)
Change-Id: Ic5b3d8e267bc10ee1802e5c391f87d37d605bec9
Reviewed-on: http://gerrit.openafs.org/3141
Tested-by: Derrick Brashear <shadow@dementia.org>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
src/WINNT/afsd/afsd_init.c
src/WINNT/afsd/cm_conn.c
src/WINNT/afsd/cm_conn.h

index 80d391401d5822b8a5ed6e79a5fdb4e266c99dda..d7e7c217235f28692e5f8208cf8e1926aeac9702 100644 (file)
@@ -1061,6 +1061,11 @@ afsd_InitCM(char **reasonP)
         rx_SetMinPeerTimeout(rx_min_peer_timeout);
     afsi_log("Rx Minimum Peer Timeout is %d ms", rx_GetMinPeerTimeout());
 
+    dummyLen = sizeof(rx_pmtu_discovery);
+    code = RegQueryValueEx(parmKey, "RxPMTUDiscovery", NULL, NULL,
+                           (BYTE *) &rx_pmtu_discovery, &dummyLen);
+    afsi_log("Rx PMTU Discovery is %d ms", rx_pmtu_discovery);
+
     dummyLen = sizeof(rx_nojumbo);
     code = RegQueryValueEx(parmKey, "RxNoJumbo", NULL, NULL,
                            (BYTE *) &rx_nojumbo, &dummyLen);
index 8c060a80123017d74e56fe229810693d831a6346..0f644fcde93c1c004640f996d607760431949842 100644 (file)
@@ -35,6 +35,7 @@ unsigned short NatPingInterval = CM_CONN_NATPINGINTERVAL;
 
 afs_uint32 cryptall = 0;
 afs_uint32 cm_anonvldb = 0;
+afs_uint32 rx_pmtu_discovery = 0;
 
 void cm_PutConn(cm_conn_t *connp)
 {
@@ -1189,7 +1190,9 @@ static void cm_NewRXConnection(cm_conn_t *tcp, cm_ucell_t *ucellp,
      * Let the Rx library know that we can auto-retry if an
      * RX_MSGSIZE error is returned.
      */
-    rx_SetMsgsizeRetryErr(tcp->rxconnp, RX_MSGSIZE);
+    if (rx_pmtu_discovery)
+        rx_SetMsgsizeRetryErr(tcp->rxconnp, RX_MSGSIZE);
+
     /*
      * Attempt to limit NAT pings to the anonymous file server connections.
      * Only file servers implement client callbacks and we only need one ping
index 54b5e9a284ad283a11ff057b739b452025a775a3..c138b692d88abe6b2da28629d6816cd9a1d325cc 100644 (file)
@@ -27,6 +27,7 @@
 extern unsigned short ConnDeadtimeout;
 extern unsigned short HardDeadtimeout;
 extern DWORD          RDRtimeout;
+extern afs_uint32     rx_pmtu_discovery;
 
 typedef struct cm_conn {
        struct cm_conn *nextp;          /* locked by cm_connLock */