[OpenAFS-devel] Re: [OpenAFS] OpenAFS, Cisco VPN and MAC OS and mtu

Douglas E. Engert deengert@anl.gov
Fri, 22 May 2009 14:36:45 -0500


This is a multi-part message in MIME format.
--------------030200060907000803020006
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit



Derrick Brashear wrote:
> On Fri, May 15, 2009 at 4:37 PM, Douglas E. Engert <deengert@anl.gov> wrote:
>> We are having problems with Mac OS 10.4 and 10.5  using Cisco VPN
>> AFS can become unusable.  Mac 10.4 is running OpenAFS 1.4.8 for sure.
>> I think the Mac 10.5 is running OpenAFS 1.5.59.
>>
>> Using rxdebug and looking at the natMTU parameter, on most Unix systems
>> this is 1444,(1500 - 56) as expected. On Windows systems this is usually
>> 1260.  And on MAC it is 1444.
>>
>> Even if I set the interface mtu 1244, and reboot the MAC, rxdebug shows
>> the interface is using 1244 but rxdebug continues to show a natMTU = 1444.
>> as though it still assumed the mtu was 1500.
>>
>> So it looks like the MAC client is not getting the existingMTU
>> from the OS in util/netutils.c
> 
> are you willing to test a patch?
> 

Looking closer and doing some testing, rx_kcommon.c appears to use
in a number of places when it can not determine what interface will be use:

pp->ifMTU = RX_REMOTE_PACKET_SIZE

In rx_packet.h:
#define RX_REMOTE_PACKET_SIZE   (1500 - RX_IPUDP_SIZE)

This is based on 1500 as an MTU. But in the case of the VPN, the MTU
needs to be smaller, like 1300 so the pp->ifMTU  should be 1244.

I would suspect that the RX_REMOTE_PACKET_SIZE should at least be based
on the smallest MTU of any interface that might be used. The Windows version
of AFS added the registry rxMaxMtu which get around this same type of problem.
Maybe all systems should have this capability?

Using  the attached patch on 1.4.10  MacOS 10.4.11 I can at least get the
ifMTU and natMTU set to 1244, (and need to test with the VPN.)


-- 

  Douglas E. Engert  <DEEngert@anl.gov>
  Argonne National Laboratory
  9700 South Cass Avenue
  Argonne, Illinois  60439
  (630) 252-5444

--------------030200060907000803020006
Content-Type: text/plain;
 name="rx_kcommon.c.patch.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="rx_kcommon.c.patch.txt"

--- ,rx_kcommon.c	Fri Mar 27 10:55:45 2009
+++ rx_kcommon.c	Fri May 22 13:14:22 2009
@@ -441,7 +441,7 @@
     } else {			/* couldn't find the interface, so assume the worst */
 	pp->timeout.sec = 3;
 	/* pp->timeout.usec = 0; */
-	pp->ifMTU = RX_REMOTE_PACKET_SIZE;
+	pp->ifMTU = RX_REMOTE_PACKET_SIZE-200;
     }
 #endif /* else AFS_USERSPACE_IP_ADDR */
 #else /* AFS_SUN5_ENV */

--------------030200060907000803020006--