[OpenAFS-devel] .35 sec rx delay bug?

chas williams - CONTRACTOR chas@cmf.nrl.navy.mil
Tue, 07 Nov 2006 07:22:29 -0500


In message <Pine.GSO.4.61-042.0611061324210.26418@johnstown.andrew.cmu.edu>,Der
rick J Brashear writes:
>Did you have jumbograms enabled? If you disable them, but leave the mtu at 
>9000, are things better? I bet they are.

yes this would fix the problem.  looking at some other traces from jim,
the server rx packets that are bigger than a standard ethernet mtu
are not getting through.  some intermediate router is refusing to
fragment the udp packets (or is doing it wrong).  these packets never
get acked so you need to wait for the 350ms retransmit timer.

this isnt the first time i have heard of a router refusing to fragment
udp.  while it would be nice to just say "jumbograms are evil", those on
the same subnet (or with the same mtu on another network) can probably
benefit from jumbograms.  the rules for jumbograms are:

/* When sending packets we need to follow these rules:
 * 1. Never send more than maxDgramPackets in a jumbogram.
 * 2. Never send a packet with more than two iovecs in a jumbogram.
 * 3. Never send a retransmitted packet in a jumbogram.
 * 4. Never send more than cwind/4 packets in a jumbogram
...

perhaps we need a rule 5:  If the local mtu is greater than the
remote mtu, do not exceed the remote mtu.  remote mtu should really
be path mtu but this fix would be start.