IP fragmentation disagreement between current and stable

Don Lewis truckman at FreeBSD.org
Tue Apr 22 15:13:12 PDT 2003


On 22 Apr, Mike Silbersack wrote:
> 
> On Tue, 22 Apr 2003, Don Lewis wrote:
> 
>> will contain 222 bytes of data.  With a 14 byte Ethernet header and a 20
>> byte IP header, that just fits into one 256 byte mbuf.  I wonder if
>> there is a divide by 4 to calculate the number of words, and the
>>
>> Could this be a driver problem instead of a problem in the stack itself?
>> Both ends are fxp cards.
> 
> A similar problem was found with Via Rhine chips, where having multiple
> packets exactly fill up the internal FIFO seemed to cause those packets to
> be dropped.  Naturally, this only cropped up with fragmented ping packets
> of certain lengths.  We never bothered patching it because, well, no clear
> solution presented itself, and it wouldn't occur in normal usage.
> (Actually, changing from store and forward back to smaller DMA sizes might
> have fixed it, I'm not sure.)
> 
> So, I would not rule out the possibility of a driver / chipset bug.

That looks like the most likely problem.  I swapped in an ancient de
card on the -current box, and now it works.  The fxp card that is is
causing problems is a fairly recent Pro/100S desktop card that has an
IBM OEM part number.

I bought two of these cards from the same source over a period of
several months, and both have another oddity.  Neither one is probed by
either the BIOS or the OS after a power-on cold boot.  Not even the
Intel diagnostic .exe program sees them.  Hitting reset during the boot
sequence or doing a reboot from the OS seems to reset something that
allows the cards to work.  I had to swap out the other card from the
system that it was in and replace it with an older fxp that I had on
hand because that system needed to be able to boot unattended after a
power failure.

I try the other card to see if it exhibits the same packet size problem.
I'll also try a different flavor fxp, but that'll take some doing since
the only remaining spare is on an older Asus motherboard that is on box
running -stable.


More information about the freebsd-net mailing list