Subject: kern/21190: wm(4)'s IPv4 checksum offloading broken in NetBSD 1.6.1
To: None <gnats-bugs@gnats.netbsd.org>
From: Matthias Scheler <tron@colwyn.zhadum.de>
List: netbsd-bugs
Date: 04/15/2003 09:55:19
>Number:         21190
>Category:       kern
>Synopsis:       wm(4)'s IPv4 checksum offloading broken in NetBSD 1.6.1
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Apr 15 07:56:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     
>Release:        NetBSD 1.6.1
>Organization:
Matthias Scheler                                  http://scheler.de/~matthias/
>Environment:
System: NetBSD colwyn.zhadum.de 1.6.1 NetBSD 1.6.1 (COLWYN) #0: Sun Apr 13 15:39:49 CEST 2003 tron@colwyn.zhadum.de:/src/sys/compile/COLWYN i386
Architecture: i386
Machine: i386
>Description:
I've got an Intel PRO/1000MT Desktop Adapter in a NetBSD-i386 1.6.1 system
which is recognized like this:

wm0 at pci0 dev 10 function 0: Intel i82540EM 1000BASE-T Ethernet, rev. 2
wm0: interrupting at irq 12
wm0: Ethernet address 00:07:e9:0e:bb:33
makphy0 at wm0 phy 1: Marvell 88E1011 Gigabit PHY, rev. 3

If I enable hardware-assisted IPv4 header checksums via "ifconfig wm0 ip4csum"
the machine cannot receive ICMP packets. They are dropped and this kernel
message appears:

wm0: wm_tx_cksum: need to m_pullup, packet dropped

An identical card works without problems in a NetBSD 1.6R system. It seems
that some of the hardware offload fixes need to be pulled up.

>How-To-Repeat:
Try to ping a NetBSD 1.6.1 system via a wm(4) interface where the
"ip4csum" capability is enabled.

>Fix:
Pullup necessary fix from NetBSD-current.

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