Date: Tue, 21 Mar 2006 08:57:32 +0900 From: Pyun YongHyeon <pyunyh@gmail.com> To: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de> Cc: freebsd-sparc64@freebsd.org Subject: Re: hme(4) broken on non-sparc64 systems in -current Message-ID: <20060320235732.GA79203@cdnetworks.co.kr> In-Reply-To: <20060320211720.GB31216@uriah.heep.sax.de> References: <20060320211720.GB31216@uriah.heep.sax.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Mar 20, 2006 at 10:17:21PM +0100, Joerg Wunsch wrote: > Even though this problem is not related to sparc64 system (I hope, the > least), I think all those who know about hme(4) are listening here. > > I used to run a PCI QFE card in my (i386) scratch machine at home, for > various experiments. After upgrading the machine from a 6-stable of > about a year ago to -current, the QFE ceased to work. The symptoms > were that I could still ping anyone (even with large packets), but all > TCP and UDP traffic seemingly didn't ``arrive'' at the IP stack, even > though the packets made it into the NIC at the lowest level (so > tcpdump could still display them). > > This made me suspect the TCP/UDP checksum offloading, and indeed, > after uncommenting the checksum capability: > > Index: if_hme.c > =================================================================== > RCS file: /home/ncvs/src/sys/dev/hme/if_hme.c,v > retrieving revision 1.46 > diff -u -r1.46 if_hme.c > --- if_hme.c 17 Jan 2006 06:02:22 -0000 1.46 > +++ if_hme.c 20 Mar 2006 20:56:54 -0000 > @@ -340,9 +340,9 @@ > * Tell the upper layer(s) we support long frames/checksum offloads. > */ > ifp->if_data.ifi_hdrlen = sizeof(struct ether_vlan_header); > - ifp->if_capabilities |= IFCAP_VLAN_MTU | IFCAP_HWCSUM; > + ifp->if_capabilities |= IFCAP_VLAN_MTU /* | IFCAP_HWCSUM */; > ifp->if_hwassist |= sc->sc_csum_features; > - ifp->if_capenable |= IFCAP_VLAN_MTU | IFCAP_HWCSUM; > + ifp->if_capenable |= IFCAP_VLAN_MTU /* | IFCAP_HWCSUM */; > return (0); > > fail_txdesc: > > everything works again. If anyone has any further ideas what might > have broken this, I'm all ears, otherwise I might start digging down > into the code myself. > > (I don't have a FreeBSD-sparc64 machine running -current around, so I > cannot test right now whether it would work there.) > How about backing out rev. 1.46(if_hme.c)? For the same patch sent to bard@OpenBSD I got a positive report so it's strange to me though.(brad@OpenBSD reported Rx checksum offload breakage on little endian systems.) Since I don't have PCI HME NIC I can't test it on little endian systems. :-( -- Regards, Pyun YongHyeon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060320235732.GA79203>