IP fragmentation disagreement between current and stable

Don Lewis truckman at FreeBSD.org
Tue Apr 22 22:52:26 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.

It's starting to smell like a bug in the -current fxp driver.  The de
card I tried works ok.  The other fxp card I tried with the same part
number fails.  I'd forgotten that I had a Red Hat 7.3 partition on this
box, so I reinstalled the fxp card and booted Red Hat and I was able to
ping the box, but that isn't quite as interesting as I had hoped because
Linux sends out the fragments in the reverse order.  I also moved the
fxp card to a 4.8-stable box and it worked fine there too.  The only
things I haven't tried are the D-Link card I stumbled across, and I
haven't tried booting current on one of my older machines that has an
fxp port on the motherboard.

The fact that tcpdump on the -current box doesn't show the problem also
makes me think that the problem isn't in the IP stack.


More information about the freebsd-net mailing list