Subject: kern/25096: kernels with DIAGNOSTIC can't use rarp to boot with some network drivers
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <martin@aprisoft.de>
List: netbsd-bugs
Date: 04/07/2004 21:03:23
>Number: 25096
>Category: kern
>Synopsis: kernels with options DIAGNOSTIC can't use rarp to boot with some network drivers
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Apr 07 19:04:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator: Martin Husemann
>Release: NetBSD 2.0_BETA
>Organization:
>Environment:
System: NetBSD emmas.aprisoft.de 2.0_BETA NetBSD 2.0_BETA (EMMAS) #0: Wed Apr 7 12:44:53 CEST 2004 martin@emmas.aprisoft.de:/usr/src/sys/arch/i386/compile/EMMAS i386
Architecture: sparc
Machine: sparc
>Description:
When netbooting a sparc via the be0 interface. The following section from
sys/dev/sbus/be.c is hit:
#ifdef DIAGNOSTIC
if (len < ETHER_MIN_LEN || len > ETHER_MAX_LEN + ETHERCAP_VLAN_MTU) {
printf("%s: invalid packet size %d; dropping\n",
ifp->if_xname, len);
ifp->if_ierrors++;
return;
}
#endif
and complains about 60 byte "rarp reply" packets. This looks like FCS not
being counted in len, but supposed to be at the ETHER_MIN_LEN definition.
I did not do a complete audit, but it looks like this problem would exist
for several network drivers.
>How-To-Repeat:
Code inspection.
>Fix:
Decide, if FCS is included in ETHER_MIN_LEN and make it consistently so.
>Release-Note:
>Audit-Trail:
>Unformatted: