Date: Sun, 14 Oct 2007 11:50:51 +0200 From: Kris Kennaway <kris@FreeBSD.org> To: Kris Kennaway <kris@FreeBSD.org> Cc: freebsd-net@freebsd.org, Jack Vogel <jfvogel@gmail.com> Subject: Re: em driver sending bad packet lengths Message-ID: <4711E67B.7040806@FreeBSD.org> In-Reply-To: <470FBC05.6010601@FreeBSD.org> References: <470FBC05.6010601@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4711E67B.7040806>