Subject: port-next68k/13212: next68k ethernet can't receive large packets
To: None <>
From: None <>
List: netbsd-bugs
Date: 06/14/2001 18:57:58
>Number:         13212
>Category:       port-next68k
>Synopsis:       next68k ethernet can't receive large packets
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-next68k-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Jun 14 18:56:00 PDT 2001
>Originator:     Chuck Silvers
>Release:        NetBSD-current 2001/06/14
System: NetBSD 1.5W NetBSD 1.5W (SLAB.CHUQ) #47: Thu Jun 14 18:51:00 PDT 2001 next68k


next68k xe0 interface can no longer receive large packets.
they are dropped with the message:

	xe0: discarding oversize frame (len=1518)

the code which does this is in ether_input():

	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);

ETHER_MAX_FRAME() was recently changed to use the interface's MTU in the
upper-bound computation instead of ETHERMTU.  the xe0/mb8795 code has this
bit in mb8795_config():

	/* decrease the mtu on this interface to deal with
	 * alignment problems
	ifp->if_mtu -= 16;

so the ether code rejects the packet because it is larger than the MTU allows.


turn on your next68k box