Thomas Klausner wrote: >On Sat, Sep 13, 2014 at 09:40:35AM +0100, Robert Swindells wrote: >> >#8 0xffffffff804c3b5e in in_delayed_cksum (m=0xffff8003393c8000) at >> >/archive/foreign/src/sys/netinet/ip_output.c:791 >> >Backtrace stopped: previous frame inner to this frame (corrupt stack?) >> > >> >This does not really look like useful information, does it? >> >> Can you tell which protocol family you were using at the time ? > >I'm nfs-mounting via wm0: >wm0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 > capabilities=7ff80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx> > capabilities=7ff80<TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx,TCP6CSUM_Rx> > capabilities=7ff80<TCP6CSUM_Tx,UDP6CSUM_Rx,UDP6CSUM_Tx,TSO6> > enabled=0 > ec_capabilities=7<VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU> > ec_enabled=0 > address: ... > media: Ethernet autoselect (1000baseT > full-duplex,flowcontrol,rxpause,txpause) > status: active > inet ... > inet6 ...
I just added a wm card to my main system and it seems solid with all the offload features turned on, even TSO. Obviously it doesn't help with finding any problem in the kernel. >My /etc/fstab has IPv4 addresses for the NFS mounts, like this: > >192.168.1.2:/volume1/music /disk/music nfs >intr,nodev,nosuid,rw,soft,tcp > >So it should be IPv4 only. And TCP, I was using UDP over IPv6. A common factor is writing to NFS though. >> I was regularly getting a similar crash when using NFS over IPv6, this >> was with a network controller that only offloads checksumming for IPv4, >> the in_delayed_cksum() function is where the network stack does the >> checksum in software. >> >> I confess that the current way that I'm trying to fix it is by >> switching to a network card with hardware checksumming for both IPv4 >> and IPv6. > >From the capabilities cited above, my card already should do that, right? No, the enabled=0 means they are all turned off. To turn on the checksumming you can run: # ifconfig wm0 ip4csum udp4csum tcp4csum udp6csum tcp6csum Or put the options in you /etc/ifconfig.wm0 file. Don't do this if you are using bridge(4) on this machine. Robert Swindells