Subject: FDDI MTU confusion
To: None <current-users@netbsd.org>
From: Hal Murray <murray@pa.dec.com>
List: current-users
Date: 04/17/1999 00:47:20
Unlike Ethernet, the MTU for IP over FDDI rounded down a bit from 
the raw hardware MTU.  See RFC 1188 for the details. 

On a NetBSD system, netstat shows the MTU for an FDDI card to be 
4470.  The MTU for IP packets is only 4352.  That's what netstat 
shows on DUnix system.  As you probably guessed by now, NetBSD systems 
can't talk to DUnix systems without some fiddling. 

Is this a well known problem?  It's easy to work around by setting 
the mtu in /etc/ifconfig.fpa*, but that seems pretty ugly to me.

I don't know my way around the data structures.  Is there only one 
MTU per device, or is there a separate one for each protocol?  (I'd 
guess there is only one since ifconfig doesn't seem have a way to 
specify which one it is setting.) 

  fpa0  4352  <Link>        00:00:f8:ef:81:ca      201     0       99     0     0
  fpa0  4352  10.0.2/24     10.0.2.83              201     0       99     0     0


A simple fix that would work for IP is to use FDDIIPMTU rather than 
FDDIMTU during initialization.  That might break some other protocol. 
(I'm not suggesting any changes for 1.4 - just trying to understand 
things.) 


.../net/if_fddi.h contains the following:
#define FDDIIPMTU               4352
#define FDDIMTU                 4470

FDDIMTU is used to initialize the MTU slot and as a limit check when 
setting the MTU (via ifconfig).  I haven't been able to find any 
references to FDDIIPMTU. 

-----

NetBSD<=>DUnix over FDDI seems happy after I used ifconfig to fixup 
the MTU. 

Is there any way to get an FDDI driver to use full duplex mode?  
I couldn't find a way and I couldn't find anything in the sources 
that looks interesting.  If not, we should probably add a note to 
the supported hardware listing.