Subject: kern/21190: wm(4)'s IPv4 checksum offloading broken in NetBSD 1.6.1
To: None <>
From: Matthias Scheler <>
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
>Release:        NetBSD 1.6.1
Matthias Scheler                        
System: NetBSD 1.6.1 NetBSD 1.6.1 (COLWYN) #0: Sun Apr 13 15:39:49 CEST 2003 i386
Architecture: i386
Machine: i386
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.

Try to ping a NetBSD 1.6.1 system via a wm(4) interface where the
"ip4csum" capability is enabled.

Pullup necessary fix from NetBSD-current.