Subject: wm* hardware assist breaking gif tunnels
To: None <tech-net@netbsd.org>
From: John Klos <john@ziaspace.com>
List: tech-net
Date: 09/04/2007 19:56:31
Hi, all,

I just wrote this LONG email explaining that I couldn't figure out why my 
gif tunnels weren't working, only to figure it out as I got near the end 
of the email.

When I use the ip4csum option on the interface over which the gif tunnel 
communicates, IPv6 over the tunnel stops working. tcpdump shows the 
packets coming in, then shows the packets going out, but they never make 
it onto the actual wire. Local IPv6 works fine, as does all IPv4.

This is happening on macppc, i386, and amd64, all running netbsd-4, with 
several versions of wm* cards.

None of the tcp4csum udp4csum tcp6csum-tx udp6csum-tx tso4 options have 
any effect on whether ip4csum kills IPv6.

I don't see any specific PRs referencing this. Does anyone have a good 
idea on where to start, or does anyone have other systems on which to test 
this?

One wm*:

wm0 at pci1 dev 6 function 0: Intel i82541PI 1000BASE-T Ethernet, rev. 5APC1: Picked IRQ 16 with weight 0
wm0: interrupting at ioapic0 pin 16 (irq 3)
wm0: 32-bit 33MHz PCI bus
wm0: 64 word (6 address bits) MicroWire EEPROM
wm0: Ethernet address 00:1b:21:06:b9:5f
igphy0 at wm0 phy 1: Intel IGP01E1000 Gigabit PHY, rev. 0
igphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto

Another:

wm0 at pci2 dev 0 function 0: Intel i82573L Gigabit Ethernet, rev. 0
wm0: interrupting at ioapic0 pin 17 (irq 11)
wm0: PCI-Express bus
wm0: 256 word (8 address bits) SPI EEPROM
wm0: Ethernet address 00:50:8d:93:2a:1c
makphy0 at wm0 phy 1: Marvell 88E1111 Gigabit PHY, rev. 2
makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto

There are others, too, which exhibit the same problem. I'll be happy to 
plug them in if the information is useful.

Thanks,
John Klos