From owner-freebsd-sparc64@FreeBSD.ORG Mon Mar 20 23:57:30 2006 Return-Path: X-Original-To: freebsd-sparc64@freebsd.org Delivered-To: freebsd-sparc64@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4B5D616A420 for ; Mon, 20 Mar 2006 23:57:30 +0000 (UTC) (envelope-from pyunyh@gmail.com) Received: from zproxy.gmail.com (zproxy.gmail.com [64.233.162.207]) by mx1.FreeBSD.org (Postfix) with ESMTP id B3D5243D48 for ; Mon, 20 Mar 2006 23:57:29 +0000 (GMT) (envelope-from pyunyh@gmail.com) Received: by zproxy.gmail.com with SMTP id l8so1302183nzf for ; Mon, 20 Mar 2006 15:57:28 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:date:from:to:cc:subject:message-id:reply-to:references:mime-version:content-type:content-disposition:in-reply-to:user-agent; b=V39wYYjsNMbkzT9nmK8H3cIIEgmeho5v/pBqmeEhGOSF9YVaA47FxOpi1kOw+YQBJtGhj7YjQdFnez4TUevQnjP4s5q8EN3ZE2uNQ+bhy3MRhuo1l29dcDe4UgtfJvHhKPESEoToiYh042jWh7SugigTv4V2swdEqgoBGE6FutI= Received: by 10.36.38.8 with SMTP id l8mr1168557nzl; Mon, 20 Mar 2006 15:57:28 -0800 (PST) Received: from michelle.cdnetworks.co.kr ( [211.53.35.84]) by mx.gmail.com with ESMTP id 15sm3819549nzo.2006.03.20.15.57.27; Mon, 20 Mar 2006 15:57:28 -0800 (PST) Received: from michelle.cdnetworks.co.kr (localhost.cdnetworks.co.kr [127.0.0.1]) by michelle.cdnetworks.co.kr (8.13.5/8.13.5) with ESMTP id k2KNvXDA079391 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 21 Mar 2006 08:57:33 +0900 (KST) (envelope-from pyunyh@gmail.com) Received: (from yongari@localhost) by michelle.cdnetworks.co.kr (8.13.5/8.13.5/Submit) id k2KNvWHF079390; Tue, 21 Mar 2006 08:57:32 +0900 (KST) (envelope-from pyunyh@gmail.com) Date: Tue, 21 Mar 2006 08:57:32 +0900 From: Pyun YongHyeon To: Joerg Wunsch Message-ID: <20060320235732.GA79203@cdnetworks.co.kr> References: <20060320211720.GB31216@uriah.heep.sax.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060320211720.GB31216@uriah.heep.sax.de> User-Agent: Mutt/1.4.2.1i Cc: freebsd-sparc64@freebsd.org Subject: Re: hme(4) broken on non-sparc64 systems in -current X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: pyunyh@gmail.com List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Mar 2006 23:57:30 -0000 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