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, [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message