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

Reply via email to