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