[OpenAFS-devel] rx mtu fix

Jim Rees rees@umich.edu
Tue, 28 Jan 2003 18:15:23 -0500


I decided to take a conservative approach, since no one understands how rx
works.  So what I'm checking in only fixes the obvious bugs.

rxi_FindIfnet will now return NULL if it can't find a match, instead of
returning the first interface on the list.  My testing on OpenBSD shows that
the first interface is always wrong.  I think sometimes it's even the
loopback interface, which has an mtu of 32K.  You might make a case for
choosing the interface of the default route, but I'm not sure that's right
and I don't know how to find it.

rxi_FindIfnet still checks the (in my opinion) useless net and subnet.  On
some systems this is ok because these are set to the actual subnet.  Maybe
it's time to bring back the dreaded subnetsAreLocal.

But I don't care, because I also changed the #ifdefs around the alternate
version of rxi_FindIfnet.  This alternate version was only being used for
Darwin 60, but now is used by XBSD.  It calls ifa_ifwithnet(), which does
the right thing.

I also removed a surprising amount of dead code and unused args.

I decided not to pursue path mtu, at least for now.

Please test this, especially on Sun, SGI, and Darwin.  Report problems to
me.