From owner-freebsd-hackers Fri May 31 11:24:20 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from ns.aus.com (adsl-64-175-247-148.dsl.sntc01.pacbell.net [64.175.247.148]) by hub.freebsd.org (Postfix) with ESMTP id 3D71037B405 for ; Fri, 31 May 2002 11:24:13 -0700 (PDT) Received: from localhost (rsharpe@localhost) by ns.aus.com (8.11.6/8.11.6) with ESMTP id g4VJYK203241; Sat, 1 Jun 2002 05:04:20 +0930 Date: Sat, 1 Jun 2002 05:04:20 +0930 (CST) From: Richard Sharpe To: mark tinguely Cc: Subject: Re: broadcast packets not reaching sender on if_hwassist capable interfaces In-Reply-To: <200205311809.g4VI9QA82897@web.cs.ndsu.nodak.edu> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Fri, 31 May 2002, mark tinguely wrote: > > Summary: FreeBSD 4.3 Broadcast IP datagrams not looping on Broadcom GigE > card. > > > Also, why is the decision to loop the packet back made in ether_output > > rather than in ip_output? Off the top of my head I can't see any > > particular advantage, but perhaps there is. The disadvantage is that I > > will have to disable hardware assist for broadcast packets to make things > > work right. > > the bge sets the interface output to be ether_output() which is > called from the ip_output() after all thse flags have been set.. Two things I forgot to mention: 1. The driver we are using is a Broadcom propietary driver, not the BGE driver. 2. Our driver is mistakenly setting the device as being in SIMPLEX mode :-) And, I realized in the shower this morning, if you have to calculate the checksums on-board for any reason for that packet, there is no point in having the checksums calculated twice. > Are these packets that fail part of a IP fragment? m_copy does not copy > the hwassist flags. we see the same problem with multicast packets. > Bill Fenner wrote a simular multicast patch before FreeBSD 4.5-RELEASE, > but even that fix has not been included into the tree yet either. > In ip_output, we should either we need to copy the hwassist flag in > _copy or in the code that follows a m_copy, or force the checksum > calculations. Yes. We are investigating fixing our driver to make sure that it sets DUPLEX mode since our switch is capable of it. > if your packets are not part of a fragment, then let me know. Nope, but thanks for your reply. Regards ----- Richard Sharpe, rsharpe@ns.aus.com, rsharpe@samba.org, sharpe@ethereal.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message