]> 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)
committerJeffrey Altman <jaltman@openafs.org>
Sat, 23 Oct 2010 19:56:28 +0000 (12:56 -0700)
Disable PMTU discovery by default.  Permit it to be enabled
with the RxPMTUDiscovery TransarcAFSDaemon\Parameter value.

LICENSE MIT

Change-Id: I0529a77e288ba8cd6cf8d0c2e2e9c0c8e6e0f6ff
Reviewed-on: http://gerrit.openafs.org/3032
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>
Tested-by: Jeffrey Altman <jaltman@openafs.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 */