Subject: 1.5.3_ALPHA networking problems
To: None <netbsd-help@netbsd.org>
From: Jeff Workman <jworkman@pimpworks.org>
List: netbsd-help
Date: 03/06/2002 13:03:31
All,

I just compiled 1.5.3_ALPHA on my AlphaServer 4100, and it was causing 
networking problems. My LAN is setup kinda weird, due to the problems I 
asked about in...

http://mail-index.netbsd.org/netbsd-help/2001/12/29/0003.html

As it turned out, this seemed to not only be a problem with Linux, but also 
Solaris and NetBSD machines that were behind the Linksys.  Seems like it's 
some sort of idiosyncracy with my DSL line.  The workaround, was to set the 
mtu on all of my machines behind the Linksys to 1412.  For some reason, 
setting the mtu on the Linksys itself to 1412 just broke more stuff.

This worked fine with the kernel I had been running on the AlphaServer 
(1.5W), but after booting the 1.5.3_ALPHA kernel, things begin to break. 
The kernel started discarding all frames that were < mtu, which caused most 
connections to timeout.

The workaround I have put in place was to comment out this block of code 
from /usr/src/sys/net/if_ethersubr.c:

/*      if (m->m_pkthdr.len >
            ETHER_MAX_FRAME(ifp, etype, m->m_flags & M_HASFCS)) {
                printf("%s: discarding oversize frame (len=%d)\n",
                    ifp->if_xname, m->m_pkthdr.len);
                m_freem(m);
                return;
        }
*/

This works, but I'm sure that there's going to be a kernel panic if 
somebody manages to get a very large frame across the wire to this machine. 
Being the non-programmer that I am, I don't know what else to do, though. 
Any suggestions? Maybe something I can set with sysctl?

Jeff

--
Jeff Workman | jworkman@pimpworks.org | http://www.pimpworks.org