Subject: kern/21203: wm(4) misshandles fragmented IP packets with enabled hardware checksum
To: None <gnats-bugs@gnats.netbsd.org>
From: Matthias Scheler <tron@colwyn.zhadum.de>
List: netbsd-bugs
Date: 04/16/2003 15:08:24
>Number:         21203
>Category:       kern
>Synopsis:       wm(4) misshandles fragmented IP packets with enabled hardware checksum
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Apr 16 13:09:01 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     
>Release:        NetBSD 1.6R
>Organization:
Matthias Scheler                                  http://scheler.de/~matthias/
>Environment:
System: NetBSD lyssa.zhadum.de 1.6R NetBSD 1.6R (LYSSA) #0: Wed Apr 16 11:47:13 CEST 2003 tron@lyssa.zhadum.de:/src/sys/compile/LYSSA i386
Architecture: i386
Machine: i386
>Description:
Markus Kilbinger told me about a problem with handling fragmented IP packets
in wm(4) which I can easily reproduce with this card ...

wm0 at pci2 dev 9 function 0: Intel i82540EM 1000BASE-T Ethernet, rev. 2
wm0: interrupting at apic 2 int 21 (irq 9)
wm0: Ethernet address 00:07:e9:0e:b9:a8
makphy0 at wm0 phy 1: Marvell 88E1011 Gigabit PHY, rev. 3

... under NetBSD 1.6.1 and 1.6R:

A "ping -s 4096 ..." from a machine using wm(4) with hardware checksums
enabled works fine. But if you send such ICMP packets to the wm(4) system
"ping" will never get any answers unless you disable *all* hardware
checksum features.

>How-To-Repeat:
"ping -s 4096 machine" where "machine" uses a wm(4) interface with hardware
checksums enabled.

>Fix:
Not known yet.

>Release-Note:
>Audit-Trail:
>Unformatted: