em driver sending bad packet lengths
Kris Kennaway
kris at FreeBSD.org
Sun Oct 14 02:50:54 PDT 2007
Kris Kennaway wrote:
> I am seeing the em driver on 7.0 sending packets with bad UDP (and
> apparently sometimes IP) packet length fields. This is from UDP NFS
> traffic (90MB/sec over gige). These packets are dropped on reception by
> the kernel and counted.
I think this is due to rollover of the ip id combined with fragmented
packet loss. When a fragment is missing the packet is queued in the
hope it will arrive later, but we keep it queued for 30 seconds! In
that time the server may roll over the 16 bit ipid thousands or tens of
thousands of times, and if those new packets are fragmented they will be
recombined with the queued packets. The recombined hybrid packets will
mostly have the wrong length or checksum (but 1/65536 of them will
randomly have the correct UDP checksum, so this is not just a cosmetic
issue).
Kris
More information about the freebsd-net
mailing list