windows-rx_mtu-20050404
authorJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 5 Apr 2005 03:16:43 +0000 (03:16 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 5 Apr 2005 03:16:43 +0000 (03:16 +0000)
cmdebug -addr should report the rx_mtu size if it is set and less than
the actual mtu size

src/WINNT/afsd/afsd.h
src/WINNT/afsd/afsd_init.c
src/WINNT/afsd/cm_callback.c

index 749aac5..5c7c8ff 100644 (file)
@@ -121,6 +121,8 @@ extern int cm_fakeDirVersion;                               // the version number of the root.afs directory
 extern int cm_dnsEnabled;
 extern int cm_freelanceEnabled;
 
+extern long rx_mtu;
+
 #define CAPABILITY_ERRORTRANS (1<<0)
 #define CAPABILITY_BITS 1
 
index 38e5241..94d68e8 100644 (file)
@@ -59,7 +59,7 @@ int LANadapter;
 
 int numBkgD;
 int numSvThreads;
-
+long rx_mtu = -1;
 int traceOnPanic = 0;
 
 int logReady = 0;
@@ -538,7 +538,7 @@ int afsd_InitCM(char **reasonP)
     long traceBufSize;
     long maxcpus;
     long ltt, ltto;
-    long rx_mtu, rx_nojumbo;
+    long rx_nojumbo;
     long virtualCache = 0;
     char rootCellName[256];
     struct rx_service *serverp;
index 19606a0..37771db 100644 (file)
@@ -964,11 +964,11 @@ SRXAFSCB_WhoAreYou(struct rx_call *callp, struct interfaceAddr* addr)
     for ( i=0; i < cm_noIPAddr; i++ ) {
         addr->addr_in[i] = cm_IPAddr[i];
         addr->subnetmask[i] = cm_SubnetMask[i];
-        addr->mtu[i] = cm_NetMtu[i];
+        addr->mtu[i] = (rx_mtu == -1 || (rx_mtu != -1 && cm_NetMtu[i] < rx_mtu)) ? 
+            cm_NetMtu[i] : rx_mtu;
     }
-    
-    MUTEX_EXIT(&callp->lock);
 
+    MUTEX_EXIT(&callp->lock);
     return 0;
 }
 
@@ -1123,7 +1123,8 @@ SRXAFSCB_TellMeAboutYourself( struct rx_call *callp,
     for ( i=0; i < cm_noIPAddr; i++ ) {
         addr->addr_in[i] = cm_IPAddr[i];
         addr->subnetmask[i] = cm_SubnetMask[i];
-        addr->mtu[i] = cm_NetMtu[i];
+        addr->mtu[i] = (rx_mtu == -1 || (rx_mtu != -1 && cm_NetMtu[i] < rx_mtu)) ? 
+            cm_NetMtu[i] : rx_mtu;
     }
 
     dataBytes = 1 * sizeof(afs_int32);
@@ -1133,7 +1134,6 @@ SRXAFSCB_TellMeAboutYourself( struct rx_call *callp,
     capabilities->Capabilities_val = dataBuffP;
 
     MUTEX_EXIT(&callp->lock);
-
     return 0;
 }